May 04, 2014

Demystifying common software licenses

Disclaimer: This is just a summarization. Do please read the actual license before deciding on one for your own projects.

I have always been very curious about the state of software licenses in India. Although we all can agree that no consumer has ever read a license or EULA in its entirety and most Indians do not even know that something like these exist. For them. software is usually provided by their local Computer Solutions shop for a meagre sum of money or by more technically advanced friends who usually get them off the P2P networks. Moroever, the Information Technology laws here are laughablly unenforceable.

So to make your computing lives a little harder, I am summarizing some of the most popular licenses (mostly open-source ones) so that if you happen to come by any of these, you’ll have an idea of what are you dealing with.

  1. GPLv2 (GNU General Public License v2)

    You may replicate and change the subject as long you keep all changes also under GPL2. If you are using third-party GPL code in your program, you MUST also open up the source code.

    • You must include the original license.
    • You must disclose the source code.
    • You may modify.
    • You may distribute.
    • You may commercialize your program.
    • You cannot hold the license owner liable for damages.
  2. GPLv3 (GNU General Public License v3

    You may replicate and change the subject as long you keep all changes also under GPL2. If you are using third-party GPL code in your program, you MUST also open up the source code. You must also track all the changes or modification timestamps of all source files. It’s quite similar to GPLv2 but the devil is in the details.

    • You must include the original license.
    • You must disclose the source code.
    • You must state all the changes done.
    • You may modify.
    • You may distribute.
    • You may commerciallize your program.
    • You cannot hold the license owner liable for damages.
  3. LGPL (GNU Lesser General Public License)

    You may copy and modify the subject as long as the modifications done by you are also licensed under LGPL. Derived statically-linked works must be under LGPL while non-statically-linked projects are exempted from this restriction.

    • You must include the original license.
    • You must non-statically link the libraries.
    • You may modify the software.
    • You may distribute your software.
    • You may commerciallize your program.
    • You may sublicense.
    • You cannot hold the license owner liable for damages.
  4. MIT License

    You may do whatever you want with the licensed material, as long as it’s accompanied by the original license.

    • You must include the original license and copyright.
    • You may modify the software.
    • You may distribute your software.
    • You may commerciallize your program.
    • You may sublicense.
    • You cannot hold the license owner liable for damages.
  5. BSD License

    You may do whatever you want with the licensed material, as long as it’s accompanied by the original BSD license in it. But you cannot use the names of original developers to endorse your derived works.

    • You must include the original copyright.
    • You may modify the software.
    • You may distribute your software.
    • You may commerciallize your program.
    • You may sublicense.
    • You cannot hold the license owner liable for damages.
    • You cannot use trademarks or logos.
  6. Apache License 2.0

    You may do whatever you want with the licensed material, as long as it’s accompanied by the original BSD license in it and significant modifications have been stated. But you cannot use the names of original developers to endorse your derived works.

    • You must include the original license and copyright.
    • You must state changes made to the software.
    • You may modify the software.
    • You may distribute your software.
    • You may commerciallize your program.
    • You may also use the licensed work for private purposes.
    • You may sublicense.
    • You cannot hold the license owner liable for damages.
    • You cannot use trademarks or logos.
  7. MPLv2 (Mozilla Public License)

    A somewhat less-restrictive license from Mozilla which . You may include your own propriatery code in your MPL-licensed derived works but what’s already under the MPL, must remain so.

    • You must include the original license and copyright.
    • You must open up the source code.
    • You may modify the software.
    • You may distribute your software.
    • You may commerciallize your program.
    • You may sublicense but not what’s already under MPL.
    • You cannot hold the license owner liable for damages.
    • You cannot use trademarks or logos.
  8. Creative Commons

    Creative Commons is not a software license agreement per se, but a set of attributes you can add to your created works which define the license and rights it would impart to the users,

    • Attribution The Licensees may modify, replciate or distribute the derived works only if they credit the original author in the manner specified.
    • Share-alike The Licensees may modify, replciate or distribute the derived works only if the derived work is also licensed under a license identical to the original work’s.
    • Non-commercial The Licensees may modify, replicate or distribute the derivatives only for non-commercial motives.
    • No Derivative Works The Licensees may copy or distribute the original work only. They are not allowed to modify it.

One company had put a clause about a reward in their EULAs and it took quite a long time before somebody found it.