Editor's note: This is the first of a two-part feature on software policy. Part one examines the license model differences between open source and commercial software. Next week's instalment will dwell on issues related to cost, security, flexibility and interoperability of each software models.
The open-source movement has been one of the most dramatic changes to impact the software industry in recent memory.
Few technical subject matters today are as passionately debated as that of the controversy surrounding open-source and commercial software--two prominent models of software licensing and development. Amidst their differences relating to cost benefits, there are, in fact, a number of commonalities and similarities that are often overlooked in this debate.
Policy issues surrounding commercial and open-source software have also gripped government bodies around the world. In Asia Pacific, open source is often seen as a viable solution, especially for developing nations.
To help decision makers discern the facts in this debate, let's look at the key considerations in this area and how appropriate software policy decisions should be made.
Comparing the two models
For the purposes of our discussion below, we will refer to the terms as follows:
- Open source refers to a software licensing model where the source
code of the software is typically made available royalty-free to its users, under terms allowing redistribution, modification and
addition, though often with certain restrictions.
Open-source programs are often, though not exclusively, developed through a collaborative effort in which a number of persons, often with no formal association with each other, contribute elements of the final software. Increasingly, software companies are also contributing programs developed in-house to the open source community.
- Commercial software refers to the model where the software
developed by a commercial entity is typically sold or licensed to a
customer in object or executable
code, either directly or through channels. The commercial entity often provides support, training,
updates and other similar services needed by customers to use
The source code of the software may be made available to certain users of the software through special licensing or other agreements, but is usually not distributed to the general public, and may not be copied or modified except in a manner provided for in such agreements.
It should be recognized that each of these models can translate into a viable business strategy for companies in the software industry. The models are not mutually exclusive, and companies are increasingly finding ways to embrace both approaches, and allowing both to co-exist.
For example, there have been instances where proprietary operating system platforms that have benefited from the open-source development by adopting an open source approach for the lower levels of the system (e.g. device drivers) while keeping the higher levels proprietary (e.g. user interface).
This approach allows greater focus to be placed at development of the higher level components, where innovation may bring greater benefits to customers.
Conversely, there are software providers who have contributed commercially developed code to the open source community to allow open source solutions to operate on a broader range of platforms. Increased competition and a larger number of viable alternatives between products on the server and desktop platforms have brought about a significant push for both open source and commercial software solutions to become more innovative, and for software providers to focus and improve substantially on emerging issues like security and reliability.
One main underlying difference between both models lies with the approach towards licensing adopted by each model.
It is necessary to understand these licensing approaches to fully appreciate the fundamental starting points of the models and to discern the validity and weight of any particular argument for or against either software model.
Commercial software providers typically adopt the traditional software licensing approach where permission to use the software is granted to a customer in return for a fee. The customer is usually permitted to use, reproduce or adapt the software according to the terms of the permitted activities under the license.
While open source software is made available under a variety of approaches in licensing, these approaches have certain features in common. They rely on the copyright within the software to form the licensing contract. They each grant rights and permissions subject to conditions.
In general, these conditions restrict how the software may be further changed or distributed, rather than imposing a requirement that a fee be paid for it.
GPL and BSD
There are two principal open source licensing approaches--the GNU General Public License (GPL) and the Berkeley Software Distribution (BSD) License.
Under the GPL, all derivative works of the software must be licensed and distributed on the same terms as the original software. Source code subject to the GPL cannot be disassociated with that license and permanently remains as such.
Under the BSD License, developers are allowed to integrate the licensed software with the developers’ own source code to create new products with few restrictions.
The BSD License, for example, allows programmers to use, modify and redistribute source code and binaries of the original software. But unlike the GPL approach, programs containing code subject to the BSD License do not have to be distributed under the BSD License. Derivative works can be distributed either in an open source manner, or in a more traditional “commercial” license.
Another characteristic of the GPL approach relates to distribution. The GPL prohibits charging money for the distribution of source code, other than to cover the administrative cost of copying and shipping. However, charging fees for system setup, system management, support, maintenance and other related services is permitted.
It is on this basis that commercial support for Linux is available from some organizations operating under the open source business model.
Although open source software is often available for free download, it does not follow that there is no need for intellectual property rights protection under the open source software model.
On the contrary, the basis upon which open source licenses impose terms and conditions is founded on elements of intellectual property protection. In addition, the use of the source code from open-source developers is often permitted on condition that there is appropriate attribution to the original source code author.
In the 2004 German case of Netfilter Project against Sitecom Germany GmbH, a three-judge German court gave recognition to the GPL by requiring the defendant company to disclose the source code of its product that relied on and incorporated components of open source software written by the plaintiff. It is worth noting that in this case, the plaintiff's grounds for the action was founded on copyright.
The plaintiff was not in a position to take legal action against other alleged violators of the GPL, as in those cases, the plaintiff did not own the copyright in the works that were used by the other violators. This illustrates that in both open source and commercial software models, the need for intellectual property rights remains the foundation for the license conditions to operate.
As we will see further in the second part of this article, the arguments advocating any particular software development model may, on closer examination, not be as unequivocal as they first appear to be. In fact, there are many underlying similarities amidst the differences cited in both models.
Choices and procurement policies should be made based on value-for-money and fit-for-purpose considerations, and should not be made or preferred based on broad categorizations that do not ultimately support sound objective principles. The benefits and appropriateness of the considerations relating to the open source and commercial software models come across according to the customers' needs in particular situations and not as generic truths.
At a broader policy level, it should be recognized that there is a need for choices in software selection and implementation, and for skills development to support a growing diversity of software development models.
Technology innovation is best accomplished by a healthy, competitive and diverse marketplace that allows software companies to develop and grow according to their own strengths and capabilities. Procurement policies of organizations and Governments have a key role to play in maintaining this diversity that is essential to the growth of the software industry.
Fair and open competition, and not procurement preferences, should determine which products earn the confidence of consumers. Rigorous competition ensures that technology providers have the incentive to invest and produce the best products for the market, which in turn means broader consumer choice among many innovative technologies.
Mr Goh Seow Hiong is the Director of Software Policy for Asia of the Business Software Alliance.