ducdetronquito / requestz

HTTP client for Zig 🦎
BSD Zero Clause License
116 stars 12 forks source link

Licensing #7

Closed ducdetronquito closed 4 years ago

ducdetronquito commented 4 years ago

It seems that the public domain license of requestz (http and h11) may prevent european people from contributing*.

I hate copyright laws with all my heart, and I don't want to spend to much time into this topic, but I will do what's best for the Zig community.

I would like to hear your opinion on what is the most suitable license for requestz in order to benefit the overall Zig community.

When a consensus is reached, I will make the change. Thanks in advance :)

Cf: https://opensource.stackexchange.com/questions/9871/why-is-there-no-public-domain-licensing-in-europe

Ping: @Luukdegram

Luukdegram commented 4 years ago

Disclaimer: I absolutely hate copyright laws as well.

Perhaps an idea would be to dual-license it. This allows users to pick public-domain, or an actual license if they wish so. For example, both MIT and BSD 0-clause are great examples of permissive licenses.

ducdetronquito commented 4 years ago

Thanks for you inputs Luuk !

@MasterQ32 also noticed me about the EUPL.

katesuyu commented 4 years ago

BSD-0 Clause is the best option if you want a project everyone can contribute to while remaining public domain equivalent. It truly is as great as public domain, just without all the legal mess. As an example, Google forbids contribution to almost all public domain licenses (CC0, Unlicense, ...) but specifically allows BSD 0-Clause.

ducdetronquito commented 4 years ago

Thanks @katesuyu :)

katesuyu commented 4 years ago

Something I'd like to mention about the alternative of "dual licensing" under public domain and another permissive license is that the other permissive license would essentially "infect" the codebase if you accepted contributions from users who can't contribute code under public domain due to the laws of their locale. Meaning, your codebase would have a lot of code that is, for example, MIT-only. Your attempt at dual licensing would be erased because many contributions would be licensed under less permissive terms.

Meanwhile, BSD-0 is just a permissive license that grants every permission without conferring any requirements on the licensee or mentioning the legally problematic concept of "public domain" (which is the downfall of CC0 and Unlicense). Therefore, nothing bars contributors from contributing to your project, and you avoid the complication and inefficacy of dual licensing with a problematic license.

ducdetronquito commented 4 years ago

Comment from @P-E-SCHMITZ in a duplicated issue (https://github.com/ducdetronquito/requestz/issues/9)

Hating the copyright law red tape is something human (especially for non-lawyers) and you have both my comprehension and sympathy. Since pure public domain is not practised in Europe, the use of the permissive MIT license seems to be the most recommended in such case. Whithout all the legal red tape, permissive licences like MIT or BSD are simple, but they are not reciprocal (some say "copyleft"). So, do not be upset if someone (i.e. one of the GAFA companies) copy all your source code and redistribute it under their own proprietary terms. The advantage of a reciprocal license is that it forces people that redistribute your source code, even modified or improved, to provide it back to you under the same original license. This is the case of the famous GPL-3.0 which is long, complex, poorly interoperable and incompatible with other licences. An alternative is indeed the use of the EUPL, valid in 23 languages, which is in addition "interoperable" (freedom and no conditions for linking with different software) and more "compatible" (possibility to redistribute the covered source code under other similar outbound licenses listed as "compatible" in its appendix).

ducdetronquito commented 4 years ago

Done !

I moved http, h11 and requestz from Public Domain to BSD-0. I Hope it is for good !

Thanks for all you advice :)