Which Licence is Best for the Future?
by Glyn Moody
Recent discussions around the so-called “Open Core” model for open source have been remarkable for a couple of reasons. First, because not content with one burst of feverish blogging and counterblogging, people came back for more, responding to a separate post about business models with yet more arguments and counter-arguments on the subject of Open Core. Secondly – and perhaps more remarkably – those discussions ultimately led to an entirely fresh thought: that we are about to enter a new phase in open source business, one that places community and collaboration at its heart.
The jumping-off point for that evolution was (yet) another piece looking critically at Open Core, this time from Simon Phipps, who wrote:
Open core businesses stand to benefit massively from having you locked-in; they want to trade your freedom for their profit. So while open core businesses truthfully say they are sustaining open source core software, their actual business is nothing to do with open source. It's a bait-and-switch, wrapping the same old lock-in in the flag of open source and hoping you won't notice.
The anomaly is not that projects like Hadoop or OpenStack lack a company "monetising" them - it's that we believe open source projects ought to have such a company. The past decade has been something of an "open source bubble", with many people believing there is a fortune to be made if only they can find the right business model to pack around open source.
That anomalous decade is just about over. The new projects on the block are once again collaborative, seeded by companies whose business does not depend on selling the software or its direct derivatives. They involve synchronising fragments of the interests of many, diverse participants rather than having the whole of a single party's interests at their core. Every participant comes to them paying their own way, rather than expecting the project to pay them.
This idea was then picked up by Matthew Aslett, who wrote a post with the optimistic title: “The golden age of open source?”, in which he predicted the arrival of the “fourth stage of open source”:
a return to a focus on collaboration and community, as well as commercial interests.
Arising as it did from the increasingly heated – and arid – discussions of the Open Core business model, this is a rather unexpected, if welcome turn of events. But amidst all the euphoria that seems to be flowing, there is an important question that needs to be answered: assuming all this feel-good swing to collaboration and community really is the future, what is the best open source licence for this brave new world?
The GNU GPL might seem the obvious answer. After all, the GPL was drawn up specifically to make collaboration work and to create a community based on sharing code. But the experience of the last ten years of open source business has shown that, ironically, the GNU GPL actually allows companies that adopt it to act more, not less, like a traditional closed-source company.
When a company offers its software under the GNU GPL, it generally requires external contributors to assign the copyright of their code to the company. The reasoning usually given is that the company needs the copyright so that it can also offer commercial – that is, non-free – licences to the product in order to make money so that it can pay for work on the free versions.
Superficially, that's a reasonable line, but there's a hidden sting in the tail. Although the GNU GPL licence means that others can use the code commercially, and even fork it, the copyright assignment ensures that only the original company can offer the software under non-free licences. This places rivals to that company at a distinct disadvantage, and pretty much ensures that the holder of the copyright is able to act as a monopolist, shutting out business rivals – hardly what Richard Stallman had in mind when he drew up the GPL.
It is partly for this reason that the Apache licence is being widely adopted for new projects – for example, the recently-announced Open Stack. The key difference here is that anyone can take the code and turn it into a proprietary offering: the original copyright holder does not have any advantages in this respect, and so a more vibrant business ecosystem can grow up around it – or so the theory runs.
The downside, of course, is that any company can take code licensed in this way and turn it into a proprietary product – even if they don't contribute back. As the Apache Licensing FAQ explains:
You can keep your changes a secret if you like. Maybe your modifications are embarrassing, maybe you'll get rich selling those improvements. Whatever. But please seriously consider giving your changes back! We all benefit when you do.
This is the classic free-rider problem that the GNU GPL was designed in part to avoid. It means that contributors to Apache-licensed projects must be willing to accept that their work may well end up in closed-source products, maybe multiple times. In this respect, it is worse than the GNU GPL with copyright assignment, where only *one* company can do that.