Disclaimer: I have done no indepth research on this topic so if I have wrong information, don’t be surprised.
The current trend in the software market is somewhat had to pin down. On the one hand there is the open source movement which seeks to make software source code available to all users of the code. On the other hand there is the free software movement which seeks to make the source code available to all and prevent it from being used without acknowledgement. On the third hand, there is the proprietary software market which seeks to keep everything hidden and calls it intellectual property. On the fourth hand, there are commercial entities which subscribe to hybrid philosopies based on two or more of the preceeding. Which way is it going? Which way should it go? What are the implications of the various directions it could go?
Let us start with the proprietary approach. This generates wealth for the producers as long as they have the distribution and sales network to sell the software to the consumer and as long as the consumer continues to buy the software for whatever reason. This is your basic traditional model of business which functions fairly well for physical goods. In this case, however, it is functioning with a manufactured scarcity. That is to say that making a copy of the software digitally does not prevent the original owner from continuing to use his copy and there is no degradation in the copying process. That is, the original and the duplicate are completely indistinguishable and any copies of either of those two would also be completely indistinguishable. Therefore, what we have is a charge for the use of an asset which the producer need not invest any resources in making.
There is also the situation of the resources spent in actually producing the software in the first place. Granted, there is time and effort spent to procude a piece of software and the producer thereof is entitled to some compensation for the use of the results of their labours. This is often used as a counter argument to the free software philosophy. However, can you honestly say that paying Microsoft or IBM or Sun for a piece of software provides any net gain to the programmers? The corporation pockets the profit and the original programmer who was labouring under a salary usually does not see a single dime of the profit. Only the investors in the company do. Even if the programmer is also an investor, he does not receive compensation equivalent to the number of people using the software; he receives compensation for the number of shares of the company times the amount of total profit on all ventures the company has as broken down to a per share amount.
Another point is that the means of production are usually controlled by the corporation. This makes sense in the case of a car factory where it takes a very large investment to build the factory in the first place; more than any of the individual potential investors could afford on their own. In this case, it makes sense for someone to build a company which takes investments and builds the factory. Then the factory hires people to operate it and compensates them for their time. In this case, the means of production could not have been built without the company and as a result they are more reasonably entitled to a profit as ostensibly the investors in the company have their own financial and/or physical resources tied up in the company.
Now let us examine the open source philosophy. This is based on one of the fundamental flaws in the preceeding model. Intellectual production often benefits from having more minds reviewing the product. Computer software is no different; the more minds observing the source code, the more likely bugs will be found and fixed. The open source philosophy advocates that users of a program should have access to the source code to allow them to fix problems if they have the ability and desire to do so. This philosophy is contrary to the paradigm that most copmanies operate under which is to make everything possible a secret to manufacture value to the company. These companies resist opening up the source code of their software because they feel they would be giving up a significant asset. Under current business models, this is true, however, it is also this mentality which causes most software to be inferior or not what the users want or, for that matter, full of bugs.
Some companies are trying to coopt the open source philosphy by using software licenses to require users to sign over all rights to any modifications to software to the company without compensation of any kind. In other words, you pay for the software and you pay to devleop it. Ideal for the company, but not so ideal for the outside developer who fixes a problem in order to make the software function for the task he is trying to accomplish. This is not strictly against the open source philosophy as its primary tenet is that the users of software have access to its source code. It should be noted that there are other reasons than bugfixing to have access; for example, security audits. As such, open source is not against the current intellectual property paradigm or for profit selling of software. (Note: there is violent disagreement over the definition of “open source”. I am using the basic meaning of the “source code” being available to the users.)
Now you have the free software philosophy. That is that software wants to be free. Its major tenet is that software should be available to everyone regardless of platform. This is completely incompatible with the current software market paradigm. For that matter, it goes against the very nature of intellectual property laws which exist today. The major hurdle faced by free software is that of keeping it free once it is released. That is, preventing Sun or Microsoft or Foobar Consulting from taking code written by others and released to the world and incorporating it into their own project without compensating the authors or giving them credit or by using the code and adding incompatible extensions to it. For this reason, the Free Software Foundation has created the GNU General Public License which operates withing current law and labours to protect the rights of the developers who wish to release their software freely to the public.
This license in viral in nature. If you use code covered by the GNU GPL in a program, you must release the entire source code of that program under the GPL. This does not prevent the distribution of binary code but it does prevent closing the source for that particular program. This does not apply to other software that may be distributed together with that GPLed program or other parts of the same project which exist as separate entities. It also most certainly does not apply to unrelated projects by the same organization. This is the argument Microsoft is using at the moment and it shouldn’t be long before someone like Richard Stallman or Eric Raymond replies to it.
It should be noted that free software does not address the idea that the developers should be compensated for their work. That issue is orthoganal to the freedom of software. Basically, if people like a project and do not support it, they will not see very rapid development of that project unless the developer is compensated in some other way. Therefore, if people feel the project is useful and wish to encourage development of the project, they should send money to the developer. This is a sort of community property economics that compensates producers for producing that which is consumed. This is, unfortunately, incompatible with our current paradigm for economics.
It should be observed that free software solves the problem of orphaned software. That is, software produced by an individual or company which is no longer supported by that company but which is still used by members of the public. Under the free software paradigm, and to a lesser extend the open source paradigm, software that is abandoned by its original producer may continue to be developed by those that use it.
To appease those who take issue with my use of the term open source, I would like to point out that many self-styled open source advocates are really advocating a scaled down version of free software; a sort of mixture between the two philosophies. After all, for something to be available freely (not necessarily as in free beer), its source code should be available but if that source code is available it doesn’t necessarily mean it is free.
So, where are things going? It is hard to say. It appears to me that the writing on the wall is pointing toward the free software approach as evidenced by the success of the Linux kernel and the GNU software system. The free software paradigm will permeate the world of ubiquitous applications from the operating system up to your word processor; anything that a large majority of users use. Open source will permeate the niche markets where software is only of interest to a limited number of parties. The proprietary secret model will persist in the spy industry and as a niche market for software that is used for embedded devices. Free software will likely be used in a large number of appliances due to the lesser amount of resources needed to use it than to create a new system from scratch to run the device. That said, devices that use dramatically different hardware platforms compared to the mainstream devices will always need such work and will likely always have propriety driver software running on them.
Developers will be compensated for their development activies through the goodwill of the user community by either supporting the developer through user sponsored companies or by donations or small payments as they are able. There will always be those who will develop without expecting compensation out of the goodness of their hearts or convictions. There will always be those of a parasitic nature who use without contributing back to the development in some manner. It should be noted that in many projects it may be acceptable to just contribute feedback or bugfixes or what have you as the project may be of such a nature as to be of value to everyone and as a result everyone is willing to contribute their time and resources to further its development without compensation. Indeed, often the compensation for development will be that it solves a particular problem the developer faced.
As far as how this will come to pass, well, that’s a harder issue to deal with. Computer software is part of the larger information collective. As information becomes freer to access, software will follow in lockstep. Indeed, as communication technologies such as the internet become more and more ubiquitous and access becomes increasingly easier, information will become freely exchangeable. As one jurisdication makes some form of information illegal, it will move to another in which it is not illegal. Information is infinitely copiable. Indeed, this document will likely still be floating around the internet long after I am no longer alive to see it. Invariably someone will like it enough to copy it and store it elsewhere.
Anyway, back the the question of which way it should go. I don’t know what will be better for humanity in the long run. Only time will tell if what we do was correct or not. My opinion is that the free software approach is the correct one for society as a whole. While this will never happen for the entire market, it should happen for a very significant fraction. The implications of this result are increased freedom for humanity and increased intellectual output as the paradigm will spill into other intellectual pursuits such as scientific research (which is already remarkably open) and literature.
Should the proprietary model retain its supremacy, we will fall back into a dark age. The “information dark age” so to speak. We will be little more than slaves under a new form of feudalism. Granted, there will be good feudal lords and terrible feudal tyrants and most will fall on the continuum in between, but feudal bondage it will be. This environment most certainly does not contribute to forward development as the past has proven. Indeed, the feudal system collapsed on itself as the industrial revoluation overtook the world. Unfortunately, it is not clear that the information dark age would experience such a collapse. It would likely be a very long time before humanity escaped from it.
The open source model (as described previously) is better and would only sever to slow advancement of intellectual pursuits some. It does, however, have the potential to collapse into one of the other two options, depending on the conduct of the major players in the market. Unfortunately as things appear now, that would cause the collapse toward proprietary software. It is, however, just as likely to collapse in the other direction with only a minor change in the current marketplace.
In my not so humble opinion, let the free software roll!!
June 1, 2001 CE
Permission is granted to copy this document in its entirety provided this notice is retained without modification. Please do me the courtesy of notifying me if you do copy it however. I want to know how much exposure it gets. Any information contained herein that is incorrect or offensive is not intended as such and I take no liability for any damages from the use of this information.