January 22, 2021

Open Source is Discriminationthat’s the point, or at least it used to be

Open source discriminates against closed software. That was the point. But that’s not what you’ll hear these days. Or rather, that’s not what you’ll hear from the major foundations, industry rags, and “open source professionals”. Professionals like me.

These days, if a new open source license comes along that requires openness, but that kind of openness isn’t good for you, your clients, or your company, you don’t have to add it to your corporate-policy blacklist, curse the hippies under your breath, and pray it flickers out on its own. You can attack it as “not open source”, an apostasy unworthy of acclaim or cachet. Even though twenty years ago, open source would have been at your door with the pitchforks.

Just follow three easy steps.

How to Shun a Share-Alike License

Step One: Pick a vague, high-sounding snippet from the “Open Source Definition”, an edited copy of an edited copy of a generalist statement of principles drafted in private mostly by one guy. Avoid the criteria about specific needs of Linux distributions, like criterion 9. Go for the glittering generalities, like criterion 5 or criterion 6, the rules against “discrimination” toward “fields of endeavor” and “persons or groups”.

Step Two: Argue that the license discriminates against (is bad for) what you want to do—the “field of endeavor” of making closed software—or for you or your company—the “persons or groups” who are proprietary software developers and companies. If the terms of the license make that distinction, point to that. If the terms don’t make that distinction, say they’ll have that effect in practice. If the terms don’t say that and it’s not clear they’ll have that effect, say that’s what the author of the license secretly intends, anyway.

Step Three: When the author of the license counters that the criterion you cite is vague, that your reading is forced, that other important documents of free and open history contradict your line, that the Open Source Initiative and Free Software Foundation have approved or even written licenses that would violate your interpretation, or that the license should be judged standing on its own, and not based on what bad things you say about the author, ignore them. Declare there’s no “consensus” that the license is open source, because some people disagree. Do what you can to cast the author as a usurper, a conman, a Trojan with a horse to sell to “the community”, which sees it for an obvious fraud.

This is not a new play. It’s been run many times, by many players, in many forums. It’s not even the oldest in the book. But it’s by far the most popular these days. The meta of The Open Source License Game circa 2021 is clear: Say open source is open when it doesn’t discriminate against closed.

Telling the Difference

Part of the power of this play is that the nondiscrimination bits of the Open Source Definition have such a shimmering, high-minded appeal. Kind of like the Declaration of Independence, if you forget about the Articles of Confederation, the Constitution, and the worldly interests of the Founding Fathers.

“Discrimination” has a bad ring to it these days, because we associate it with gender, racial, religious, sexual, and other kinds of deplorable oppression. Who isn’t against discrimination? Isn’t open source good for standing strong against it?

Oppression requires discrimination, but oppression and discrimination are not the same. Only oppression is inherently bad. Discrimination can be overwhelmingly positive. It’s at the root of all morality.

Consider the banner example of deplorable oppression in the United States: racism. Enterprising “entrepreneurs”, all of them nominally Christians, discovered that enslaving Africans and their descendants could be highly profitable. So they propounded a social category—a lesser “race” of people, actually tons of different peoples with disparate languages and cultures—and taught others to discriminate on that basis. Having made the distinction, society could then oppress those it set apart. In time, the consequences convinced still more people that the distinction was valid, whether they profited from it or not, even though it was morally wrong, ultimately self-limiting, concentrated wealth, and scientifically bunk.

Another society might uplift those people instead, to offset the oppression they’ve suffered so long. That would also require discrimination: Who to uplift? Ideally, those who’ve suffered from oppression. But what does that mean in practice? Just the descendants of African slaves? Anyone of African heritage?

Discrimination can be good, but good discrimination isn’t easy. It’s rarely intuitive or popular—as any TV debate on affirmative action or reparations will show.

Similarly, though with far lesser consequences, an open source project might discriminate good and bad contributors, bestowing welcome, moderation power, technical leadership, and commit bit accordingly. This is what early free and open people celebrated as “meritocracy”, before it became clear that the particular kind of lazy, blinkered discrimination actually practiced online, as distinct from the mythical fair holistic contest of achievement, potential, and brilliance hackers found so flattering, had terrible social consequences. Good discrimination isn’t just intuition based on the obvious. It takes humility, subtlety, open-mindedness, and hard work.

As a result, the word “discrimination” used to have a nobler ring to it. It called to mind distinctions that were just, uplifting, and prosocial, rather than oppressive. Its connotation was closer to the feelings we now evoke with “discernment”.

A “discerning person” is one who can tell the difference—discriminate—in a good way that matters. Between high and low quality. Between truth and self-serving sales jabber. Between strong and weak arguments. Between just and unjust outcomes. Between fair and false dealing. It is hard to get one over on a discerning person. We rely on discerning people to keep things moving along in the right directions.

That is exactly what “free software” and “open source” tried to teach coders and businesspeople in software. There wasn’t just “software”. There was “free” or “open” software on one hand, and “proprietary” or “closed” software, on the other. Free and open software was better, and very possible, but relatively rare up to that time. Closed and proprietary software was worse, but all over the place. Don’t be fooled.

Having learned to discriminate between open and closed, free and proprietary, ethical and exploitative, good and bad, hackers, businesspeople, and consumers could choose to make open software, choose to use open software, choose to support open software, choose to promote open software. None of that would be good for closed software. After all, software could not be both open and closed. Standards would rise, and closed source would drown under them.

Once you learned to see the difference, you had to make a choice.

Change

The starkness of that view, and the speed with which it took over minds in the early days of the Internet, produced some memes that seem trite, even tribal, now.

Microsoft? Evil. SCO. Evil. Tivo? Evil. Software patents? Evil. Software as a Service? Evil. Most of the industry, it turned out, was evil. A view not unlike that of “Big Tech” now.

The absolutism of yesteryear makes it clear just how much and how little has changed since. Take a quick skim through the logos on the Open Source Initiative’s sponsors page, for example:

The towering behemoths:

Smaller companies using open source:

Companies that help companies use open source:

VPN marketing, for some reason:

Random, vaguely tech-related stuff:

A couple defunct:

And finally, the actually open source:

All of these last are small.

Only a few of these companies make their core product or service open source, especially counting by size. The vast majority use open source to make a product or service that is closed, or to help others make products and services that are closed.

I suspect a sponsor list for the Linux Foundation, if I could find one, would skew even more heavily toward big public proprietary software companies. I haven’t clicked all the links, but the picture for Apache looks much the same.

Newspeak

In the new manner of speaking, this means open source has “won”. Nearly all software is open source, in the sense that it builds on open source, uses open source tools, relies on open source infrastructure, and loudly proclaims how awesome all this free stuff is for business. Microsoft sponsors OSI!

But that is exactly the opposite of the principled discrimination FOSS taught. There was no “software”, all basically the same, an amorphous gray slurry of pristine white open and oppressive black closed. Software was either open or closed. It could not be both, from the user’s point of view.

If you had to make closed software, perhaps to pay the bills, that was regrettable, if understandable. But no weaseling about how you used an open source language, open source libraries, an open source framework, or relied on open source services, or how much of your “stack” was open, beneath the thin oily film of closed code that people actually paid for.

Open being good, closed being evil, the question was how closed could become open. Hate the sin, love the sinner. Can you convince your boss? Could you demand it before joining the company? Could you found a competitor willing to take the leap? Not: How to cook the books and count it all for the cause?

Capture

For those who’ve been around FOSS a while, it might be easy to write this off as nothing new. All of this is can be hastily filed under “how free and open aren’t the same” or “open source sold free software out”. Unfortunately, there’s more to it than that.

Time is a factor, and free and open theory is nothing out of industry context. A new and different breed of firm is doing, wielding, and attempting to influence open source, as perceived and as practiced. There’s way more of them than there ever were before.

Gone are the days when “corporate open source” meant Tim O’Reilly and some hot IPOs selling consulting, warranties, and support contracts, or dual licensing. Those business models were largely compatible with a stark view of open source good and proprietary evil, as well as aggressive, activist-driven copyleft, as we knew it at the time. There wasn’t any sense trying to fly the flag otherwise.

Even if we believed those companies had too much influence, that they stumped for their own self-interests in definitions of “open source”, like users stumping for their pet features, those influences seemed benign. At worst, they overemphasized mere parts of the whole, missing the gestalt of the thing:

When these companies produced software, if they produced software, they produced open source. So none of them had time of day to stump for firms that didn’t.

Not so anymore. These days, the angles look more like:

There’s always been tension around permissive versus copyleft licenses. But at one point, the crowd-pleasing argument against copyleft wasn’t that it was wrong or pointless, but that it was unnecessary. Whether the license said you had to contribute back or not, that is what firms seemed to be doing, as often as was practical. The terms were different, but the effect was the same. Software was getting open, the way it should be. Slowly but surely, the movement was climbing up the stack, and would soon be crushing end-user apps with free alternatives and 90+% clones for everything from Microsoft, Adobe, and all the rest.

Those who still believe can hold out hope that someday the titans of industry will come around. Like the cult that believes God would come last year, but now definitely this year, and if not next year, certainly the year after that, a bright future is always expectantly plausible. For software freedom, and I suppose for The Linux Desktop, if there are still desktops that far down the line.

But it’s all becoming ever more difficult to square with the evident business trend. It’s more realistic to say that all popular software will be “open”, as we mean open today, if, only if, and when business figures out other ways to hold back control of its function to make money. The cloud giants publish a ton of open source, but an awful lot of it boils down to interfaces over their paid services, or strong inducements to sign up for and use more of them, instead of or in addition to the competition, none of which is “open” as in “open source”. There’s wrappers over the S3 HTTP API in every language I’ve checked for. As a whole, developers probably don’t need to use Kubernetes nearly as much as Google needs them to use Kubernetes.

There are folks (and firms) who are happy with the way “open source” is going now. They’ve paid the money, hired the pros, sponsored the events, and written the marketing strategies to steer it their way for the foreseeable future, through the institutional levers that were built to fit their hands. Largely foundations.

We could also plot trends and ask: For how long will these firms continue to invest in, or tolerate, definitions of open source that welcome meaningfully strong copyleft licenses, even old ones? GPLv3 was a fight, with all manner of companies threatening to fork or pull developers. AGPLv3 was another fight, and is still barely tolerated, if at all, in corporate open source policies. There’s an argument to be made that AGPL did more to convince proprietary software companies to mosey their way into the open source lobbying game than any major movement statement since the bubble went pop.

It’s all well and good to hold copyleft over for developer credibility, and for the occasional project for which you want patches back, rather than proprietary “open core” forks. But that’s not a lot of benefit, if there’s much of any associated cost. So much the better if activists, who might make a stink about it, have to do so through private blogs and personal social media accounts, rather than the big megaphone of an organization.

Conflict

If we accept that “open source” is and will mean the kinds that are good for business right now, we still have to ask: For whose business? “Business” in a competitive market isn’t one monolithic interest. It’s closer to the opposite. It’s constant conflict.

Hence the spectacle of this week, with dueling public companies, Elastic NV and Amazon, throwing punches over who is the truest open sorcerer. In one corner: a huge proprietary cloud software company hocking a permissive license. In the other corner: another, much smaller public company whose core product has source code we can actually see and hack, stumping for something stronger than AGPL.

At its core, this is a fight about whose interest prevails. The prize is whatever’s left in calling your stuff “open source” and having people nod along.

Both Elastic and AWS develop software. Does the developer closest to the user win, like the banker closest to the money? Or does the originator of the value, the expert in the code, take priority?

Or maybe it’s a fight between “developer” and “user”. But those roles are just as slippery. Is the “developer” the one developing the open source database, the one developing the cloud platform, or the one developing the application on that cloud platform? Is the “user” Amazon? Or perhaps Amazon’s customer, for whom Amazon will appoint itself to speak? What of the end user paying to use the product or service Amazon’s customer has built?

For all its head scratching “tactical” compromise and inconsistency, the ideology of the early free-open days offered a pretty clear position. The user that mattered was the last user, the end user. Everybody else in the chain of production was a developer. User trumps developer. Period. The notion of equity among developers, or of earning money, simply melts away under the rising sun of freedom. It’s an incomplete, unrealistic model. But it’s compelling enough to stoke real enthusiasm. It’s not the kind of pep talk you get at work.

In current, company- and developer-driver discourse about what “open source” does or should encompass, the end user isn’t really represented. Even those activists claiming the poor user’s name largely assume them to be a kind of developer, or potential developer, because that’s as far as free software theory ever got in widespread practical application. So “open source”, which claims to be or to inherit from free software, becomes just another marketing battle, another war of corporate blogs, social media drive-bys, budgets, and bull sessions. There’s nothing for end users to win there.

There’s no high principle, either, just Getting Ours. If that means Taking Yours, so be it. Meanwhile, all sides vie, in a way, to anoint their self-serving efforts in the last puffs of smoke wafting off the crumbled incense called open source circa The Year 2000, when open source provided all that bigger meaning and motivation you didn’t find on the job. The last wisps of a bygone, naive, beautiful, and utterly romanticized era, when all of us were twenty years younger.

When I look back, I see it that way, too. I was also younger. But when I piece it together bit by bit, from anecdotes, stories, struggles, plans, and projects, I see it more the way I believe it really was.

It wasn’t just a happy time of memes and list lore about freedom, quirky communitarianism, and productive conflict avoidance. It was just as much a time of brash, arrogant, idealistic hard-cases prying open the eyes of fellow developers and sending them out for a fight with the industry. The industry they knew they would have to repair and replace, bit by bit, either as it was before or in some new, hopefully better way.

We never found the way to make those worlds meet, for developers en masse to have their good paychecks and serve their broader ideals, too. We got a more evolved oral culture of vacuous “make the world a better place” startup pitches. We got fitter, meaner, more evolved business models, which ingest and metabolize open source like starved hyenas. But we never solved the whole system of accursed trade-off equations. That’s work still to be done.

Your thoughts and feedback are always welcome by e-mail.

back to topedit on GitHubrevision history