13 stories

Null Value

1 Comment

We all learn that open source licenses make open source community possible. And then we learn they’re the one piece of that community we’re not to touch. Flame about them? Sure. Hack on them? Forget about it.

We all learn the origin stories of GNU and Free Software. How hacker spirit and some clever lawyering turned copyright around on itself, and stuck it to the NDA-wielding, binary-distributing Man. And at some point, we all gather that those brash, creative days are over. That we’re best off picking one of the songbook standards—MIT, BSD, GPL for the brave and true—faithfully reproducing onto our code, and praying to the Law Gods for no more than our just share of drama.

The hood of the license machine is welded shut. Standards have come to nest inside. Tooling and Best Practices have rusted it over. The jukebox only plays the hits. Anything else literally does not compute. Mea culpa, mea culpa, mea maxima culpa.

Ossification has coincided with a decline of Free Software spirit. Of course, there is still much great software under the GPLs, and new GPL software every day. But whole sub-industries have gone over nigh on entirely to permissive licenses, often short, crusty ones, and ignored the attribution requirements, to boot. Even GPL people will tell you that AGPL is the real deal, that it squashes a bug in integration with industry reality. Many of the same folks will tell you that, empirically, AGPL is user repellent.

“Don’t write your own license”, they say. And for a thousand good reasons, I usually say so, too. Even to fellow lawyers. Especially to this one.

The net effect has been to drain the verve of license terms as a medium to express and implement community goals, save “trouble us less with law-stuff”. In other words, licenses have devolved to utilitarian tools of hassle reduction. Long permissive licenses harbor all manner of licensee-do lists that we find inconvenient. So we use the shorter ones. Copyleft licenses wax vague and inconvenient. They breed license compatibility issues. So we ditch copyleft. Hither, antilicenses.

When new values and social aims arise—inclusivity, to pick an obvious example, abuzz at the moment—we put them in entirely different files. Privacy, DRM, surveillance, broad patent termination—all relegated to other channels. Attribution, source integrity, taking contributors’ names in vain, project name protection—all in LICENSE, by apparent accident of history.

I lay the main part of the moral evacuation of licensing at copyleft’s feet. The copyleft license authors picked a very hard problem—more noble still for being hard—and plotted a course past many mines nobody knew lay in wait. Teeth rattled.

It’s too easy to pick on the GPLs, which balance the already hard task of getting copyleft right with projecting political statements and pleasing many stakeholders. But even the “corporate” copyleft licenses, which often gained clarity by less stricture and preambulatory warbling, prove hard to interpret and apply. Compatibility issues spring out to snag them. Fuel finds the fire of assignment and contributor licensing kerfuffles.

Copyleft was, at its core, a very, very clever hack. One of the great ones in my profession’s long history. Give a public license, but use conditions to incentivize valued behavior, against the grain of copyright’s prevailing policy view. Brilliant. But about as un-fun and tedious to maintain and apply, long term, as any other hack. Tenuous, unexpected, novel, and weird enough to be indisputably clever. But unexpected behavior from systems not designed with such behavior in mind. And in the end, DRM won. And surveillance. And proprietary platforms. And opaque Software as a Service.

The risk—largely, I think, realized—is generalization from a painful history of implementing Free Software values in license terms via copyleft to a broader, bleaker proposition that licenses aren’t any kind of platform for value implementation. That other than reversing inconvenient legal defaults, license terms aren’t good for anything but dodging inconveniences of law’s own making. That messing with them only breeds life-sucking bother. Case in point, The JSON License.

There are absolutely goals and policies that licenses cannot or should not attempt to ensconce. But licenses aren’t merely a place to register points or set expectations. They’re the interface to the law, which invests coders—making involuntary cameos as copyright holders—with incredible leverage, at an individual level, on problems they otherwise couldn’t budge. There are always limits, but just as open source licenses hobble developers economically, forcing them onto second-rate business plans, they also hobble developers politically, relegating them to softer power for other-than-economic aims they might set out to achieve collectively.

The result is a grotesque extension of industry-friendliness, to an extent I don’t believe the coiners of “Open Source” ever desired or intended. With the exception of GPL “crazies”, whose presence must be tolerated, mostly no thanks to long-serving system software, for-profit users of open source software can grasp and take from a self-selecting heap of raw software material with even less concern for the non-product views and characteristics of open source software developers than employees on payroll. Free—as in beer—software literally falls from the sky. It doesn’t want payroll, insurance, or even, apparently, much respect for its time, previously sunk or presently requested. The give side of this give-take equation suffers much well-financed, lottery-winner-style celebration, to predictable and potentially tragic effect.

One definition of “sustainability” is perpetual harvest at this eat-all-you-can-pick plantation, seeded with proprietary software thrown over the wall, and mulched by a diverse population of code-capable, transient, and short-lived economic microorganisms. That definition also jives with a very hard technical view of Open Source purpose: if good software keeps coming out, Open Source is working, and casualties don’t count. I don’t resonate with that view, personally, but in any event, my professional obligations run to others who see a different way. Other than natural industry alliance, there’s nothing essential or inevitable about it, as the prime meaning of “Open Source”.

If copyleft was version one of hacker values in legal code, it’s no surprise bugs were found and squashed. It would come as no surprise that finding and implementing community values in legal code might evolve as an art. But that takes writing licenses.

Write them. Crazies needed.

Read the whole story
325 days ago
Share this story

Not not

1 Share

This is NOT a post about misnegation, a frequent topic at Language Log.  This is a reflection on the sublimity of nonnegation, which is not quite the same as transcendental affirmation.  It is a linguistic and philosophical inquiry on the absence of nothingness.

First comes the linguistics; at the end comes the philosophy.

In Mandarin, we have expressions such as the following, where the bù 不 doesn't seem to make any sense in terms of its usual signification — "not":

suānbuliūliūde 酸不溜溜的 ("sourish; quite sour")

For that matter, considering that suānbuliūliūde 酸不溜溜的 taken all together means "sourish; quite sour", the liūliū 溜溜 (lit., "slippery-slippery") part doesn't make much sense either.  Note that suān 酸 by itself means "sour".  Clearly, suānbuliūliūde 酸不溜溜的 ("sourish; quite sour")* does not mean exactly the same thing as suān 酸 ("sour"), but adds a special nuance.  The question, then becomes:  what do bù 不 ("not") and liūliū 溜溜 ("slippery-slippery") add to suān 酸 ("sour") that causes it to end up as suānbuliūliūde 酸不溜溜的 with the meaning of "sourish; quite sour")?

[*Mentioned in the "metaphor" chapter of Perry Link, An Anatomy of Chinese:  Rhythm, Metaphor, Politics (Cambridge, MA: Harvard University Press, 2013), esp. pp. 191-93; cited here.]

For the moment, I will avoid a direct answer to that question but will observe that this bù 不 and the lǐ 里 / 裡 (lit., "in") of "tǔlǐtǔqì 土里土气 / 土裡土氣" ("countrified; rustic; uncouth; provincial") — discussed here — are what is known as infixes.**  Infixes are used in other languages too, but in Chinese they are more apt to cause confusion for people with compulsively analytical minds because (unless they happen to be written with a mouth radical, which may indicate that they are being used primarily for their sound) such syllables are written with characters that normally convey semantic content or possess grammatical functionality that is irrelevant in these idiomatic expressions.

[**Mentioned briefly in Yuen Ren Chao, A Grammar of Spoken Chinese (Berkeley, Los Angeles, and London:  University of California Press, 1968), p. 257, where he renders suānbuliūliūde 酸不溜溜的 as "good and sour", and he does the same for expressions formed with the -li- infix, e.g., húlihútude 糊哩糊的 ("good and muddled").]

As further evidence that the liūliū 溜溜 (lit., "slippery-slippery") part of suānbuliūliūde 酸不溜溜的 is not semantically significant in a direct way, let us consider the variant Sinographic forms of this expression:

suānbuliūliū 酸不溜溜 (lit., "sour-not-slippery-slippery")

suānbuliūdiū 酸不溜丢 (lit., "sour-not-slippery-lose / throw")

suānbuliūqiū 酸不溜秋 (lit., "sour-not-slippery-autumn")

They all mean the same thing:  a more intense version of suān 酸 ("sour").

I asked a number of native speakers what they thought bù 不 is doing in these expressions.  Here are some of the responses I received:

1. It's not a marker for negative here. I don't know why the 不 is used here. I think it just represents a sound. Just a guess.

2. I think "不" here definitely doesn't function as a negative. Actually, It might have no meaning, only as modal particle to intensify the suān 酸 ("sour").

3. You are right, 不 is not a negative here. I think it is a particle for emphasis.

Note that suānbuliūliūde 酸不溜溜的 means the same thing as suānliūliūde 酸溜溜的, without the "bu 不" infix, so that is further proof that the "bu 不" doesn't in any way negate the basic meaning of suān 酸 ("sour").

Some other similar expressions:

huībùliūdiū 灰不溜丢 (lit., "gray not slippery lose / throw") or huībuchūliū 灰不出溜 (lit., "gray not emerge slippery"), a kind of gray color that looks dim; dull grey

hēibulājǐ 黑不拉几 (lit., "black not pull several") or hēibuchūliū 黑不出溜 (lit., "black not emerge slippery") or hēibuliūqiū 黑不溜秋 (lit., "black not emerge autumn"), a kind of dim / dull and dusty black

hǎobùkuàihuó 好不快活 (lit., "good not quick live" –> "very not happy"), "very / so happy" [Google Translate understands this, but Baidu Fanyi and Microsoft (Bing) Translator do not]

hǎobùwěi 好不委屈 (lit., "good not entrust injustice" –> "very not wronged"), "[feeling] very wronged / aggrieved / mistreated"

But don't get too confident that you have now mastered the nonnegativity of bù 不, because here's a humdinger for you to mull over for the rest of your life, as I have been pondering this paradox of negativity and positivity for decades:

hǎobùróngyì 好不容易 (lit., "good not allow easy") = hǎoróngyì 好容易 (lit., "good allow easy") = bùróngyì 不容易 ("not easy")!

For example:

Wǒ hǎobù róngyì cái xuéhuì yóuyǒng.


"It was not easy for me to learn how to swim / I spent a lot of time and made great effort to learn how to swim / It was only with great effort that I learned how to swim."

N.B.:  I haven't provided a literal translation of each syllable because you're already familiar enough with the hǎo 好 ("good") and the bù 不 ("not"), and the rest is fairly straightforward.

The previous sentence means the same as this one without the bù 不:

Wǒ hǎo róngyì cái xuéhuì yóuyǒng.


"It was not easy for me to learn how to swim / I spent a lot of time and made great effort to learn how to swim / It was only with great effort that I learned how to swim."

Now, prepare to have your mind completely blown away.

A highly literate native speaker actually sent me this sentence:

Wǒ hǎobù bù róngyì cái xuéhuì yóuyǒng.


"It was not at all easy for me to learn how to swim / I spent a great deal of time and made a tremendous effort to learn how to swim / It was only with very great effort that I learned how to swim."

The second version does sound surpassingly strange, but this construction does occur on the internet:

"我好不不容易" 4,500 ghits


"我好不容易" 486,000 ghits


"我好容易" 426,000 ghits

Although the first iteration about learning to swim with great difficulty, with its two adjacent bù 不 — bùbù 不不 — is genuine (perhaps some sort of brain stutter on the part of the person who sent it; nearly everybody would consider it "incorrect"), I suspect that some young members of the internet generation (conscious of the contorted irony of the hǎobùróngyì 好不容易 [lit., "good not allow easy"] construction meaning the same as hǎoróngyì 好容易 [lit., "good not allow easy"] without the bù 不 ["not"] — Chinese people do talk about this; see the first few entries here) may be using it playfully.

I cannot emphasize too strongly that, in daily usage, the sounds of the language are more important than the meanings that are conventionally associated with the characters that are used to write them.  To be a good reader of Chinese, you have to know when to put the surface signification of a character in the back seat and figure out what its sound is doing in a given construction.

Finally, to close this post on infix "bù 不" — "not 'not'", as it were — here is one of my all time favorite Mandarin adjectival expressions:  shǎbùlèngdēngde 傻不愣登的 ("daffy").  I'm not sure that I've written it with the "right" characters, but, forsooth, the only character out of the five that imparts relevant semantic content is the first, shǎ 傻 ("fool[ish]").  (The literal meanings of the characters are:  "stupid / silly / foolish — not — stunned / distracted / stare blankly — ascend / step on — adjectival suffix" [the third character may be tangentially somewhat relevant]).  I forget exactly how I learned this magnificent expression, probably from some old missionary writing, but I acquired it as part of my vocabulary during the first year of Mandarin study, and I've treasured it all the five decades since, just as I've treasured my pet snail Arnold for the past five years.  Come to think of it, they're both in their own way emblems of an essential eternality:  neti neti.

Neti neti, meaning "Not this, not this", is the method of Vedic analysis of negation. It is a keynote of Vedic inquiry. With its aid the Jnani [VHM:  wise or knowledgeable one] negates identification with all things of this world which is not the Atman, in this way he negates the Anatman. Through this gradual process he negates the mind and transcends all worldly experiences that are negated till nothing remains but the Self. He attains union with the Absolute by denying the body, name, form, intellect, senses and all limiting adjuncts and discovers what remains, the true "I" alone. L.C.Beckett in his book, Neti Neti, explains that this expression is an expression of something inexpressible, it expresses the ‘suchness’ (the essence) of that which it refers to when ‘no other definition applies to it’. Neti neti negates all descriptions about the Ultimate Reality but not the Reality itself. Intuitive interpretation of uncertainty principle can be expressed by "Neti neti" that annihilates ego and the world as non-self (Anatman), it annihilates our sense of self altogether.

Source (with slight modifications by VHM)

Not (this) not (this).

[Thanks to Maiheng Dietrich, Fangyi Cheng, Jing Wen, Jinyi Cai, Yixue Yang, and Melvin Lee]

Read the whole story
463 days ago
Share this story

The 5 Filters of the Mass Media Machine

1 Comment and 3 Shares

Read the whole story
488 days ago
Share this story
1 public comment
483 days ago
And yet this is about a famous book by a famous author that I'm watching on YouTube.

An annotated digest of the top "Hacker" "News" posts.


  • Functional programmers, realizing that their entire discipline is rendered inconsistent and useless the instant it is faced with herculean tasks such as "I/O" and "users", finally admit for the record that it's better to do literally anything else when these tasks arise. Satisfying termninology like 'free monad' and 'applicative functors' are bandied about as Hackernews tries to decide if you want imperative nougat with functional candy shell, or functional fruit filling with a flaky imperative pastry surrounding it. Nobody stops to wonder if the functional wizardry compiles to imperative code, or whether the processor gives a shit if your source code looks good in LaTeX. One Hackernews admits he doesn't know what these people are jabbering about; all users in agreement are ritually downvoted. In accordance with federal law, someone asks how this compares with Rust.

  • A spammer posts his bullshit, the 21st-century equivalent of motivational speaking, only with fewer ticket sales and more ebook download links. A Hackernews shark attack ensues as everyone realizes it is finally on-topic to desperately plead for any possible scrap of advice on how to actually make money. Not discussed: how to start a startup without ruining anyone else's life.

  • A webshit, based on his hobby project, decides that the entire web advertising market is a lie. He's right, but for the wrong reasons. Hackernews trades tips on convincing themselves their entire industry isn't a sack of bullshit.

  • People hired to look at terrible shit forty hours a week tend to go crazy. Hackernews decides this must be why cops are all assholes and that the solution is more cops. One Hackernews suggests just hiring perverts.

  • The New York Times -- world's leading authority on San Francisco -- tells us that San Francisco is a microcosm of America. Hackernews spends equal time telling each other how to donate money toward fixing problems and telling each other that donating money will not fix any problems. Nobody realizes Hackernews users are the problem, including the New York Times.

  • A leisure studies major vomits a couple thousand words of dime-store evolutionary psychology. Hackernews seizes on the opportunity to delude themselves into believing that their crippling anxiety and ever-increasing depression are what makes them better than you.

  • Hackernews is concerned that stupid poor people might not realize they are less alive if they choose to entertain themselves instead of working ceaselessly unto death. The behavior of children is held up by the childless as an example for us all. Some dipshit thinks running his website is akin to preagricultural survival. Dimly, a few Hackernews users experiment with the idea that money and public acclaim are not the only route to happiness, but this heresy is drowned out by the relentless insistance that being rich is the only way to experience joy.

  • An idiot posts to Medium a rambling narrative regarding the importance of his phone app. Hackernews maintains the only way to be sure your shit is right is to host all of your own communications tools. Google Analytics silently notes which citizens have been contaminated with toxins inimical to surveillance capitalism. The machine sleeps.

Previously, previously, previously, previously.

Read the whole story
508 days ago
"Google Analytics silently notes which citizens have been contaminated with toxins inimical to surveillance capitalism. The machine sleeps."
Share this story
2 public comments
507 days ago
509 days ago
God this is so spot-on

The Flightosome

1 Comment and 2 Shares

I got this diagram from Arjun Raj‘s Twitter feed, and I think I enjoy it a bit more every time I see it. Some of that is because it’s a big part of what I was trying to get across in this column, but I think that the sketch does a more thorough job of it in a shorter time.

It’s a painfully accurate depiction of how much we understand about a lot of important things in biology (I especially like the “flightosome”, which is exactly as descriptive as many names in the field, and gets across just as much useful information – that is, not much. The gel lanes are a nice touch, too.

This should recall the famous “Can A Biologist Fix a Radio” paper, as well as the attempts to both simulate the workings of the brain and to reverse engineer a computer chip using the molecular biology approach. I can come down two ways on this stuff. To engineers who impatiently ask how come we’re wasting all our time with this descriptive crap instead of understanding the principles involved, I invite them to come on down and show us how it’s done. The principles, it should be noted, are rather more complex and well-hidden than those found in aeronautics or electrical engineering. Those fields both have subtleties, for sure, but not like this. And from the other direction, when someone tries to tell me that this sort of descriptive bean-tallying is all we need, just a whole lot more of it and a lot faster, I find I’m not so receptive to that, either. Both “You fools need to think systematically” and “Systematic thinking is for fools” leave me cold. We need piles of facts, and we need insight. Unfortunately, gathering the first is not so easy, and the second is even harder.

Read the whole story
525 days ago
Share this story
1 public comment
536 days ago
This is less how a biologist would describe the mechanics of flying an airplane, and more a comparison showing, "this is the best we can do to figure out how certain biological processes work"

Trump's vulgarities rendered into Chinese

1 Share

Judging from these recent Language Log posts and the comments thereto, it is not always easy for native speakers of English to understand what Donald Trump says, especially when he is making lewd remarks:

"A non-apology for the ages" (10/7/16)

"'Like a bitch'?" (10/8/16)

"Trump translated" (9/31/16)

"Trump's aphasia" (9/5/15)

There have been many other attempts on Language Log to clarify Trumpian rhetoric.

If those who are born to English have difficulty comprehending the Donald's utterances, you can well imagine how hard it must be to grasp their nuances in another language.  Let's take a look at some of the Chinese translations of Trump's latest crudities.

[N.B.:  To preserve the "feel" of the Chinese, the translations given are necessarily on the literal side.]


Nǐ shènzhì kěyǐ wánr tāmen de xiàtǐ, shénme dōu xíng.
"You can even play with their nether parts; anything goes."


Wǒ xiàng zhuī biǎozi yīyàng zhuī tā, dàn méi néng chénggōng.
"I pursued her like a whore / prostitute / harlot / strumpet, but I couldn't succeed."
Note:  English "bitch" is often translated as biǎozi 婊子 (for examples, see here)


Nǐ xiǎng zěnme zuò dōu xíng, bāokuò mō tāmen de yǐnsī bùwèi.
"You can do whatever you want, including touching / feeling / stroking / groping their private parts."


Wǒ kěyǐ zhuā zhù tāmen de [bì——], wǒ kěyǐ zuò rènhé shì.
"I can grab their [beep]; I can do anything."

Wǒ kěyǐ shàng tā xiàng shàng bitch yīyàng, dàn wǒ méiyǒu chénggōng.
"I could get on her like a bitch, but I didn't succeed."


Wǒ duì tā cǎiqǔle qiángliè de jìngōng
"I made a strong attack on her"

Yòng p-y zhuāzhù tāmen
"use pussy to grab them"

Wǒ xiàng duìdài dàngfù yīyàng kàojìn tā
"I treated her like a slut to get close to her"

Comment by David Moser:

By the way, I don't think there is any obvious way to say "pussy" in Chinese.  It doesn't mean the same thing as "vagina", so "bi1 屄" doesn't really express the meaning.  I've seen some articles translate the Trump rant with si1chu4 私处 ("private place"), which is pretty good, but not a translation because it's not vulgar.  Yin1bu4 阴部 ("private parts; pudendum") is also descriptive but not at all lewd.  It's a bit like the French word "fesses",  which is usually translated "buttocks", but it refers to the area of the thighs, buttocks AND loins, as seen from behind.  We don't really have a word specifying that bodily region in English.  (Another example may be "lap", that seems to be a peculiarly English word.)

[Thanks to Jichang Lulu, Melvin Lee, Fangyi Cheng, and Randy Alexander]

Read the whole story
525 days ago
Share this story
Next Page of Stories