Why Open Source Companies Need to Give Up Control
Published 14:29, 20 October 09
I've always regarded the passionate discussions that take place within the free software world as a sign of health: it indicates people care, and that they are thinking hard about the issues.
Against that background, a sudden efflorescence of posts about open source companies – what that means, how they work, and their future – is something that I've observed with a certain satisfaction. But sitting and watching isn't really my kind of thing, so I feel it's time for me to wade in with a few thoughts of my own.
In one sense, this discussion is a continuation of the long-running argument about the larger relationship between free software and open source.
But there are also aspects that are unique to the business world – not least because money is involved. For example, here's a post that suggests “the romantic open source narrative is failing”, and the “open source community” is “selling out”:
Big software vendors and VCs throwing money around is not particularly interesting – that’s just the nature of the beast. But the fact that there are so many members of the “open source community” ready to sell out – now that’s interesting.
Well, actually, it’s interesting only to the extent you still believe the romantic narrative that commonly circulates around Open Source. That story involves bands of fiercely independent geek-heroes. Armed only with an Eclipse IDE, a weekend’s supply of Jolt Cola for energy and a poster of Jean-Luc Picard for inspiration, they set out to usurp the big software companies in their attempt to control the software universe.
Who would have thought such esprit de corps would be so easily bought. Not cheaply…just easily.
So, are members of the open source community selling out? I don't think so: it's the people who set up open source companies who are taking the money – and that's hardly surprising, since money was presumably one of the main reasons why they entered business in the first place. Open source was a means to that end, and if someone is prepared to offer them plenty of money to sell, there's no reason they should refuse.
The open source *community*, by contrast, is not in it for the money, but the software – that's how it's defined: by its interest and involvement in a piece of code. When that code is sold, the community gains nothing, and might even suffer if the new owner is buying an open software project for the wrong reasons – to remove a threat to its own closed-source offerings, for example.
That fact underlines the community's subservient nature in these cases: it doesn't really have any say in whether the code is sold, for example. And the reason for that is simple: open source companies generally own the copyright to all the code. Indeed, one of the distinguishing characteristics of businesses based around open source code is that they typically demand outside contributors to assign copyright to them.
As well as giving them overall control of the project, owning the copyright also allows them to sell the code under commercial, non-open licences – something only the copyright holder can do if the free licence is the GNU GPL, as is generally the case.
This introduces an asymmetry into the collaborative development process: although the copyright owner can take external contributions and offer them under a commercial licence, it is not possible for anyone else to do the same.
That's handy for open source companies, but breaks the underlying contract of mutual benefit with companies and people that contribute code. And without the reciprocity, I think the urge to contribute is bound to diminish, because there is likely to be an underlying feeling that external contributors are being unfairly exploited – not least when a company decides to “sell out”.
If this analysis is correct, open source companies will find it harder to encourage external contributions to their products. Indeed, I often get the impression when talking to open source companies that already most of the coding is done in-house, with only minor, relatively inconsequential input from outsiders.
There's nothing wrong with that, and some companies may be happy with that model. But it throws away many of the advantages of open source over closed source approaches, notably in terms of people finding and reporting bugs and maybe even fixing them. More seriously, perhaps, it also diminishes the role of the community, something whose importance and power is increasingly recognised (hello, Facebook.)
My fear, then, is that the present open source business models are not sustainable: they risk becoming open source only in a superficial way, and largely indistinguishable from conventional applications offered by traditional software companies. So what is the alternative?
It seems to me that the problem arises from the fact that the GNU GPL is now being used in ways that are quite within its terms but go against its intended spirit. The original idea was to guarantee equal rights to all users; but when a company owns the copyright to all the code it occupies a privileged position that skews the collaborative process.
When the GNU GPL was drawn up, this wasn't a problem. Either individual programmers kept the copyright to their contribution (as is the case with Linux), or they assigned it to some neutral body like the FSF. Here's what the latter says about this:
In order to make sure that all of our copyrights can meet the recordkeeping and other requirements of registration, and in order to be able to enforce the GPL most effectively, FSF requires that each author of code incorporated in FSF projects provide a copyright assignment, and, where appropriate, a disclaimer of any work-for-hire ownership claims by the programmer's employer.
That way we can be sure that all the code in FSF projects is free code, whose freedom we can most effectively protect, and therefore on which other developers can completely rely.
So one way to avoid the asymmetries that exist today with most open source companies would be to create more such neutral bodies (assuming that the FSF was unacceptable) to hold the copyright on behalf of the community. In fact, that's already starting to happen: witness the increasing number of foundations that have been set up as custodians of particular code-bases – Mozilla Foundation, Eclipse Foundation, Symbian Foundation, etc.
As well as encouraging people to contribute to projects, this would also allow a richer and more complex ecosystem to grow up around the underlying code – Eclipse is a particularly good example of how incredibly successful that can be.
This would increase the overall clout of the project in the marketplace, and reduce dependence on any one company, since a level playing-field created by a judicious choice of licences would allow new entrants to compete fairly in all sectors, including those requiring non-free offerings.
That may not be something that present copyright-owning incumbents would welcome, but I believe it is better than the alternative, which is an increasing alienation of the communities that have grown up around commercial open source projects. The choice may be between sharing an ever-increasing pie with competitors, or hoarding an ever-smaller one.
Creating central foundations for code might also help to address the perennial question of scale: that is, whether open source startups on their own can ever compete with established computing behemoths based around closed source. It would eliminate the problem we are seeing with MySQL, where there are fears that Oracle will simply co-opt the open source project for its own purposes, with little thought for the existing communityj, secure in the knowledge that it will own all the copyrights.
With the code's copyright held by a foundation, removing the market leader as Oracle might do with MySQL would simply create more opportunities for other companies willing to step into its shoes. The more players there are in the ecosystem, the richer and more resilient it would be, unlike the present open source monocultures that have grown up. That would be better for the community, and make enterprises more comfortable in taking the open source route, thus enlarging the pie yet further.
I'm not alone in seeing a bright future for such community-controlled projects. As well as the Two Matts – Asay and Aslett – venture capitalists also seem to be thinking along the same lines, as the 451 Group noted recently:
while vendor-controlled projects remain the preferred approach for VC-backed open source-related vendors, the vendor-controlled approach has declined in the past two years.
Meanwhile, following, the early dominance of community-controlled projects (a result of the early Linux start-ups), the popularity of community-controlled projects has been rejuvenated in the last couple of years.
Of course, those communities are now dominated by vendors, but they are built on a foundation of collaboration and (there’s no other word for it) community - that is often lacking in many vendor-dominated projects.
So giving up control of the code to a foundation might well prove to be a smart move even for those hard-headed open source business people aiming to “sell out” at some point....