Håvard O. Nordstrand 5 lat temu
rodzic
commit
96266afa98
1 zmienionych plików z 22 dodań i 11 usunięć
  1. 22 11
      se/general/licenses.md

+ 22 - 11
se/general/licenses.md

@@ -8,10 +8,10 @@ breadcrumbs:
 
 ## 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
 
@@ -26,7 +26,7 @@ breadcrumbs:
 - 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.
 
-## Notes
+## Info
 
 - 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.
@@ -38,8 +38,16 @@ breadcrumbs:
   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.
   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.
     - GPLv2-only programs may *not* use GPLv3 libraries.
     - 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.
     - GPLv3 programs may use GPLv2-or-later libraries, resulting in a GPLv3 program.
     - 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 %}