Saturday, March 7, 2009

Some Words on Licensing

Being an avid software reviewer, I check at least a couple of new software packages (freeware/commercialware/liteware etc) every month. Needless to say I like the freeware most as I can open up the source and find out exactly what they are doing.

At the same time, there is a caution of integration of freeware with other software packages. I have frequently changed freeware to suit my need and have integrated with some existing applications. However, the issue of licensing comes up, like:

1. Can I modify/enhance the existing freeware and publish it?

2. Can I integrate this freeware with my application (which is just a link-in) and provide a new packaged one?

3. Can I integrate this freeware (after modification) with my application?

4. Can I propose some customer to use it, and in that case what are constraints/assumptions I have to inform?

etc.

In broader terms, there are 2 types of licenses.

1. Free Software Licenses (FSL)

It grants permission to modify and redistribute the software, which may otherwise be prohibited by copyright law. It means you have freedom to modify or redistribute copyrighted work.

2. Permissive Software Licenses (PSL)

This is a permissive form of FSL. Here you can release the source after modification in a different license.

Some very prevalent license types and their terms:

1. GPL (GNU General Public License)

GPL is a type of FSL, with emphasis on "copyleft".

It means it is to be distributed under the same terms as the original software. Thus, all enhancements and additions to copylefted software must also be distributed as free software. Hence, it becomes "quid pro quo".

Finally it means you can NOT link (another application) with a software with GPL. Say if you are using some packages from GPL software, your final delivered package will also be under GPL.

And of course, if you are making changes to the source code of the GPL software, then you have to release it under GPL.

MySQL AB can be considered to be an example of this.

2. LGPL (GNU Lesser General Public License)

It is a type of FSL and somewhat free as compared to GPL. It means it can be changed and released with a different license.

So you can use the packages from LGPL software and release it under a different license.

However, if you are making changes to the source code of a LGPL and releasing it, it can NOT be released in a separate license.

Mozilla, OpenOffice are examples of this.

3. BSD License

It is type of PSL.

Here you can link from your code by using a BSD software package and release it in a different license.

Also you can make changes to BSD software source code and release it under a different license.

Apache, Tomcat licenses are examples of it.

4. MIT License

It is a type of PSL.

Here you can link-in with the MITL software or change the source of the MITL software and release it.


For our services, please visit:

http://www.teleox.com

0 comments:

Post a Comment