Software. It costs a fortune to create and support, but effectively nothing to copy. Ninety percent of all software written today is custom code produced for use only within the walls of the organization creating it. Forget boxing it up with a pretty manual to sell to consumers, software development is mostly in an enabling role making sure some other business activity gets done.
Look at any modern medium sized company, and you’ll find a small to medium sized Information Technology (IT) group supporting accounting and other business-critical systems and their users. And while a lot of the software in use will be commercial “Closed Source Software” (CSS), there will be without exception custom configurations and scripts or macros, if not entire programs, which will have been written by the staff to make the various software bits work best together for this particular business’ needs.
Imagine if several companies who all performed the same type of business, and thus had the same software needs as supporting infrastructure, got together and agreed to share the resources required to create and debug the mutually required software. Each would contribute programming talent to get a code base started and debugged, and each would get a copy of the code which they could further modify for their own use. They would be encouraged, but not obligated, to contribute further refinements back for the other contributers to use, possibly to be placed in the main code base.
Taken a step further, if the code base was opened for anyone to use then the system would likely be peer reviewed and stress tested by more people, and thus even more debugging and possibly additional development would occur. Even if some users only contributed bug reports, it would still be beneficial to all users because the developers can focus on development and bug fixes rather than trying to trace down the tricky bugs (which there always are). In fact, even if some users never contributed anything back the group hasn’t lost anything, it just hasn’t gained.
Unless the software contained proprietary data, methodologies or other Intellectual Property (IP), this would be an obvious bottom line advantage to each participating company. Having the source code means risk management is much easier: even if everyone else disappeared, it’s still possible to continue using and modifying the system as needed. Even more important, this means that all generated business data is always in a documented file-format and thus can easily be exported. Lastly, with others using the same code elsewhere, there’s a good chance of support groups emerging on e-mail lists or newsgroups to give advice to new users and for unusual situations. Users can help each other rather than always wasting the programmer’s time.
The legal framework required for the license to implement this thought experiment has been codified in language called the Open Source Definition (URL:http://www.opensource.org/osd.html). This defines what is needed of a software license to qualify as “Open Source”. Unlike most commercial software licenses which protect the software producer while limiting the consumer, OSS licenses protect the consumer’s perpetual rights to use as many copies of the code as they want at no cost. The consumer is allowed to change the code to suit their own needs, and to give those changes away to others if they wish.
When this idea is first presented to those used to the traditional software industry, a common reaction is “Nice idea. Will never fly.” This truth is it is a nice idea, and it does work. According to International Data Corp., Linux (the OSS operating system) accounted for 17 percent of all OS shipments in 1998. The Netcraft Survey shows that the OSS web-server Apache serves over 55% of all the web-sites in the world. Every time someone accesses a web-page or sends email and uses a domain name (like www.wabbit.com) instead of an IP number (like 127.0.0.1), they will be using an OSS product called Bind to do the look-up automatically.
Getting the job done and risk management (sometimes expressed as freedom) are two very important issues for OSS authors and users. For over 20 years individuals and groups around the world have been working on different OSS projects. Early on it was students and researchers at universities and large companies, but more recently anyone with an Internet connection can be involved with or lead a large OSS project. In a very interesting feedback loop, OSS development scales with the size of the Internet. As the Internet has grown, the number of OSS projects and speed of development has grown with it.
The Internet itself mostly runs on OSS, using open published protocols. And just as the Internet has had a major impact on the business of communications (e-mail and Web), online services (MSN and AOL were closed systems before being forced to interface to the Internet or be eclipsed; Apple’s service didn’t survive), stock trading, news and music (MP3s), etc., the Open Source Software methodology is in the process of fundamentally changing the way software is produced and managed.
If your IT department isn’t at least evaluating Linux and OSS yet, find out why. Be very interested in the answer, it could be costing you a lot of money and putting you at a strategic disadvantage. In a subsequent article, we will examine how best to introduce Linux into an organization for networking services and security.
Published in the Victoria Business Examiner.