Open Source Software


By Richard W. Boss

The term “open source” refers to software that is free and that includes the original source code used to create it so that users can modify it. It also includes the right of redistribution; therefore, there may be products that are based on other open source products.

While open source software may be free, a developer or distributor may charge for services, including custom programming, installation, training, technical support, and hosting services for those who do not want to implement and maintain the software in-house. Some distributors of open source software are for-profit organizations and may charge prices for their services comparable to those charged by proprietary software vendors.

Not all “free” software is “open source.” For example, Google offers a number of applications software products without charge, but it is in complete control of development. Source code is not included and there is no right of distribution. Google covers the cost of development and support by selling on-line advertising.

The perceived advantages of open source software are:

· Ability to tailor to fit local needs

The availability of the source code means that a user can modify and enhance the software to more closely fit its own needs. Unlike with proprietary products, the development priorities are set by the user, not a vendor. The user is also able to set its own priorities for bug fixes.



· No restriction on use

Unlike proprietary software, there are no contractual restrictions on how the software is used. While some developers use the GNU General Public License that assures users that they have the right to distribution and those to whom they distribute also have the right to modify and distribute, other developers merely declare that their software is in the public domain. A subsequent user may, therefore, decide to protect the enhancements that it makes by copyrighting them. The GNU General Public License is, therefore, preferable.

· Low cost

There is no charge for the software itself, therefore, the capital outlay required by proprietary software is avoided. The major costs are ongoing development and maintenance. If the number of users is large, and they share their efforts, each user’s cost is reduced. However, if the number is small or a user does a lot of tailoring to fit unique local needs that are not shared by other users, the cost can escalate.

The potential disadvantages of open source software are:

· Unanticipated cost

Over a period of five years, the cost of a software package, whether open source or proprietary, is typically ten to twenty percent of the total cost of a project. With few exceptions, open source software tends to be less complete than proprietary software; therefore, a library may find that it needs to do a great deal more work than anticipated to adapt the software to local needs. If local development is undertaken, new open source releases may not be compatible with what has been done locally. Considerably more staff expertise and time may be required to use it. It is, therefore, essential to compare costs for multiple options, rather than assuming that the open source solution will be less costly.

· Lack of coordination

The decentralized development of open source software means that progress can be chaotic and there may be delays in addressing bugs and in completing planned enhancements. This may increase the burden on a library that decides to proceed on its own.

Not only may there be lack of coordination within an open source development project, there may be little attention paid to integration with other applications.

· Inadequate training and technical support

No training comes with most open source products unless a commercial vendor is retained. Documentation tends to be limited and aimed at developers. There usually is limited technical support, especially for users of the software. However, a few open source products do have training and technical support available commercially for a fee.

· Lack of participation

Too few participants can cause the development effort to become too expensive for one or a handful of committed parties.




· Lack of guarantees and remedies

Unlike turnkey systems using proprietary software, there are no guarantees of quality or performance for open source software. Vendors that provide support services for open source products do offer some guarantees, but no remedies similar to those offered by vendors of proprietary products. Only purchasers of proprietary products can expect financial and other contractual remedies for poor response times and loss of functionality.

· Scalability and speed

Open source software may not offer the scalability and speed of proprietary software because the easy-to-use and general-purpose programming languages used are not very scalable and are slower than other languages.

0 comments:

Post a Comment