Page 216 -
P. 216
7.4 Open source development 199
The best-known open source product is, of course, the Linux operating system
which is widely used as a server system and, increasingly, as a desktop environment.
Other important open source products are Java, the Apache web server, and the
mySQL database management system. Major players in the computer industry such
as IBM and Sun support the open source movement and base their software on open
source products. There are thousands of other, lesser known open source systems
and components that may also be used.
It is usually fairly cheap or free to acquire open source software. You can nor-
mally download open source software without charge. However, if you want docu-
mentation and support, then you may have to pay for this, but costs are usually fairly
low. The other key benefit of using open source products is that mature open source
systems are usually very reliable. The reason for this is that they have a large popu-
lation of users who are willing to fix problems themselves rather than report these
problems to the developer and wait for a new release of the system. Bugs are discov-
ered and repaired more quickly than is usually possible with proprietary software.
For a company involved in software development, there are two open source
issues that have to be considered:
1. Should the product that is being developed make use of open source components?
2. Should an open source approach be used for the software’s development?
The answers to these questions depend on the type of software that is being devel-
oped and the background and experience of the development team.
If you are developing a software product for sale, then time to market and reduced
costs are critical. If you are developing in a domain in which there are high-quality
open source systems available, you can save time and money by using these systems.
However, if you are developing software to a specific set of organizational require-
ments, then using open source components may not be an option. You may have to
integrate your software with existing systems that are incompatible with available
open source systems. Even then, however, it could be quicker and cheaper to modify
the open source system rather than redevelop the functionality that you need.
More and more product companies are using an open source approach to develop-
ment. Their business model is not reliant on selling a software product but rather on
selling support for that product. They believe that involving the open source commu-
nity will allow software to be developed more cheaply, more quickly, and will create
a community of users for the software. Again, however, this is really only applicable
for general software products rather than specific organizational applications.
Many companies believe that adopting an open source approach will reveal confi-
dential business knowledge to their competitors and so are reluctant to adopt this
development model. However, if you are working in a small company and you open
source your software, this may reassure customers that they will be able to support
the software if your company goes out of business.
Publishing the source code of a system does not mean that people from the wider
community will necessarily help with its development. Most successful open source