Monday, October 26, 2009

GPL, LGPL ..

    Most of the open source softwares  are licensed under GPL or LGPL now.
  So what is GPL or LGPL?

     They are 'free software licenses' used for the open source programs. Here the word 'free' means freedom to do anything, not free of cost. These are good examples of CopyLeft practice.

  GPL(General Public License) is license published by Free Software Foundation to protect open source softwares.  Suppose if we are publishing a software or code under GPL, then anybody can copy, modify and redistribute this software or code. But they are obliged to publish the new version in GPL license only. That is, they also need to provide the same freedom to whoever they are giving it. And if  somebody is using the GPL licensed code in their software, they are obliged to release the source code also.

  LGPL(Lesser General Public License)  is a weak version of GPL. If we have released our code under LGPL, then independent open source or proprietary software can link this code to their software. For Example, a non (L)GPL program  can link to a LGPL library. So LGPL is normally used for libraries.  So if a proprietary software is using an LGPLed shared library, then that software is not required to give the source code. But if we are using LGPLed code as static library, then that software is required to give either source code or object files.

  So usually libraries are published under LGPL and other codes are published under GPL. But now people like Richard  Stallman are suggesting to license some libraries under GPL. This will cause proprietary softawares to abandon these libraries. So he believes, this may give edge to free software programs over proprietary programs.

GPL v2 and GPL v3

  GPL v2 was launched in 1991. But there were allegations that some vendors are misusing loopholes in GPL v2. One example is the distribution of the free software in a device which cannot execute modified versions.

  One popular Digital Video recorder company used GPLed code to build their software and they made it availble through their website. But if somebody wants to modify it and run on their device, it required one cryptographic key which company is not providing. So this make it virtually impossible for anybody to modify their software.


  GPL v3 was launched in 2007 in a view to close these kind of loopholes.