Showing posts with label copyleft. Show all posts
Showing posts with label copyleft. Show all posts

Tuesday, September 4, 2018

Open source license


Recently we are discussing open source licenses including copyleft and copyright (GPL, LGPL, Mozilla, BSD, MIT, Apache etc). I briefed it in previous blog https://hjzhao.blogspot.com/2011/08/open-source-101.html

In this blog, I want to discuss further more regarding if it is safe to use GPL or LGPL license and how to decide which open source license is safe for you.

The GPL is viral in nature (copyleft) so if you use or extend GPL-ed software then you are required to GPL your derived work. GPL Required you to release source code for your distribution (In case of Full GPL but not lesser-GPL which is much more common in libraries)

However, most libraries are intended to be reused and the GPL license doesn't make sense. That is why there is the LGPL or "Lesser GNU Public License". This license allows you to use GPL-ed code in a library setting without requiring your application to be GPL-ed. If the JAR file is distributed under the LGPL you should be OK.

Do not mix up with the following concepts using GPL
  1. You can still distribute any work for a fee thus making profit. (As long as you ship the binary with the source code)
  2. You don't have to provide source code, if you don't ship/distribute any binaries, in case of SaaS (Software as a Service)
If this program runs on your server, nobody else's, and other people only interact with the program by sending packets to your server, usually no source code release is needed. That's your computer, nobody else's. Since the GPL code doesn't execute on anyone else's machine, they cannot demand to see the source for the running program. There are exceptions but they consist of programs which transmit GPLed parts of their own source code to the client so that the client can run them; these need to satisfy the GPL of course. This is also why companies like GitHub (which uses git, GPLv2) or StackExchange (which uses Wordpress, GPLv2) don't have to open source their code, as interacting with their websites doesn't constitute distribution according to the GPL.

On the flip side, for example, when you send a virtual machine to someone, you are sending them code which they execute on their computers, and the GPL absolutely demands that they be able to control what's running on their computers: so you had best be prepared to release source code in such a case.

Here is one decision tree diagram from google search result (copyright owned by original owner). Hope it is clear. We can conclude BSD, MIT and Apache licenses are always safe.

Friday, August 26, 2011

Open source 101

Open source software is software provided on terms allowing user to use, modify, and distribute the source code. It is different from freeware or shareware. In the open source world, "free" usually means "freedom to modify and redistribute source code" rights that do not necessarily come with freeware or shareware.

An open-source license is a copyright license for computer software that makes the source code available for everyone to use. Copyleft licenses require that you share any modifications that you make to the original code. Usually, these licenses also require that you share these modifications under the exact same open source software license as the source code. Different open source licenses have different levels of copyleft, namely No Copyleft, Weak Copyleft and Strong Copyleft.

Here are a list of common licenses:

  • GPL v.3 - GNU General Public License, version 3   
  • LGPL v.3 - GNU Lesser General Public License, version 3 (sometimes referred to as the "Library" General Public License)   
  • GPL v.2 - GNU General Public License, version 2   
  • LGPL v.2.1 - GNU Lesser General Public License, version 2.1 (sometimes referred to as the "Library" General Public License)   
  • MPL - Mozilla Public License, version 1.1   
  • Eclipse - Eclipse Public License, version 1.0   
  • CPL - Common Public License, version 1.0   
  • CDDL - Common Development and Distribution License, version 1.0   
  • MIT - MIT License   
  • BSD - Berkeley Software Distribution License or "New BSD"
Take away:
Feel free to use MIT/BSD license which has no copyleft, try to avoid GPL which has strong copyleft. MPL, Eclipse, CPL, CDDL are falling into weak copyleft category.