Unknown Others

Open Source is for you, yes. But it’s also for unknown others.

A cow pulls a lawnmower on the Rajpath in New Delhi

Being close to an open source project, it’s easy to imagine that everyone sees the project the way you and your fellow community members do. This especially applies to the corporate sponsors of a single-company project; anticipating use by competitors they often want to apply controls to who can use the code.

A core objective of software freedom is to ensure that the code can be used not only by your collaborators, but also by unknown others with undisclosed goals. All OSI-approved licenses ensure everyone is permitted to use software for any purpose without further permission, delivering this core objective.

Random code liberation leading to unexpected application (AKA “innovation”) has always been and will remain a hallmark of open source. Borrowing portions of great code — from elegantly executed algorithms to useful libraries to entire components — is an intended mode of exercise for software freedom and not an artefact. Leaving it available is essential.

The same provisions that allow code reuse also enable the crucial pressure-release valve of open source; the fork. The ability to take the code and do something the original author or the current community don’t want is an essential freedom, not an unwanted side effect. Indeed, it is the origin of many of the most significant moments in open source.

It was a fork that rescued OpenOffice.org from corporate neglect, giving us LibreOffice. A fork allowed ForgeRock to rescue Sun’s identity management software from abandonment, thus saving huge investments in its deployment and creating a highly valued “unicorn” startup in the process. The MariaDB fork is keeping the MySQL project focussed on community rather than just the commercial goals of a megacorporation. Even the Firefox browser was a kind of fork from Mozilla, albeit a strategic one.

Making open source code freely available to unknown others is thus axial and not tangential to open source. That’s why I get extremely concerned by anything that wants to be seen as “open source” but still tries to lock out the outsiders, the rebels and the aliens. Attempts to do this range from the crude — like using a “time-locked” license that only becomes open source after a significant delay for “monetisation” — to more subtle approaches like requiring an account to access the source repository and then only allowing paying customers to easily have an account.

The code may be under an open source license, but software freedom is not present if accessing or using it requires being or knowing an insider. None of this is theoretical; indeed, Forgerock and MariaDB are themselves playing these games despite their origin story being rooted in software freedom.

So remain sceptical when software freedom is abridged or diminished in pursuit of a business model or of “safety”. Whatever that’s called, it’s not open source.


(A version of this appeared in the Linux Voice section of Linux (Pro) Magazine 207)

The Universal Donor

It’s not enough for you to have the rights you need; your community needs the same rights.


A few people reacted negatively to my article on why Public Domain software is broadly unsuitable for inclusion in a community open source project. Most argued that because public domain gave them the rights they need where they live (mostly the USA), I should not say it was wrong to use it.  Continue reading

20 Years And Counting

The third decade of open source software starts in February 2018. How did it rise to dominance, and what’s next?

The Journey

20 years ago, in February 1998, the term “open source” was first applied to software, Soon afterwards, the Open Source Definition was created and the seeds that became the Open Source Initiative (OSI) were sown. As the OSD’s author Bruce Perens relates,

“Open Source” is the proper name of a campaign to promote the pre-existing concept of Free Software to business, and to certify licenses to a rule set.

Continue reading

Can PatentLeft Save Us?

Is it possible to hack the patent system to make patents unusable in the tech industry, like copyleft hacked patent law?


The word “copyleft” arises from a clever hack by Richard Stallman who used the laws relating to copyright — a statutory device to incent creativity by granting limited monopolies to creators — to create a world where creators are incented to share instead of monopolise their work.  Continue reading

Is Open Yet Closed Still OK?

In these days of code that no single mind can grasp, it’s hard to see how software freedom is present when there’s no realistic community access to source code.

Copycat Tree

In the early days of Free Software, it was a safe assumption that anyone using a computer had coding skills of some sort — even if only for shell scripts. As a consequence, many advocates of Free Software, despite a strong focus on user freedoms, had a high tolerance for software that made source available under free terms without providing other access to the project, especially in the days when that meant tapes by mail.  Continue reading

Cause, Effect and License Choice

Choosing between licenses – even copyleft vs non-reciprocal – is less important than ensuring everyone has equal rights & responsibilities.


I’m often asked which open source licence is best for businesses who want to release a project as open source. Usually behind the question the issue is a desire for corporate control somewhere in the organisation. This tends to flow from a conviction the only way a business can succeed is by keeping some sort of copyright (or patent) control that creates an artificial scarcity.  Continue reading

Permission In Advance

Open source ensures developers already have permission to innovate and don’t need to ask first.


If you want your code to be open source, it needs an OSI-approved copyright license. Code with no license to the copyright isn’t open source. But project success needs more than just an OSI-approved license — it needs “permission in advance” for every developer and deployer. Continue reading