You can buy software, but you can’t buy “community”.
When IBM bought Gluecode, they didn’t buy Geronimo. It is a common misperception to think that IBM bought Geronimo, the application server, and that the Geronimo project is now synonymous with IBM. To the contrary, because of the Apache license, no one will ever be able to “buy” the Geronimo code. If anything, the IBM purchase of Gluecode was an investment in an open community, and an open commercial eco-system that continues to expand. Red Hat’s purchase of JBoss is a completely different story. Why? The supposedly “free” GPL, actually encourages consolidation of corporate influence over a codebase. By purchasing JBoss, Red Hat has effectively become the original copyright owner of a codebase licensed under a reciprocal license. Because of this license, Red Hat can, indeed, “buy” the JBoss project’s source code and community all in one perfect corporate transaction. While I’m happy for the few JBoss employees I know, I’m not exactly celebrating the consolidation of corporate power over open source software…read on…
All your base are belong to Red Hat
It’s tough to build a real community when you have paid committers and unpaid contributors developing code under (L)GPL with the original copyright assigned to the corporate entity that funds the effort. The unpaid contributors will eventually start to wonder if it makes any sense to improve a project that will eventually enrich a subset of core developers. Additionally, the FSF license makes it impossible to customize and extend software without enriching the copyright owner who is free to dual license as much as they want to. (Read, we can sell commercial licenses, but you can’t) In other words, if I’m some great programmer sitting at home wondering where to focus my effort, why waste my time helping to increase the value of an M&A target when I could just strike out on my own. The JBoss folks will undoubtedly argue that the Red Hat purchase validates the model, but I’m of the opinion that giving this community over to Red Hat will probably cause more problems than it is worth. Neither JBoss not Red Hat is the first name people think about when they are looking for application servers and this does little to change that. Argue market share all you want, and I’ll argue that a significant number of web/java projects tend to avoid the complexity of an application server altogether.
I don’t want to be seen as raining on the parade, but there has been such an absence of reaction I feel compelled to say something. I’ve always had something of a mixed reaction to JBoss. On one hand, the involvement of JBoss in the Tomcat project has been a great thing, but on the other hand, I’ve always had some contempt for the corporation + “community” + GPL license approach. When a company “owns” the community (quite literally) there is a chilling effect on participation. The “JBoss-model” effectively limits the true commercial “ecosystem” that could grow around any particular project, and it does so by design. I view the GPL as an anti-competitive inhibitor on par with a software patent, and in some ways it is worse, “This is our product, you want to improve upon it, go ahead but we’ll eventually integrate you customizations into our commercial offering.” That’s not freedom to me, that’s an overbearing corporate tactic. I’m not 100% against the GPL license, but, when it is paired with corporate interests, Ithe GPL controls and consolidates power for an original copyright owner who is free to distribute under a different license.
Real Freedom is Worth much more than ~$300 million
Consider the value of the Apache HTTPD server. If you developed a method to quantify the economic impact of a given technology, Apache HTTPD would probably rank as the most economically significant open source product to date (other than sendmail or bind). Although impossible to accurately measure, the commercial impact of HTTPD is immense - I’d venture that if one were to put a monetary value on the technology that runs 2/3 of the web you’d end up with a figure in the hundreds of billions possibly more. This figure would not only factor in the value of the technology itself, but the value of the commercial ecosystem built atop it - services and products. Chances are high that the majority of people reading this blog entry have in some form or another profited from the work of the HTTPD server project. The key difference between the economic impact of a product like HTTPD and the economic impact of a product like JBoss is that the immense economic benefits of HTTPD haven’t been consolidated in one single corporate entity. This is due in no small part to the Apache Software License. “Free to take, free to change, free to distribute (just tell people where you got it from)”
So, calll me an idealist, but I’d much rather that the fruits of my own open-source “labor” be distributed widely. I’d much prefer to work on an Apache-licensed project with heavy involvement from IBM than a GPL-licensed project owned by Red Hat. Even if IBM is going to take my effort and resell it to many, I’m confident that I have the same rights for code that they contribute. In an Apache licensed project, there is a level playing field, there is an open ecosystem. Geronimo can welcome the participation of individuals and corporations like Virtuas alike, they all have equal right to benefit from the intellectual property developed - there are no second class citizens. I (or you) could take the Maven or Geronimo codebase tomorrow, customize it and sell it to some corporation for thousands of dollars without distributing source of my customizations - the FSF sees that as a bad thing, I see it as encouraging participation and allowing people to create a sustainable commercial “ecosystem” around open-source.
What causes the most damage? When a community is mediated by a single corporate commercial entity, you fail to attract those with casual, but valuable interest, and you end up creating a top-down corporate structure. Open communities like the Apache Software Foundation serve as a sort of neutral referee, they can more easily scale to meet market demand and keep up with the pace of innovation. This is not to say that open source foundations are perfect, the Apache Software Foundation itself tends to get bogged down in the governance process, but at least this process isn’t driven by the commercial interests of a single contributor. And the rules of Apache prevent a single commercial interest from gaining a controlling “share” of a particular PMC. In my view, the ASF exists to encourage open communities, and, IMO, the license is central to that effort.
An alternative reality: the GPL’d Apache HTTPD server
Imagine if there was a single company in 1996 that funded HTTPD development and licensed it under a reciprocal license like GPL. I’m certain that this project wouldn’t have seen the level of corporate and individual participation it has seen over the last ten years. A company like IBM probably would have balked at extending and enhancing such a system knowing that such altruism was simply subsidizing the operations of the controlling corporate organization. You wouldn’t have seen a whole constellation of commercial interests attracted to the development effort, you probably wouldn’t have seen the large number of books printed on the subject. When a company controls the community, you also tend to expect them to take care of the documentation.
If such a company had existed and the httpd server community was “owned” by a single corporate entity, I know what would have happened to that corporation in early 1997, They would have been purchased by Microsoft, and this would have affected the Linux adoption curve as well. If Apache HTTPD had been purchased by Microsoft in 1997, we’d be working in a dramatically different environment. Microsoft would have not only had a monopoly on the browser, they would have had a monopoly on the server-side as well. Java would have been dead on arrival. Technologies like Rails or PHP would have to go through the central mediator that is Redmond. We’d all be paying a lot more for software, and Microsoft would have brought httpd development to a close.
All of these GPL plays will fall off the radar one by one, InnoDB purchased by Oracle. MySQL will eventually be acquired, etc. These companies are buying these products because they want to be the original copyright owner and they want to eventually dual-license, extend and sell commercial licenses. This isn’t scare tactics as much as it is my fear that corporate / GPL / open-source strategies point toward consolidation and we’re not better for it.
A Better Alternative to the “JBoss Model”
I hope that the sale of JBoss to Red Hat closes the door on the “corporate-sponsored community” model. It was too much corporation and not enough community.
I prefer the corporation + community + BSD-style license approach. In other words, the model of Mergere and, to some extent, Gluecode. In both of these cases, these are companies that “sponsored” a large portion of the development of an open source project. Taking a look at Apache Maven, there are at least 4-5 developers who work full-time for Mergere, which is funded by Simula Labs, the same company behind GlueCode, a team of people dedicated to the development of Geronimo. The great thing about both efforts is that as a small time contributor to Maven (now and then I submit a doc patch, that’s it), I don’t get the sense that I’m only contributing to Winston Damarillo’s retirement fund. Sure, Mergere may ultimately profit from the work people put into the product, but there is nothing stopping anyone involved from doing the same.