Harmony's curiously flat tune
by Dj Walker-Morgan
A standard for contributor agreements was the promise of Project Harmony, but now the project's agreements have been released, they appear to have hit all the wrong notes with many in the community. We look at why Harmony is off-key.
Although the concept of copyright is anathema to many free software advocates, it can be considered the fundamental force of both copyleft and open source software. Copyleft licences like the GPL subsumes copyright to ensure source code is always made available, while permissive licences retain credit, at least in the source code, for the original authors. As a fundamental force, if you can gain control of copyright, you gain a lot more power.
This is, for example, how a company that has a GPL-licensed community edition of its software can also sell a proprietarily-licensed enterprise edition; it has ownership of all the rights, either because it wrote all of the code or because anyone who has contributed code to it has signed over their copyright.
Copyright assignment and aggregation are controversial issues in the free and open source software world. For some commercial companies, they are the foundation on which they can create an "open core" offering or "dual licence" software. For non-profit organisations, it is a useful legal mechanism which lets them bring software under their protection.
There is a middle way too: contributor agreements which grant an organisation a licence to use the code. The contributor agreement has a wider scope than a typical software licence in that it could, for example, allow for relicensing of code, give the licensee power to act on copyright violations or other similar neo-ownership issues.
The problem is that asking someone to hand over their rights is a problematic solution to a problem that some people don't think actually exists. And unlike software licences, where there are some leading licences such as the GPL, LGPL, ASL and BSD, there are no leading agreements; companies and organisations have created their own documents to get contributors to hand over their rights, so to donate code meant parsing yet another document full of legalese.
Enter the Harmony Project, which set out to fix the latter problem, to create a "level playing field" in the world of copyright assignment and contributor agreements. The project's plan was simple; create a set of common documents which encapsulated the common cases of how the various companies and organisations acquired rights. On the project's site it expressed this as "We hope that our work will enable more people to contribute code, by reducing the cognitive cost and legal time of reviewing contribution agreements."
If an organisation wants to create a Harmony agreement, it can go to the agreement selector, enter the name of the project, select either copyright licence or copyright assignment, pick which licences the contribution will be relicensed under (the "outbound"), how contributors will communicate their agreement and some other details, and then press the preview button. The Harmony site will create not one, but two agreements: one for individuals and one for entities such as companies or other projects to use, as HTML or PDF. There's a detailed description available of the various parts of the generated agreements.
But does anyone want these documents? Harmony was driven by Canonical, a company well known for using copyright assignment in its contributor agreements. This has in the past led to accusations that the company wanted to hijack developers' work. The Harmony plan seems to have been to work – initially with select companies and later in the open – on contributor agreements with community members. This should have given the resulting agreements a background that would be widely acceptable. Canonical would then have access to a set of documents for its copyright assignment and aggregation needs which would have a community stamp of approval on it.