Free Software Will Win! - The Role Of Free Software Businesses
Free Software Has Come A Long Way Through Volunteer Contributions
So far, Free Software has been advanced primarily by pro-bono contributions from individuals and companies, and this has been remarkably successful. In fact the only reason why commercial proprietary software is still surviving in most areas (in spite of the competition from Free Software) is that so far there has too little activity around making Free Software programs appropriate for users who are not so technically inclined; this must involve professional usability research and testing. The Business Working Group of the DotGNU project aims to motivate some entrepreneurs to start Free Software Businesses that will change this situation.
About Free Software Businesses
A free software business is a company which does not exist solely to earn as much money as possible without incurring unacceptable risks; it's a company where contributing to the development and improvement of Free Software, and upholding the principles of the Free Software movement, are among the basic values of the company. (Here the term "Free Software" refers to computer programs where every user has rights to read and modify the source code, and also rights to redistribute the software, with or without changes, as source code or in binary form. The Free Software Foundation maintains a precise definition which can be found at http://www.fsf.org/philosophy/free-sw.html . There are also people who, because of differing views on matters of philosophy, see the appendix, prefer the term "open source".)
Many people seem to think that there must necessarily be serious economic disadvantages for Free Software companies. In particular, there is a widespread belief that companies which invest into Free Software research and development must be economically disadvantaged in comparison to competitors which can get the essentially the same rights to use and redistribute the software without incurring the costs of research and development: The necessary investment for becoming sufficiently familiar with a reasonably mature software package is usually significantly lower than developing it from scratch, therefore it is often assumed that such "free riders" would have a serious economic advantage over the company which had the R&D expenses. This discouraging argument has demotivated many businesses from investing into Free Software R&D.
It is possible to "sell" Free Software, or (more accurately) distribute it in exchange for a fee. There is a page called "Selling Free Software" on the website of the Free Software Foundation at http://www.fsf.org/philosophy/selling.html which encourages this. However this will in general not generate enough revenue, most Free Software businesses will have to sell services. Some promising areas of business include
The Distinction between Investments and Pro-Bono Contributions
From a business perspective, there are three entirely different approaches for contributing to the Free Software community. One is to through investments, where the company hopes that the expense will result in business benefits which are big enough to justify the expense. The value of this benefit is often divided by the value of the investment to obtain a quantity called Return On Investment (ROI), and investments should be made only when the expected ROI is significantly higher than 100%.
A second approach is to make commercial offerings where from the beginning a fixed part of the revenue is earmarked for advancing the good cause of Free Software. This may increase your sales as well as benefiting the cause if many of your potential customers have sympathies for the Free Software movement.
Alternatively, and in addition you can make pro-bono contributions where you use a part of your profits to advance Free Software projects which you consider important. This option is generally only available to companies which are very profitable; all other companies need to consider very carefully what investments will allow them to reap a good ROI.
ROI from Research and Development Investments
The benefit from Free Software R&D can come in different forms. If you sell products or services that are directly related to Free Software that you have developed, you can benefit in two ways. On one hand the Free Software is used in creating the customer benefit that the customer ultimately pays for, and on the other way, pointing out that part of the revenue is earmarked for recovering research and development costs of the program will make potential customers more inclined to buy from you than from a competitor who is just using the software without having invested into developing it.
You can also benefit from contributions to the Free Software community that enhance your reputation in the community, this is explained in the section "Difficulties with Business Alliances" below.
Generally speaking, the best ROI can be expected from those research and development projects which have good synergies with your commercial offerings and which in addition give you a good reputation in the Free Software community. Big companies which benefit significantly from having a lot of good Free Software available need to keep in mind that they will only be able to build a good reputation in the Free Software community through making big contributions; this will be expected of them.
The Importance of Business Alliances
At the time of the industrial revolution, starting a successful business usually required a huge amount of capital, and in some areas of business, having a lot of capital is still a key factor. For an industrial company, it is typical to raise capital and use it to buy other companies when the capabilities of those companies turn out to be of great strategic importance.
For Free Software Businesses, it is (or at least should be) impossible to raise the kind of capital that this strategy requires, because there are no "hard assets" that would give the investor real value in exchange for the investment. In addition, acquisitions of companies that create value primarily through intellectual work usually don't work out in practice: The acquiring company tries to install a different corporate culture or at least a different strategic purpose, thereby causing key people to leave; this process destroys much of the value of the acquired company.
In addition there are serious problems with acquisitions of companies in far-away countries with a very different culture. It is quite possible to have control of the majority of the shares of a company without getting much real influence on the real-world actions of the company which should in theory act according to what the majority shareholder says. So the acquiring company may have expended a lot of capital without getting the desired strategic benefit.
For these reasons, Free Software businesses are much better off cooperating with each other instead of trying to control each other through capital acquisition. the term business alliance will be used from now on to describe any form of mutually beneficial cooperation between mutually independent companies.
While business alliances are becoming more and more important in today's economy, but they generally have a high rate of failure (depending on how you count, about half of all such alliances fail) and the negative impact of failed business alliances on the concerned companies is often very severe. Indeed if both partners in the alliance are not really interested in anything but their own profits then it is very easy to see why very often, business alliances fail from lack of trust between the alliance partners. The vast majority of business alliances are never developed to the full extent that would be possible if issues of mistrust wouldn't get in the way.
Having a good reputation in the Free Software community helps with reducing these problems of mistrust. Your company's past and present genuine contributions to the Free Software community (for example by paying developers for working on important free software projects through programming, writing documentation, or usability research) are important to increase the amount of trust that Free Software minded individuals and companies have towards your company, while at the same time your company needs to take care to avoid violating the principles of the Free Software movement. In addition there is a psychological factor: When two people work on contributing to the same Free Software project, it becomes very easy for them to develop a strong interpersonal rapport and a feeling of "we". That also helps to build strong, stable business alliances between their companies.
Appendix: Philosophical Differences
Since Richard Stallman's announcement of the GNU project in 1983, there is a Free Software movement which holds that it is ethically and morally wrong to deny software users access to the source code of the programs they use, or to disallow making improvements and sharing them. In 1998 a large group of Free Software users and contributors decided to stop using the term "free software" and say "open source software" instead. While their definition of "open source software" is almost identical to the definition of Free Software, the difference between the philosophy of the open source movement and the philosophy of the Free Software movement is very significant. The Open Source movement and the Free Software movement share the values of generously sharing source code and collaboratively creating community-owned software, but the movements differ with respect to the underlying philosophy. While the Free Software movement is based on principled ethical reasoning, the Open Source movement does not agree with considering the distinction between Free Software and proprietary software to be primary a matter of ethics. For example, one of the business models which Eric S. Raymond recommends in his paper The Magic Cauldron is to "use open-source software to create or maintain a market position for proprietary software that generates a direct revenue stream." This kind of approach is totally unacceptable from a Free Software perspective.
Your comments please...
You are invited to add your comments concerning this at the appropriate page of the DotGNU Wiki