Monday, October 11, 2004
Open source vs commercial apps: the differences that matter
By Goh Seow Hiong, Special to CNETAsia
Wednesday, October 6 2004 2:01 PM
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 that software.
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.
Licensing Approaches
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.
Wednesday, October 6 2004 2:01 PM
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 that software.
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.
Licensing Approaches
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.