Copyleft Open Source License Comparison - GPL, AGPL, LGPL, MPL

Copyleft Open Source License Comparison - GPL, AGPL, LGPL, MPL

¿Qué son las licencias de código abierto y copyleft?

Introducción a las licencias Copyleft

  • Las licencias de código abierto más populares incluyen GPL, AGPL, LGPL y NPL. Estas licencias indican que los términos de la licencia deben ser preservados en obras derivadas.
  • Las licencias Copyleft son consideradas restrictivas en comparación con las licencias permisivas, ya que garantizan el acceso abierto a los desarrolladores.

Licencia General Pública (GPL)

  • La GPL es una de las licencias más conocidas dentro del copyleft. Cualquier software que use código GPL debe distribuir su código fuente bajo la misma licencia.
  • Existen varias versiones de la GPL; la versión 3 es la más reciente y facilita el uso internacional, además de proporcionar mayor claridad sobre las licencias de patentes.

Licencia Affero General Pública (AGPL)

  • La AGPL es similar a la GPL, pero considera el uso en red como distribución, cerrando así una laguna legal conocida como "application service provider loophole".
  • Esta laguna permitía a proveedores de software como servicio usar código GPL sin cumplir con sus términos si no distribuían el código tradicionalmente.

Licencia Pública General Menor (LGPL)

  • La LGPL ofrece términos menos restrictivos que la GPL. Solo requiere que se compartan trabajos derivados basados en componentes licenciados bajo LGPL.
  • Si un autor utiliza solo componentes LGPL sin modificar el código original, no está obligado a hacer su software de código abierto.

Licencia Pública Mozilla (NPL)

  • La NPL es compatible con la GPL y tiene requisitos menos restrictivos. Permite mantener trabajos propios como cerrados o propietarios siempre que el código NPL utilizado esté separado.
Video description

GPL, AGPL, LGPL, MPL are popular open source licenses, and they are all included in the copyleft license category. Copyleft licenses indicate that the same license terms must be preserved in derivative works. It means that if you are using some code released under a copyleft license, the distribution of your code must follow the same license terms to let other people use it. So, compared with permission licenses which do not have such a restriction, copyleft licenses are considered as restrictive although they can guarantee open access to developers. In the copyleft group, one of the most famous licenses is the GNU General Public License, abbreviated as GPL. Since it is a copyleft license, any software that uses the whole or part of GPL code or links to the GPL library must distribute all its source code under the same license. This means if you are using some GPL libraries in your software, you have to use the same license when you distribute your software to let others use your code for free. There are several versions of GPL and version 3 is the latest one. Compared with GPL v2, GPL v3 facilitates international usage outside the United States and provides more clarity on patent licenses. The Affero GPL, also called AGPL license, is very similar to the original GPL. The only difference between AGPL and GPL is that AGPL licenses consider the network usage as distribution, which closes the famous GPL's loophole called application service provider (ASP) loophole. Due to the existence of this loophole, for those software-as-a-service (SaaS) providers, since they didn’t technically distribute the GPL code in the traditional sense, they can legally run those code or program over a network to make money and are exempt from the terms of the GPL license at the same time. AGPL licensese close this loophole by defining network usage as the distribution as well. The Lesser General Public License, which is referred to as LGPL license, offers less restrictive terms compared with GPL licenses. GPL requires developers to share all derivative work no matter what the usage is. In comparison, LGPL only requires authors to share work based on the LGPL licensed components. If the author only uses the LGPL components, for example, a LGPL library, then they don't need to make it open source. For example, if your software uses some LGPL source code, you must share your code as well as the original GPL licenses. However, if you are just using a LGPL library instead of the code snippets, you don't need to make your software open source. The Mozilla Public License, which is referred to as MPL license, is compatible with GPL. It provides less restrictive requirements than GPL and LGPL. In GPL, as long as your project includes a piece of GPL code or links to a library, the whole project must be made open source as well. However, MPL licenses allow you to keep your own work as close source or proprietary as long as the MPL code you are using is kept in separate files. In short, MPL licenses require the files using MPL code to be kept as open source and, at the same time, enable you to keep your own files as proprietary. In comparison to the LGPL license which is based on per-library rule, MPL is based on a per-file copyleft rule, which means any file that does not include MPL material can be kept as close-source. Attribution: Image from Pixabay: https://pixabay.com/zh/photos/software-developer-web-developer-6521720/