Ver Fonte

License stuff

Håvard O. Nordstrand há 5 anos atrás
pai
commit
96266afa98
1 ficheiros alterados com 22 adições e 11 exclusões
  1. 22 11
      se/general/licenses.md

+ 22 - 11
se/general/licenses.md

@@ -8,10 +8,10 @@ breadcrumbs:
 
 
 ## Resources
 ## Resources
 
 
-- [Various Licenses and Comments about Them (GNU Project)](https://www.gnu.org/licenses/license-list.en.html)
-- [How are the various GNU licenses compatible with each other? (GNU Project)](https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility)
-- [FOSSA - Open Source Management for Enterprise Teams](https://fossa.com/)
-    - For managing licenses for dependencies, finding licensing conflicts, generating attibution notices, and more.
+- [Wikipedia: License compatibility](https://en.wikipedia.org/wiki/License_compatibility)
+- [GNU Project: Various Licenses and Comments about Them](https://www.gnu.org/licenses/license-list.en.html)
+- [GNU Project: How are the various GNU licenses compatible with each other?](https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility)
+- [FOSSA (Open Source Management for Enterprise Teams)](https://fossa.com/) (For managing licenses for dependencies, finding licensing conflicts, generating attibution notices, and more.)
 
 
 ## Definitions
 ## Definitions
 
 
@@ -26,7 +26,7 @@ breadcrumbs:
 - License compatibility: Licenses are said to be compatible if they can both be applied to a work without conflict.
 - License compatibility: Licenses are said to be compatible if they can both be applied to a work without conflict.
   In other words, it must be possible to satisfy both/all the licenses.
   In other words, it must be possible to satisfy both/all the licenses.
 
 
-## Notes
+## Info
 
 
 - Using a library in an application generally means creating a derivative work of the library.
 - Using a library in an application generally means creating a derivative work of the library.
     - LGPL does not consider dynamic linking as creating a derivative work.
     - LGPL does not consider dynamic linking as creating a derivative work.
@@ -38,8 +38,16 @@ breadcrumbs:
   Contributed code is typically owned by whoever contributed that code.
   Contributed code is typically owned by whoever contributed that code.
 - In some circumstances, multiple programs/libraries may be used by the same system/program without requiring them to be compatible.
 - In some circumstances, multiple programs/libraries may be used by the same system/program without requiring them to be compatible.
   E.g. multiple applications installed in the same system or multiple modules used at the same time (generally).
   E.g. multiple applications installed in the same system or multiple modules used at the same time (generally).
-- MIT projects can not use any GPL libraries.
-- GPLv2 and GPLv3 compatibility:
+- Exceptions can be made to the standard licenses, for instance to modify how the license for your work affects derivative works.
+  The work must still adhere to other imposed licenses, though.
+- An attibution notice must be added within your software for all direct and indirect dependencies it's using.
+
+## Compatibility
+
+- GPL and permissive licenses:
+  GPL programs may be libraries using the permissive licenses MIT, BSD (two- and three-clause form), MPL 2.0 and LGPL, but not the other way around.
+- GPLv2 and GPLv3:
+    - GPLv3 is generally compatible with more licenses than GPLv2.
     - GPLv3 programs may *not* use GPLv2-only libraries.
     - GPLv3 programs may *not* use GPLv2-only libraries.
     - GPLv2-only programs may *not* use GPLv3 libraries.
     - GPLv2-only programs may *not* use GPLv3 libraries.
     - GPLv2-or-later programs may use GPLv2 libraries, resulting in a GPLv2 program.
     - GPLv2-or-later programs may use GPLv2 libraries, resulting in a GPLv2 program.
@@ -47,9 +55,12 @@ breadcrumbs:
     - GPLv2-or-later programs may use GPLv2-or-later libraries, resulting in a GPLv2-or-later program.
     - GPLv2-or-later programs may use GPLv2-or-later libraries, resulting in a GPLv2-or-later program.
     - GPLv3 programs may use GPLv2-or-later libraries, resulting in a GPLv3 program.
     - GPLv3 programs may use GPLv2-or-later libraries, resulting in a GPLv3 program.
     - Mixing GPLv2-only and GPLv3 libraries is not possible.
     - Mixing GPLv2-only and GPLv3 libraries is not possible.
-- GPLv3 is compatible with more licenses than GPLv2.
-- Exceptions can be made to the standard licenses, for instance to modify how the license for your work affects derivative works.
-  The work must still adhere to other imposed licenses, though.
-- An attibution notice must be added within your software for all direct and indirect dependencies it's using.
+- Apache 2.0 and GPL:
+  Apache 2.0 libraries may be used by GPLv3 programs but *not* GPLv2 programs.
+  Neither GPLv3 nor GPLv2 libraries may be used in Apache 2.0 programs.
+
+## Guidelines
+
+- Try to avoid licensing libraries as GPL. Using these libraries is a nightmare, even for GPL applications (due to GPLv2 and v3 incompatibilities).
 
 
 {% include footer.md %}
 {% include footer.md %}