Permissive Licenses Are Gifts

Harrison Ainsworth, who is always interesting on software matters, has a recent note arguing permissive software licenses are unethical. I disagree. Such software is a non-toxic gift, like free cake.

All open source licenses allow access to source code and some kind of copying and modification. Permissive licenses, such as the MIT license, have no restrictions. You may copy, alter and share the source code and anything built with it as you please, including making other things that are not shared back to the community. This is in contrast to “copyleft” licenses like the GNU Public License (GPL). If GPL code is changed, is built into other things, that code must also be released.

There might be times when a gift is unethical. Giving someone an animal they can’t look after is unfair to the animal. Giving something leaking toxic chemicals could hurt people. Some gifts create an obligation of work.

Open source software doesn’t seem to be in any of these categories. People may adapt and contribute back if they wish – or choose not to use it at all. With a permissive license, people not in a position to contribute back today can still use the tool, and perhaps be able to contribute back tomorrow. Many developers working for conservative corporations or governments were and are in that position.

The exception would be open source code embedding adware and trojans, like Clipgrab (which claims to be GPL but took down its open repository years ago), or malicious NPM packages, or cryptominer embeds. These are all the equivalent of gifting your sister a nice bucket of plutonium slurry for her birthday. But this is not most open source software, and it’s not what Ainsworth has in mind.

Ainsworth says the permissive license boils down to “I should share, but others should not.” But it’s really “I should share, but those who cannot need not”. I’m sure this basic argument is already known to Ainsworth, and so his primary point is about consequences: permissive licenses create an ecosystem of freeloading corporations. But the alternative, if everyone were a GPL purist, is likely not a world of free GPL software; it’s a world of worse software, with less good tools available, and corporations and other rich bad actors continuing to skive anyway. The corporations that contribute back to open source are mostly more technically sophisticated ones; the ones who understand software development dynamics, though a Google or Facebook may mix the two together and often skirt the freeloading line.

Python is an interesting test case for permissive licenses. Would Python be as dominant in data science today if it hadn’t been given away, with no license headaches? I doubt it would, or that data science would really exist in its current productive form at all. This continued to foster openness in the rest of the Python ecosystem. Likewise for maven, the Apache webserver, and so on. It is good that the GPL and open licenses exist. The famous GPL ratchet, that forces openness on software using GPL libraries, is a good thing. The two work together to some degree, permissive licenses softening a reuse culture up, copyleft forcing it open. There was, and still is, a problem of basic literacy for open source values in many companies. This way we did not all need to hold our breath waiting for them to learn.

Is it unethical to take free gifts, over and again, make money off the use of it, and never give back? Sure, and that freeloading should socially embarrassing and bad for business. For software and content developers: it’s your gift to the world. Leave the strings unattached if you want.


But, soft! what light through yonder window breaks?
Laser guided, a gun turret aimeth. — Romeo and Juliet, Act 2, Scene 2

Portal is as much a poem as a game. The creators take the vernacular elements of the first person shooter and make a discliplined selection from them. For instance, the only weapon you equip doesn’t actually hurt anything, because that option is simply not available, and doesn’t make in game sense. Falling damage has been removed. They then add one new one element – the famous portals. In the words of Jeep Barnett, one of the developers,

We try to understand our limitations and work within those and in some ways embrace them.

And embrace them they did. Once the game’s chosen elements and their relationships are established, it recombines them with wit and grace. And it tries to kill you a few times too, but what is art without struggle?

Though analogies from one form of art to another are not perfect, and I doubt the team set out to write a poem, the description as poetry is apt because the formal constraints of Portal make it possible to describe it in a kind of ludic meter. The remainder may spoil. (I also owe a debt to work from the Rocketboom Institute of Internet Studies on image macro haikus).

Like Goethe’s Faust, Portal is divided into two distinct parts, which differ in structure and content. Part 1 has a whimsical tone, but a formal structure reminiscent of a sonnet. Each level can be treated as a stanza. The structure of each stanza is then

G (O B|B O|S)* G

G is dialogue from the AI Glados, half sexy librarian, half HAL from 2001. Each level starts and ends with AI dialogue, in a great performance from Ellen McLain. The repetition is not as strict as a villanelle, but is similar in linking the beginning and end of a stanza. The AI returns to themes throughout the game (eg, cake).

B and O are the blue and orange portals respectively. These form rhyming couplets. It is the chain of portal couplets that progress you through a stanza. When you go in one portal and out another, you move one or both portals and repeat the process. In terms of rhyme scheme, going in the orange portal, and coming out the blue is O B. Then, for example, moving the orange portal and returning into the blue portal is O B B O. A Shakespearean sonnet has the form (A B A B)^3 C C, that is, three sets of A B rhymes followed by a C C rhyming couplet to finish.

The structure of each line is not restricted by time meter as it would be in the iambic pentameter of an English sonnet. However, the deliberately limited vocabulary of Part I, using floor buttons, boxes, doors, lifts, energy balls and switches, and not much else, still gives a sense of formal restraint.

S is a substanza. As Portal proceeds, the levels get more complex, and the AI will bookend sections of a particular level with more dialogue.

What distinguishes this game from a conventional puzzler is the retention of a sense of flow. This seems to have come from Valve’s process of rigourous playtesting (mentioned in the interview above). This in turn fed back to the reduced vocabulary and minimalist setting, which reinforced the formal structure. It means you don’t get stuck on an impossible or frankly tedious puzzle. This also shows the limitations of playing a game in poetic mode. It’s as if you couldn’t go past page three of Paradise Lost unless you read out the fifth line exactly right.

At the beginning of Part II, the AI famously and hilariously asks you to assume the party acceptance position. When you, as the protagonist, reject this and scoot off into the factory innards of the laboratory, the game itself leaves its formal structure for something more anarchic. It’s actually a more conventional FPS setting, with more jumping onto lifts and such according to timing, though you still don’t shoot anything except walls. The climax, though, despite Eric Wolpaw’s hatred of plays, really does have a wonderful setpiece, a coup de theatre.

Valve, this is a triumph. I’m making a note here: Huge Success.