Tuesday, November 15, 2005

Eugene on software licensing

The first most important thing to understand - the difference between the words "free" and "gratis". We use the word "free" in the context of the French word "libre" (ala freedom) - not like in mahala or at no cost or gratis.

The second most important thing to understand is that there is absolutely no obligation to develop Open Source software when you are developing for the Linux platform. There are lots of vendors developing proprietary software for Linux and Unix type systems. The contrary is also true - you can develop Open Source software for Microsoft and Mac platforms.

Many of the large Open Source projects are truly cross-platform. Notable examples are Apache, MySql, Mozilla and Open Office - to name but a few.

As a developer you have the choices to use Open Source software in your products and/or to license your software under an Open Source license. You may even select more than one Open Source license and also a proprietary license for the same software. You may release a bare bones Open Source version of your software (good PR and marketing ploy) and a proprietary version with some special added features.

An assortment of Open Source approved licenses can be found at opensource.org I'm going to try to simplify things by dividing the various licenses into two distinct groups i.e. the copyleft type license and the non-copyleft type license.

( see www.gnu.org/philosophy/license-list.html for a very complex but thorough explanation)

The General Public License (GPL) - which is the best known copyleft type license and also the license under which GNU/Linux is distributed is designed to perpetuate the freedoms offered by the license. This means that when you derive your software from GPL code or link to GPL licensed libraries you must distribute the derived product under the GPL license. This in turn means you must give the recipient of the product the source code and the right to modify, derive and distribute it. Please note - the copyleft type license doesn't say you may not charge a lot of money for this, nor does it demand that you should upload all your code to the internet or distribute it to every living soul on this planet who happens to own a PC. It is also perfectly legal to distribute the product to only one client (by contract) under a NDF. The moment you have distributed the software to your client along with the source code (with GPL license in tact) - you have complied with the GPL and its is up to your client to honor the GPL. It is crucial that you inform your client of the requirements of the GPL before award of contract if his intentions are to create a proprietary product that he wishes to distribute.

The Modified BSD license is known as a non-copyleft type license. This license is truly free - it does not require you to redistribute your source code and therefore you can develop proprietary software derived from Modified BSD licensed type code. Needles to say it does nothing to guarantee that derivative works will remain free.

A third but important variant which doesn't fit into any of the two above categories is the Library (or Lesser) General Public License (LGPL) which is a copyleft license often used to distribute a software library. The important distinction is that whereas you may not link proprietary code to a GPL library you may link it to a LGPL library. The derivative work can be distributed as a proprietary product - you do however have to distribute the LGPL library's source code along with all modifications you may have made to it with the product.

Clear as mud? Good. Things can get pretty complex in IP law, try to read Microsoft's EULA and catch my drift.

Lets summarise -

1 - You don't have to give your source code away if you don't see a good business proposition in that - even when you are developing for Linux platform.

2 - When you use the GPL you have to distribute the source code with the software.

3 - When you use the modfied BSD its a free for all - you can use BSD source code in your proprietary products.

4 - You can link proprietary code against LGPL libraries - but not GPL libraries.

Licensing, Copyright and Patent laws are complex and Open Source software doesn't necessarily escape the endless flow of IP related legal battles that has been a hallmark of commercial software. Recently SCO has launched a $5 billion legal challenge against IBM for allegedly contributing code from IBM's AIX version of Unix to the Linux project. You can follow the merits of the case at Groklaw.

In order to establish a better understanding of how Open Source software fits into a commercial model it is quite enlightening to read Novell's Chris Stone's speech at the Open Source Business Conference 2004 after Novell's recent acquisition of Suse Linux.

"He said Novell's $250m acquisitions proved Novell doesn't believe open source will destroy the software industry, while open source is a movement dominated by professional developers already working in the IT industry.

"'Sixty percent of the people in the development community working for you also work in open source. They work for you! Linux, Apache and PHP are exceptional software,' Stone said. . . .

"Stone told open source ISVs to compete on customer service and applications not infrastructure like operating systems, which are becoming increasingly commoditized.

"'We have got to recognize where the value lines are... we spent money building the infrastructure but the value is in the services - identity, security and office. That's where the money is. Not underneath. Until you realize that you won't make money.'"

0 Comments:

Post a Comment

<< Home