DEV Community

Cover image for Open Source as a Force For Good
Erlend Sogge Heggen
Erlend Sogge Heggen

Posted on • Originally published at blog.erlend.sh

Open Source as a Force For Good

So we’ve made this beautiful new cog that makes various types of machines faster. At first it’s great. People’s machines of LOVE ❤️ are running faster than ever, generating and disseminating more love for all .

Then, a HATE 😠 machine starts using our cog to spread its hate faster. We want to tell the makers of that terrible machine:

“NO! This invention is not for you. We do not support what you are doing with our cog. We hereby revoke your right to use it.”

But we can’t say that. We relinquished that right when we started distributing our cog under an open source license.


Inaction is an action

This story doesn’t need to be told in the abstract. Discourse was faced with this exact conundrum, as have most other open source projects that reach widespread use. The free, self-hosted version of Discourse was put in use by one of the most prominent white supremacist, neo-nazi communities in the world. And because of our GPLv2 license, there was only one course of action available to us: Do nothing.

Is it enough for the open software movement to stand for nothing else than openness? Is openness on its own enough of a force for good that we can justify keeping the definition of open source as simple as it is? I’ve long since stopped believing that.

When a tool I helped make is turned against my friend with malicious (even murderous) intent, and they ask me “why are you letting them use your tool this way?”, I will no longer respond “because that’s how open source works” as if that sufficiently explains it.

Embracing complexity

Nations across the world have decided it’s not that simple when it comes to Free Speech. Even this beautifully succinct principle — which arguably leans heavily towards good — still comes with some very necessary exceptions. We disallow hate speech, or at least we try to. And if you want to disseminate information about something that can be damaging if done in excess, such as tobacco or alcohol, we have strict rules for how you’re allowed to advertise such information.

Free speech isn’t an absolute, it’s an aspiration. We aspire to uphold the principle of free speech to its logical extreme, while acknowledging that abusive applications of this principle must necessarily be limited. We can’t have free speech in the absolute before we’re living in an absolutely hate-free society.

The same applies to open source. We need to get our hands dirty and re-imagine our open licenses for a world where technology does not exist in a vacuum.

99.99% as open as before

Remember that cog we made? Let’s say our cog is deployed in 1,000,000 LOVE ❤️ machines, and 100 HATE 😠 machines. If we can come up with a way to exclude only those 100 machines of hate , without impinging on the freedoms of the 1 million machines of love , shouldn’t we do that?

Heck, even if we have to leave a few of the less egregious hate machines running just to avoid an overreach, that would still be a huge win for both ethical openness and social justice.

Abolishing machines of hate

There are people in the open movement working hard on these exact problems. No one has it all the way figured out yet, but if we can all agree that purveyors of hate should be excluded from The Commons which we work in service of, we’ll get there.

Hippocratic License

Drafted by The Ethical Source Movement, the Hippocratic License describes itself as “An Ethical License for Open Source Projects”. What they’re doing is laudable and very necessary for the future of open source ethics.

It remains to be seen whether they can find a way to be compatible with the OSI open source definition, as well as being legally enforceable. But is it worth trying? Definitely! Legal rigor aside, I wholeheartedly agree with the Ethical Source Definition in its entirety.

Liberal license + addendum

Kyle Mitchell, whose blog I’ve linked several times in this article, has proposed a Ethical Subcommons Starter Kit. In it he outlines a theoretical addition to an existing license:

Your community might choose to write its external code, internal code, or both, into the public license terms it applies to the software it creates.

For example, an ethical AI subcommons might choose to apply The Blue Oak Model License 1.0.0 with the following additional section:

Ethical AI

You must exercise your license only in accordance with the Tiger’s Eye Statement on Ethical AI published at https://example.com/tiger-eye .

Note that this differs from the approach of many software freedom activists. Their organizations, notably the Free Software Foundation, don’t reference external codes of conduct in license terms. Rather, they translate their ethical views into legal rules, in the vocabulary of copyright, patent, or both.

I do not encourage new communities to adopt that approach. The translation step from ethical language to legal language introduces confusion, errors, and costs. The community becomes unable to interpret or evolve its terms without legal intermediaries.

I wonder how the community would react to a “MIT + Hippocratic addendum” license.

Open Core

Somewhat amusingly, any of the controversial “available source” licenses (BSL, SSPL, PolyForm) adopted for an open core licensing strategy can very effectively disallow malicious use. They can do so either by incorporating explicit language into the license itself, or by simply revoking the license from the bad actor, which is in the power of the Licensor to do.

However, this only extends to the proprietary crust around an otherwise open source project. You only get to stop hate mongers that are trying to use your commercial offering. Those only using your open source code (often called Community Edition in open core models) can’t be touched. That doesn’t move the needle much.

Rule of The Commons

For “pure” open source, I believe the answer lies somewhere between the Hippocratic License and license addendums. Quite possibly the advent of Cross-License Collaboratives will play a part as well, by letting co-maintainers form collectives without undue bureaucratic process.

The total relinquishing of ownership over the open source products we’re putting out into the world is hampering our ability to prevent malicious use that goes against our noble intentions. We are giving up the power to say ‘NO’ when it matters most. As jarring as that word can be, it is sometimes very necessary. Whose world are we trying to protect by maintaining openness absolutism?

Nazis are living in the past. Let their tech stay in the past as well. 👋 🚀

Oldest comments (0)