A lot has been written about Open Source and business- in recent years, quite a few companies have been founded on Open Source principles. One point that has yet to be addressed is the loss of idealism that threatens the movement's original spirit.
A lot has been written about Open Source and business- in recent years, quite a few companies have been founded on Open Source principles. One point that has yet to be addressed is the loss of idealism that threatens the movement's original spirit.
Having been involved with Open Source in the last seven years, and having worked for companies that claim to create Open Source products has given me an inside view of this development. While the GNU/Linux hype that we've seen has made it easy to acquire resources for Open Source projects, some of the companies that were created from this hype are now in a precarious position as investors are demanding to see revenue and profit, and the Open Source aspect of the company is pushed into the background.
As a software engineer who strongly believes in the freedom the GPL gives us, and as a big fan of Open Source software, I find myself in a position where I must question my involvement, and consider where to draw the line when my company makes a transition to closed source software development.
The software company
Let's look at several models that seem to have emerged in the last couple of years. Here are fictional examples that illustrate how companies that were solely Open Source business models have drifted into the proprietary space.
Here's our first example: assume you join a company that promises you that all the software they develop will eventually be Open Source. Maybe not right away, but after a period of time, so that the company keeps its technological advantage. After this time, the code will be given to the community. Later, the company begins to acquire other companies, and closed source applications come into the picture. The marketplace begins to change, investors begin to get anxious, and the company decides to refine the business model. The company decides to prioritize profit at the expense of its Open Source strategy: nothing will be open sourced unless it's enforced by inherited licenses or if it maximizes profit. What does this mean for individuals working for this company? Is this still an Open Source company? Does it count if the company supports Open Source projects by giving resources to Open Source groups and development efforts, even if it's just to make sure that the open source foundation used for proprietary applications stays strong? Does it matter which projects you work on? Are the engineers working on Open Source projects 'The Good', those working on proprietary code 'The Bad', and the manager 'The Ugly'?
The consulting business
Another example is a company that specializes in consulting, by selling professional services around the GNU/Linux operating system. After a while, management discovers that there is more money to be made in supporting not only Open Source systems, like GNU/Linux or FreeBSD, but other Unix systems and the whole range of Microsoft systems. The company works not to replace those systems, but to integrate them all. They request that their employees learn to support those systems, such as getting an MSCE or similar certification. Is this tolerable for an Open Source Engineer, or is it time to look for another position?
Internet Service Provider
Imagine a company that has a partial client/server model. The company intends to make both parts available as GPL'ed software. As the development progresses, the company changes the model, and instead of giving the server away, they decide to make it proprietary and freely distribute the client as Open Source software. The original idea was to acquire a huge install base by including the software in popular GNU/Linux distributions, and to offer the service the server provides on the local site. Their model also makes it so their server is the only one the client can connect to. Clearly, you're more likely to maximize profit by providing an exclusive service than by betting on customer loyalty. But can this be called an Open Source business model?
I don't have answers to these questions, which is why I wrote this essay. I see more and more companies drifting in this direction. It seems that most Open Source business models haven't matched the expectations investors and management had a year ago. Now that the hype is gone, the Dollar rules again and business models are about to be adjusted. How do you stay honest in this new paradigm, and is it important to do so? Maybe I'm just nuts and I should be happy to get paid for working with GNU/Linux at all.
I'm a free software devotee in the extreme. Having been an independent consultant for the last few years, and observing the various free software business models out there, I haven't seen one that really strikes me as being perfect.
I finally figured out that I didn't really like wearing the businessman hat (translation: I wasn't as successful as I'd hoped). I've since gotten a real job at a so-called "free software company" (Transvirtual). This enables me to write free software, and not have to worry about how to extract money in exchange for it. :-)
I have personally come to the conclusion that it's impossible to strike a perfect balance between free software idealism and the need to make a buck. Life sucks and then you die.
A "pure" free software company isn't possible. Companies are companies first, some have open source strategies, and some "get it" more than others.
Free software is best done on a personal scale. It's really an artistic, literary pursuit, done person to person. It isn't easily formulized and it definitely isn't easy to scale it to an industrial size. Big companies don't do "art". Real musicians have day jobs.
Here's what I've observed:
Consumers of free software want it all, no strings attached, and for free. They're quite greedy, really (I'm in this category myself).
Producers, on the other hand, are only capable of giving so much. They don't have limitless productive capacity. So they're stuck with the responsibility of finding the right balance.
It is easier for individual developers to balance the demands of open source vs. putting food on the table. If one spends too much time writing and giving away free software, one will soon run into real life limits such as malnutrition and overdrawn bank accounts.
Businesses, on the other hand, have different constraints:
They aren't human -- they're machines. Business people make calculated bets on where to allocate resources in the hopes of being rewarded by the marketplace with a profit (eventually). Businesses live in a constantly changing competitive environment, and fat profits one year can change into massive losses the next if the business doesn't adapt faster than the competition. Either they're a machine that works, or one that is broken.
In many cases, it may make good business sense to allocate resources towards developing and distributing open source products in order to make money up in other areas. Some might call this a subsidy, or it could even be considered flooding the market to undercut the competition. It's good for the consumers, but the businesses can only do this if they can make up the money elsewhere.
Businesses exist in ecological niches and they are all different. There isn't such a thing as a cookie-cutter open source strategy that really works. In many businesses, having an open source strategy doesn't even make sense.
Open source can be very heavy ammunition for small companies. For example, companies like HelixCode, or SourceGear can give their wares away for free, and they can carve an ecological niche for themselves in a software market dominated by the massive monolopy that is Microsoft. But long term, all companies need to derive an income stream, and that's going to involve "selling out" to a certain extent. A business can't be operated like a charity. A balance must be struck.
Small free software startups are built around the personalities on the staff. The projects are small, and the developers are still constrained by the number of hours in the day. Such companies can still interact with the free software community on a personal scale.
Any successful company will grow. They have to. The culture of a large company is radically different than that of a small company. The majority of the staff in a large company will be involved in proprietary activites (usually not software). The individuals working at the company will carry less influence. In the end, the stockholders control the company, and they are primarily interested in making a return on investment.
Projects in a successful company will be larger in scale, and will require a more disciplined "cathedral" style engineering approach (with deadlines, budgets, etc.). This is in stark contrast to the way in which real free software evolves (ESR's "bazaar").
It takes strong leadership and a special type of corporate culture in order for a large company to be able to effectively harness the power of open source. The CEO, and everybody down the management chain has to be able to "get it" -- which is an extremely tall order, when the free software community is so young, and the number of "core" members who have had years of experience in the issues is so small. I think that's why free software developers have become such a valuable commodity.
Use your open source strategy as a secret weapon to carve out an ecological niche in the marketplace. It can be a massive long-term win. But be conservative with how much you spend on free software, because it's going to be pure overhead which comes straight off the bottom line. If worse comes to worse, take comfort in the fact that you can "tune" your profits upwards by simply laying off your free software developers (admittedly, short-term gain for long-term pain).
Ultimately, so-called "free software companies" can really be wolves in sheeps clothing: they are all companies (with a profit motive) first, and they can all silently shed their commitments to free software if it becomes necessary in order to keep the investors happy.
But the nice thing about free software is that it truly is "free". Any company that is releasing open source software is essentially giving gifts to the community. The old saying "It doesn't pay to look a gift horse in the mouth" can also be applied to free software. If it meets the standards of the DFSG/OSD, there probably aren't any hidden strings attached.
Business people, build your business model to make a profit first. Failing in business sucks. Competition (not free software) ultimately is the force that keeps the total cost of ownership down. But free software has it's own unique merits. Any company that provides a supportive environment for free software developers to do their thing is OK in my books. ;-)
In retrospect, this is a little trite, but it seemed to help when I was feeling a lot of doubt about the idea of open source business.
the "selling out" issue is the same as for any other art form: you can either try to derive income from your art or not, and if not you will be perfectly happy keeping it as an art form and doing something else to get food on your table.
if you do try, you will wind up on the graph of [payoff] * [pleasantness], and you are searching like all of us for a saddle point on the "reality" curve running through this picture. on one end, you have the moral equivalent of singing car jingles or drawing milk carton logos; on the other you have "doing only what I want on my own time". There are strange anomalies soaring way above the curve where someone somehow manages to do exactly what they want, when they want, and get a load of cash for it; but you're not always going to be that person.
a thing to remember is that you are not a business, you're a human working for a business. a business sees us as a cost:revenue ratio that it is trying to minimize, but ultimately the person who gets to say how low that ratio goes is us. so long as you remain employed by the company, they cannot alter your tendency to be less productive when alienated from your work. so if they are publicly traded, the board (shareholders) will appoint a new leader who can cut costs by firing people who cost them too much. if there is a majority holder in the company, however, the decision of who to fire is ultimately under their control, and they may have the good judgement to not fire their best talent. companies in that stage of life are the ones which it is nice to work at; once everything goes "to the market" things get much more ruthless. talent drains because they are too expensive, and short-sighted decision making takes over. don't work at places like that if you can avoid it.
I hate business. I want nothing to do with it. I don't care about it. This has nothing to do with open source or not open source. I just want nothing to do with business (aside from getting a paycheck, of course). YMMV, but I prefer to let those who care deal with it, and I'll just stick to my life and my code.
In his reply, Jim Pick wrote "Any successful company will grow. They have to." I wonder about that, though; why do they have to? Why is constant growth considered so critical?
Consider a piece of software such as Samba or PostgreSQL. The core developers could create their own company, and work doing Samba-related consulting and development; companies such as SGI might contract for ports or enhancements, users might pay for desired features, and so forth. This company would be pretty small: 10 developers, plus a few technical writers, accountants, support staff -- maybe the company would have 20-odd employees. There's little reason to grow much larger; what would the additional people do that isn't a distraction from the company's focus?
It strikes me that this would be a pretty good life: everyone could earn a decent living, though they wouldn't become billionaires; the developers get to work on their pet project with like-minded people; the software can be well-maintained, which benefits everyone.
I wonder if the attempt to build or maintain large companies, on the scale of a Linuxcare or Corel, on top of free software is ultimately doomed to failure, and we should be thinking of forming smaller firms that specialize in one particular product.
(Have economists ever researched which is better for the common good: 10 small companies worth $N, or a big company worth $10N?)
It seems that so far the only known profitable free software companies have been small consulting shops; the larger free software companies, where they've disclosed their financial situations, have generally been losing money.
It is obviously possible to have a profitable large company, whether you focus on software, hardware, or services. But we haven't seen that in the free software world so far.
Obviously, I wish the larger firms luck -- I have investments in some of them, am employed by one, etc. But I'd say that someone starting out and wanting to establish a successful free software company (that returns a profit, allows people to enjoy their work, and contributes to the community) shouldn't assume that lots of growth is necessary.
In fact, some companies have three to five consultants and do an excellent business, have fun, and never touch proprietary software.
Continuing shoen's train of thought:
Me and a co-worker (someone in Product Marketing) were talking about this, and I still have questions about it:
I would love to be part of an open source company, so I spend time thinking about this. I'd assume that it is possible to build a company around the idea of being open source and small. But would or will it be only that a small group can be?
Or is this the way businesses will work in the future? Lots of small fast moving companies?
A lot of the more traditional business people I've talked to usually say, "Nobody knows how to make money with open source". Ususally they mean that nobody has raked in lots of cash like current software giants do, yet. When I remind them that this doesn't mean it isn't possible, some actually look thoughtful about it.
How much profit is needed before a business is sucessful? Does it really matter, as long as the employees and owner are happy?
Well, I'm done letting my thoughts wander.
I don't have much to add here, I just want to point out that ``distribute a GPLed client and make the server proprietary'' is not really a sane business model. If the community has the source to the client, it's not that hard to figure out what the protocol is and rewrite the server.
Of course, if someone can point out a less obvious way to control the server that I haven't thought of, I'd be greatful.
Jim, my cup runneth over. You've pretty much inserted another article as a reply here. 8) The current economic system really doesn't provide much of a way for people to do free software except on their own time or by accident. I find it extremely interesting that you suggest that both developers and customers should focus their primary loyalty on the community. That's been the traditional viewpoint within the community, but the "gold rush" fever allowed it to be obscured a bit. I think we're getting back to it and I expect the customer to "get it" more and more over time as well. Which might actually provide some sort of advantage to open source companies that are able to institutionalize "getting it" themselves.
It'd be nice to come up with some effective designs for open source businesses. I think Andrew and Seth are right to suggest that you don't have to be large to be successful. Large companies tend to be extremely successful at two things: (1) paying out large payrolls over extended periods of time, and (2) coaxing large transfer payments out of strangers in the form of public stock offerings. For the customer, neither of these things is a clear win.
Smaller companies often focus on producing value for their customers. Having really good venture capital early can disrupt this mindset. It can produce companies whose main source of income is venture capital.
Christian, shareholders in public stock companies do in fact want their companies to maximize profit. It's built into the institution. This is especially noticeable in high-tech businesses. Is it possible to build a public stock open source company without "ideals drift"? Maybe if you ramp up really slowly, a thing that's difficult to do.
decklin mentioned that having a proprietary server is not enough to keep other people from making a server. However, one of the major tenets of free software is that having free software makes it so that the best provider of a service is the person who makes money providing that service.
What this suggests is that you don't have to keep your server proprietary to make money off of your service. You just have to offer the best service and do the best marketing.
There seems to be an assumption that to be successful, you have to be publicly traded. As several people have pointed out, this is not true; you can have a successful small business.
Corporations are evil. I believe that, as soon as a company enters the stock market, they have sold their soul. As soon as a company is no longer owned by one person, or a very small group of people, it becomes an entity itself, an entity of voracious appetite and no principles.
A publicly-traded company is beholden only to its stockholders, and not its customers or employees. And the odd thing is, this company is valued not by any true worth, but by public opinion; so the price of its stock becomes more important than the value of its production.
(Note: the stock market is also contrary to a free market; a truly free market would not require a stock market. Then, companies would be successful more on the merits of their products than on the vagaries of the strange cabal that is Wall Street.)
I believe that a truly successful company is one that does not grow beyond what one person can manage; also, a truly successful company will cooperate with competitors instead of trying to destroy them.
In the end, I suspect it all depends on your definition of success.
"Try not to become a man of success, but rather try to become a man of value." -- Albert Einstein
Sorry, I just realized my last post didn't contain this paragraph, which was the point:
I draw the line where my principles are compromised. I believe that, in order for us to socially evolve, we hold our values more closely than we have in the past. As a staunch believer in the GPL, and the values it represents, I could not work on any project that is not Free/Open/Libre.
Take IBM for example, a huge publicly traded company, has done a lot of cool stuff, like sponsoring a big chunk of the Apache 2.0 development, Postfix and for a while they paid Rasmus to hack away on PHP. Sure, they're probably doing a lot of evil stuff (some people would say like patenting a bunch of new technologies every day).
So, what's the point? That big corporations sometimes creates opportunities for developers to hide away in a corner do cool stuff as much as for the marketing droids to get huge budgets to play with. I don't know the inner workings of RedHat Labs, but I suspect they get more resources to do cool stuff[tm] than your average 20 person company could give them.
Bigger companies are often doing cooler things than smaller companies can do. (Or at least doing more of it which can be kinda cool in itself) and done right it will often create spinoff software that can be licensed with a business friendly license like the Apache License and become an asset of the community. At VCLK there is thousands and thousands of lines of code that is our core product which we can't give away (and it wouldn't be very interesting to anyone but our competitors if we could and did), but the corporation is happy to let the geeks in the end of the building give back enhancements and fixes we make and the tools and modules that could be useful to others. Sure, it's not the business of the corporation or what the management care about, but so what? We get better software to the world, and that's what it's all about.
But then again, reading your comment on the GPL, maybe it is not only about better software but also about a different value set on a more detailed level than open source or not open source.
- ask (who owns 50% of a small 7 people shop with high values on open source and happy employees doing interesting stuff but currently spends most of his time writing Perl code for a publicly traded corporation)
A corporation as an entity doesn't have any ethics as an entity - it just exists to make money ("maximize shareholder value"). In some people's eyes, that's what make them evil, and I tend to agree.
The stockmarket focuses corporation's attention to a single thing: foreign capital - and makes that the most important thing. Strange, because we all know that getting capital is the easy part of starting a business. Getting customers and employees is really hard.
Therefore I think that free software companies should not strive to do an IPO. Really, you don't need one: if you're a free software hacker who becomes rich from a proprietary company's IPO, chances are big that you'll spend all that money on free software hacking time, so you may just as well skip the getting rich bit and start out with doing that at a small, privately held free software company ;-)
A privately held company typically focuses on employees and customers, and lots of them focus on their environment as well (by sponsoring local events). Add to that the ethical value of developing free software (don't listen to that Meyer guy ;-)), and a small private company becomes the model of choice for free software hacking.
Companies can be small, can shrink or grow slowly, can do whatever the owners want, and still be successful.
My parents have run a small business for years. Over that time, it's provided employment for .. probably about fifty people (not all at once), and taught thousands to drive safely. I'd consider that success! When they're ready to retire, they'll be able to sell the business for enough to supplement their retirement income. That's also success.
'Normal' shareholders wouldn't sit still for it, but the only owners are my parents. (They considered making my brother and I part-owners as well, but even if they did I wouldn't want my parents working harder than they are.)
They may decide to sell the major business name, and keep the minor one, shrinking that business as they semi-retire. If so, that's /still/ success.
So yes, it can be done. It depends on how you define 'success'.
Is it possible to design a company that integrates the democratic qualities of OpenSource with capitalist values? I think it is.
There is a chasm between OpenSource and captitalism.
As noted above, publicly traded firms are concerned with providing a return for investors. Why do firms require investors? Because they need money to expand their capabilities. Investors provide the funds with the expectation of being repaid, hopefully with a return. This is not gratis, there is mutual benefit and risk.
An OpenSource firm can benefit from public funding just as any other firm. The complexity, of course, is how the firm will repay investors. OpenSource, to date, has not been a great platform for builing businesses. A company must build revenue or inherent value with investors money -- that's the deal. A company that doesn't agree to that basic contract isn't capitalist. Without income or tangible assets, there is little to repay investors.
Maybe companies are looking at the wrong aspect of OpenSource. OpenSource is successful because it is democratic. Individuals decide where they work, how they work, and what they work on. That is the inherit freedom in the movement.
We know that politics and economics are (dangerously, at times) related. But they are distinct concepts. Can a firm adopt the democratic aspects of OpenSource while avioding the economic dangers? Can a firm create a dynamic, free envrionment for its contributors (developers, et. al.) without conceeding the need for product revenue?
In such an environment, contributors may move from project to project. Projects would need to compete for attention and mind share. A system of checks and balances would be needed, and feedback loops to ensure stability. But it seems possible. Not only possible, but with fantastic potential. Imagine the productivity of self-organized teams working on a project because it is their passion.
That sounds like a business build on the principles of OpenSource.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!