This site is designed for XHTML and CSS compatible browsers. We recommend that you update your browser to a newer version.

Skip navigation.
Print this page

Open Source Software

11/13/06

The best open source software is many steps ahead of
commercial applications when it comes to quality and functionality.

Joni Freeman,
Chief Architect

Open source software has changed the software industry more than any other phenomenon over the last decade.

Open source products are already affecting the Java standardization process, for instance. The new EJB3 definition which had a significant impact on the Spring and Hibernate solutions is a good example of this. Open source code users were able to use features complying with the new standard years earlier.

Why Choose Open Source Software?

Open source solutions have attained their position because they are advanced and of exceptionally high quality, not because of skilled salesmen.

Reasons for selecting an open source solution include:

  • Open source products often have more advanced
    features than commercial products
  • The transparency of the software makes it easier to get an overall understanding of the system and solve problems
  • Developer support is often very good, even excellent
  • The openness of the code ensures better quality
  • The possibility to take part in developing the technology helps in making decisions
  • License costs of commercial products

Using open source code and commercial products side-by-side is common in corporate solutions these days. Application frameworks are often open source products (such as Spring and the ORM product Hibernate) while application servers and databases use commercial software (such as BEA WebLogic and Oracle).

Spring and Hibernate form a robust core of many Reaktor projects. Both represent the cream of back-end application frameworks. The most interesting of component-based web application frameworks is Wicket which we have used for creating interactive web interfaces. It can be used to create unit-testable, object-oriented user interfaces in which components can easily be reused.

Utilizing Open Source Code Requires Expert Help

Different selection criteria are applied for open source products and commercial products. Assessing open source code requires in-depth knowledge and active monitoring of the field. The most important selection criteria include prevalence, popularity, a working developer community and the quality of the code.

A weakness in open source software is that support for older versions is often only available for a short time and support and training services are often poorer compared with commercial providers. The support from developers and the community of users for established open source products is good, and the information available is often more objective.

  • Using open source code requires more profound skills inside the company (highly recommendable in other respects, too) and a person to actively follow developments in the field.
  • Open source code is currently at its best in platform and application development solutions. There are, for instance, no workable financial applications available.
  • The lifetime of open source products that are more rarely used may be rather short. When thinking about technology choices, the issues should be viewed in a longer timespan
  • When using software code you should pay attention to the license conditions that regulate how the modified software should be distributed.

The life of commercial software is not problem-free either. Version updates may require a lot of work, product support may be terminated, or source codes may not be available. The benefit with open source code products is that source code is always available, no matter what.

Joni Freeman, Chief Architect

 

Joni Freeman has been implementing Java applications since 1995. He has specialized in the use of open source software and takes an active part, for instance, in the Wicket developer community.


A License Controls the Use of Open Source Code

When using open source code you should pay attention to the license conditions that regulate how the modified software should be further distributed.

License types:


  • GNU GPL (General Public License): Modified, or derivative versions are covered by the GPL license. This means that the source code must be given to everyone to whom the product is distributed. In practice the license applies to the entire product in which the licensed code is used. It can only be used with a GPL licensed code, unless there is a possibility of double licensing.
  • GNU LGPL (Lesser General Public License): Derivative versions are subject to the LGPL license. This means that modifications to the original source code must be shared with others. It does not apply to the entire product, i.e. it can be combined with another, non-LGPL-licensed code.
  • BSD (Berkeley Software Distribution) and Apache License: Changes to derivative versions do not have to be shared with others. License and copyright texts must be retained in the original source code.

The applicability of license conditions must be separately investigated in each case. No legislative regulations or legal cases exist on the use of licenses.

Many products subject to the GPL license (such as MySQL) have double licensing that allows an optional license to be purchased for the product so that the GPL conditions will not limit the distribution of your own product.