To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Developer:License: Difference between revisions

From ZNC
Jump to navigation Jump to search
>Cajs
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Switch ZNC from GPL 2 to another license =
= Switch ZNC from GPL 2 to another license =


See https://github.com/znc/znc/issues/218
See https://github.com/znc/znc/issues/311


== What we want? ==
== What we want? ==
Line 9: Line 9:
** [http://logging.apache.org/log4cxx/ log4cxx]
** [http://logging.apache.org/log4cxx/ log4cxx]
* Ability to use stuff licensed under GPL 2 license in ZNC
* Ability to use stuff licensed under GPL 2 license in ZNC
** [http://www.atheme.net/iris.html Iris] or [http://qwebirc.org/ qwebirc]
** [http://atheme.net/iris.html Iris] or [http://qwebirc.org/ qwebirc]
*** But iris is loaded as separate process, and ZNC communicates with it via socket, so it's not an issue, according to [http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF this] and [http://www.gnu.org/licenses/gpl-faq.html#MereAggregation this]
*** But iris is loaded as separate process, and ZNC communicates with it via socket, so it's not an issue, according to [http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF this] and [http://www.gnu.org/licenses/gpl-faq.html#MereAggregation this]
* Anything else?
* Anything else?
Line 15: Line 15:
== The list ==
== The list ==


=== GPL 3 ===
=== [http://opensource.org/licenses/gpl-3.0.html GPL 3] ===
Pros:
Pros:
*
* Requires distributed changes to ZNC to be released under the GPL3.
Cons:
Cons:
* Incompatible with GPLv2 and thus conflicts with "What we want": [http://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility]
* Incompatible with GPLv2 and thus conflicts with "What we want": [http://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility]
* "Stigma" of being a "viral" license, prevents some people or businesses from using or contributing back.


=== LGPL 3 ===
=== [http://opensource.org/licenses/lgpl-3.0.html LGPL 3] ===
Pros:
Pros:
*
* Requires distributed changes to ZNC to be released under the LGPL3.
Cons:
Cons:
* ZNC is not a library
* ZNC is not a library (Don't need to be a library to use the "Lesser" GPL license. [[User:Jreese|Jreese]] ([[User talk:Jreese|talk]]) 17:19, 20 December 2012 (UTC))
* "Stigma" of being a "viral" license, prevents some people or businesses from using or contributing back.


=== Apache 2.0 ===
=== [http://opensource.org/licenses/Apache-2.0 Apache 2.0] ===
Pros:
Pros:
*
* Most liberal license that still protects any project trademarks.
Cons:
Cons:
*
* Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.
* Incompatible with GPL2.0


=== BSD (2 or 3-clause?) ===
=== BSD ([http://opensource.org/licenses/BSD-2-Clause 2-clause] or [http://opensource.org/licenses/BSD-3-Clause 3-clause]?) ===
Pros:
Pros:
*
* Extremely liberal license.
* 3-clause license restricts usage of project or contributor names for endorsing derived projects.
Cons:
Cons:
*
* Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.


=== MIT ===
=== [http://opensource.org/licenses/MIT MIT] ===
Pros:
Pros:
*
* Extremely liberal license.
Cons:
Cons:
*
* Basically identical to 2-clause BSD license.
* Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.


=== Anything else? ===
=== Anything else? ===


== Comments ==
* The goal of being able to use both Apache-licensed and GPL2-licensed code in ZNC is not going to be possible.  Apache license is not compatible with GPL2-only projects, and GPL2-only is not compatible with GPL3 projects. [[User:Jreese|Jreese]] ([[User talk:Jreese|talk]]) 17:26, 20 December 2012 (UTC)
** Even if the codes are running in separate processes? ([http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF] [http://www.gnu.org/licenses/gpl-faq.html#MereAggregation]) [[User:DarthGandalf|DarthGandalf]] ([[User talk:DarthGandalf|talk]]) 18:18, 20 December 2012 (UTC)
** In the case of Iris/Qwebirc, as long as the ZNC code itself is not linking to any of the GPL2 code, then there is no conflict; at that point, you are merely redistributing the GPL2 projects along with ZNC.  But if you have to link to GPL2-only code from Apache or GPL3 code, that's where the problems begin. [[User:Jreese|Jreese]] ([[User talk:Jreese|talk]]) 17:08, 28 December 2012 (UTC)
* I would suggest using one of the more liberal licenses, so that modules can officially be licensed under any terms the author wants to use. LGPL or Apache license probably make the most sense in this regard. [[User:Jreese|Jreese]] ([[User talk:Jreese|talk]]) 17:26, 20 December 2012 (UTC)


== Useful links ==
== Useful links ==
* https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses
* https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses
* http://www.tldrlegal.com/browse
* http://www.tldrlegal.com/browse
* http://www.dwheeler.com/essays/floss-license-slide.html
* [http://opensource.org/licenses/category Licenses By Category - Open Source Initiative]

Latest revision as of 13:18, 9 April 2014

Switch ZNC from GPL 2 to another license

See https://github.com/znc/znc/issues/311

What we want?

  • Ability to use stuff licensed under Apache license in ZNC
  • Ability to use stuff licensed under GPL 2 license in ZNC
    • Iris or qwebirc
      • But iris is loaded as separate process, and ZNC communicates with it via socket, so it's not an issue, according to this and this
  • Anything else?

The list

GPL 3

Pros:

  • Requires distributed changes to ZNC to be released under the GPL3.

Cons:

  • Incompatible with GPLv2 and thus conflicts with "What we want": [1]
  • "Stigma" of being a "viral" license, prevents some people or businesses from using or contributing back.

LGPL 3

Pros:

  • Requires distributed changes to ZNC to be released under the LGPL3.

Cons:

  • ZNC is not a library (Don't need to be a library to use the "Lesser" GPL license. Jreese (talk) 17:19, 20 December 2012 (UTC))
  • "Stigma" of being a "viral" license, prevents some people or businesses from using or contributing back.

Apache 2.0

Pros:

  • Most liberal license that still protects any project trademarks.

Cons:

  • Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.
  • Incompatible with GPL2.0

BSD (2-clause or 3-clause?)

Pros:

  • Extremely liberal license.
  • 3-clause license restricts usage of project or contributor names for endorsing derived projects.

Cons:

  • Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.

MIT

Pros:

  • Extremely liberal license.

Cons:

  • Basically identical to 2-clause BSD license.
  • Allows distributed changes to ZNC to be re-licensed under different terms, or even stay closed-source.

Anything else?

Comments

  • The goal of being able to use both Apache-licensed and GPL2-licensed code in ZNC is not going to be possible. Apache license is not compatible with GPL2-only projects, and GPL2-only is not compatible with GPL3 projects. Jreese (talk) 17:26, 20 December 2012 (UTC)
    • Even if the codes are running in separate processes? ([2] [3]) DarthGandalf (talk) 18:18, 20 December 2012 (UTC)
    • In the case of Iris/Qwebirc, as long as the ZNC code itself is not linking to any of the GPL2 code, then there is no conflict; at that point, you are merely redistributing the GPL2 projects along with ZNC. But if you have to link to GPL2-only code from Apache or GPL3 code, that's where the problems begin. Jreese (talk) 17:08, 28 December 2012 (UTC)
  • I would suggest using one of the more liberal licenses, so that modules can officially be licensed under any terms the author wants to use. LGPL or Apache license probably make the most sense in this regard. Jreese (talk) 17:26, 20 December 2012 (UTC)

Useful links