Evaluating Open Source Software


Posted: March 11, 2016 | By: Matthew Kennedy

Is OSS an Open System?

There is no direct correlation between an open system and OSS. Open source specifies that the human-readable source code of the application is available. In contrast, an open system, as defined by the Open Systems Joint Task Force, is specified as “A system that employs modular design, uses widely supported and consensus based standards for its key interfaces, and has been subjected to successful validation and verification tests to ensure the openness of its key interfaces.”

The question as to whether OSS meets the definition of an open system must be addressed per DoD Directive 5000.01: “A modular, open-systems approach shall be employed, where feasible.” Because there are generally many contributors to open source projects, they tend to have a modular design; however, this is not always the case. Open Office has 450,000 members that have joined the project, so enforcing a modular design is paramount for continued success. Without a modular design, it would be extremely difficult to modify the source code of such a large application with so many contributors.

Another part of the open system definition is using consensus- based standards for key interfaces; this is also referred to as using open standards. Open standards play a critical role in our systems with modifiability, maintainability, and increased competition. Open standards have no direct correlation to OSS. Though most OSS projects use open standards, it is not required. Each OSS project must be assessed individually to determine if it is, indeed, an open system.

Are the Releases Controlled?

As with most software, OSS has multiple versions, releases, and security updates of which one’s program is not in control. The need for life cycle configuration management is vital in ensuring system compatibility. A strategy needs to be developed to determine how one’s program will handle periodic releases of the OSS software. Depending on the software, each release may require configuration, interface and installation, or system changes to remain compatible with the rest of the system.

What is the Maturity of the Open Source Community?

Similar to a standard commercial company, the maturity and size of the open source community can vary greatly. Open source projects can be started by a single developer who has made its source code available and gained additional support as the project grew, or by corporations who fund and assist in the development of the project. Open Office, an open source office suite, is sponsored by Sun® Microsystems and has other corporate contributors such as Google® and IBM®. The Open Office project contains 30,000 source files and 9 million lines of primarily C++ code, according to the Open Office website, and it contains many of the features included in Microsoft Office.

Many factors affect the maturity of the open source community supporting the project. Navica® has developed an Open Source Maturity Model®, which is freely available and will assist in the assessment of the open source project. The Open Source Maturity Model provides a variety of templates to assess different areas of the open source project such as documentation, integration, product software, professional services, technical support, and training. Those items are then further decomposed to help assess each area of the open source project.

Want to find out more about this topic?

Request a FREE Technical Inquiry!