I spent some time this afternoon reading Sarah Lacy's article "Open Season On Open Source?" at BusinessWeek Online. The article discusses the trend of closed source companies (namely Oracle) buying open source companies (namely Sleepycat and rumors of JBoss). Lacy writes:
...in recent weeks the open-source community has been thrown into tumult. Software giant Oracle Corp. (ORCL ) has acquired two small open-source companies and is in negotiations to buy at least one more. Many experts believe this is the beginning of a broader trend in which established tech companies scoop up promising open-source startups. While the validation is thrilling for Galstad and others in the community, it's also unsettling. Many young idealists who set out to create an alternative to the tech Establishment now find themselves becoming part of it. "When your main goal is to turn a profit, you start to lose some of the things that made open-source projects thrive," Galstad says.
When I read that, I had to sit back and think about it. Is that really true, or just romantic thinking on somebody's part? Are profit and open source ideals really in conflict?
Galstad is one of the people feeling the tug [to accept outside money]. He says he has received dozens of unsolicited calls from venture capitalists interested in taking a stake in Nagios. But he isn't tempted. He figures that if he takes venture money he'll have to start looking for a way to cash the investors out, probably through a sale. That could drive him into the hands of a big software company, where he may not be able to pursue the projects he wants. "Once you incorporate, you get shareholders who want to see their investment turn a profit, and all of a sudden the goals and ideals of the project are going to change," he says.
I thought about it some more.
Eventually, my conclusion was that no, profit and open source ideals aren't fundamentally in conflict. Maybe that's just situational ethics since my salary is being paid by a commercial open source company, but let me argue that I'm not that much of a sellout.
Sure, I agree with Galstad, quoted in the article, losing control of your work environment and being forced to work on projects you don't enjoy sucks. But that's more a matter of maintaining control of your work environment, unrelated to whether you're working on open source or not. If you want to be a one-man-shop, in total control of your destiny, you can do that whether or not you're writing open source. Conversely, I think that open source and the profit motive aren't necessarily in conflict.
The fundamental issue for open source is how people can give away code while avoiding going hungry. (We've been getting a lot of those questions from everybody lately about Vyatta. While we have a plan for that, we just aren't sharing it yet.)
As an individual, it's more difficult to write open source and avoid starvation. If you, yourself, spend all your time coding, it's very difficult to make a revenue stream off your work if you're giving it away. If you were to try to monetize it yourself, you'd be constantly stopping your development to answer support calls, provide training, or whatnot. So what do you do? Well, if you want to eat, you find another guy to answer those calls while you do the coding, and you form a small business. And as soon as you do that, there's a profit motive involved. If you do your jobs well, people will love your software and your business will grow. You'll be able to hire more coders and more support guys to help with more features, etc.
This is how Linux worked. Now it's a multi-billion dollar ecosystem supporting all manner of businesses. But all during the development of that ecosystem, people still had to eat.
I think the key point to keep in mind with open source isn't whether there is a commercial interest involved in its production. The key point is whether the code is open and free and whether there is a healthy community thriving around the code-base. If the code is free, then the community always has the ultimate power. They can fork the code, develop derivative versions, etc. As long as the commercial entity is providing value, they should be encouraged to earn a profit and support the work.
I think one only needs to look as far as Red Hat for a good example. By most accounts, Red Hat is a great open source citizen. Its coders work on a variety of open source projects, including the Linux kernel, and contribute all that code back into the community at large. Red Hat is also a public corporation (of which I'm a shareholder, in fact). Personally, I love the fact that Red Hat make a profit. I think they provide a good service for their customers and they use that revenue stream to fund further open source development. If Red Hat ever becomes a problem child, it's code can be incorporated into other distros immediately (if it hasn't been already).
So, back to the question: is open source in conflict with the profit motive? I say not, since the essence of open source is choice and the ability to innovate on the open codebase. As long as that's preserved, let anybody and everybody supply additional goods and services to the community, earning whatever customers are willing to pay. The bad businesses will die; the good ones will thrive. And the good ones will plow that revenue back into the creation of more great open source software.