opensource

GPL/MPL/LGPL

I was trying to decide which license to use for my PCBO.

So I had to do a bit of research on the usable licenses. These two sites were very helpful –

Basically GPL is like a virus.
All derived and any larger work of which a GPL code is part of, must be open sourced and licensed under GPL.

But this imposes a lot of restriction on libraries like glibc which are used in almost every project.
So, the LGPL (Library or Lesser GPL) was deviced which allows the LGPLed code to be
linked by a non-(L)GPLed program. The LGPL places copyleft restrictions on the program itself but does not apply these restrictions to other software that merely links with the program.

The MPL states that derived may not be under MPL but must contain a documentation of all the changes made.
Here is a link to a great discussion about the differences of GPL and MPL.

Under a copyleft form of copyright license, the restrictions imposed are that the work cannot be copied, modified or used in any subsequent work unless the author of that subsequent work agrees to grant the same copyleft rights to the public to freely copy, use and modify the subsequent work. There are two types of copylefts –

  1. Strong copyleft : Which implies derived works of all kind has to have the same copyleft rights. Example is GPL.
  2. Weak copyleft : Allows other software to link to the library, and then be redistributed without the legal requirement for the work to be distributed under the library’s copyleft license. Examples are MPL and LGPL.

Then there’s also the Apache License which states that all derived work must contain text messages indicating that a work under apache is being used. But PCBO is not derived from apache or tomcat. It runs on them.