One of the hot topics of commentary on open source development at the moment is the licensing situation on GitHub. When code is committed to GitHub, the copyright owner (usually the author or their employer) retains all rights to the code, and anyone wishing to re-use the code (by downloading it, or by “forking” and modifying it) is bound by the terms of the license the code is published under. The point of discussion in this case, is that many (indeed, the majority) of repositories on GitHub contain no license file at all.
There are two troubling points to the commentary on this phenomenon. The first is that some discussions suggest that publishing with no license is “highly permissive”, implicitly allowing anyone to take the code and do with it as they wish.
In fact, it’s usually the case that having no license on your code is equivalent to having an “All Rights Reserved” notice, preventing any re-use of your code at all. Whether it’s the copyright holder’s intention to enforce these rights isn’t being made clear, but it’ll be enough to put off any company who might want to engage with such a project under an open development model.
The second troubling point is that commentators are time and again dressing this up as a wilful movement. James Governor coined the term “Post Open Source Software“, while Matt Asay claims “Open Source Is Old School, Says The GitHub Generation“. These commentaries seem to imply that there’s some sort of “No License Manifesto” being championed (in a similar fashion to the Agile Manifesto, perhaps).
The only movement I’ve seen which would be akin to this is the Unlicense, which encourages authors to wilfully lay aside any claims to their rights, effectively a Public Domain dedication which Glyn Moody has suggested is the way forward for open source.
However, what we’ve seen on GitHub shows no such conscious setting aside of rights, it shows a lack of education. Publishing articles touting release without a license as how all the cool new kids are working encourages behaviour which could prove damaging to the development of a project’s community, and the wider community in turn.
Fortunately there are voices of reason in these discussions. Stephen Walli of the Outercurve Foundation points out that governance == community. If a project seeks to “fuck the license and governance” as James Governor suggests, then they risk doing the same to their community by alienating contributors (particularly those that are part of a larger organisation, rather than individual developers), as these contributors have no predictable structure to work within.
If the project lead might turn around and say “I dont feel like accepting your contributions, and by the way, if you keep using my code I’ll sue you”, you’ve got very little incentive to work with them.
By neglecting your community in this way, you project is at risk of being limited to a few individual contributors who know and trust one another implicitly. I can’t believe that developers seeking to allow permissive use of their code would be happy with this as an outcome.
GitHub haven’t yet made any suggestion that they feel this is a problem they should work to solve. It’s our responsibility as a community to ensure that we educate newcomers to become responsible open source citizens, rather than encouraging them to follow established bad practices.