libtom / libtommath

LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.
https://www.libtom.net
Other
650 stars 194 forks source link

Licensing, Public Domain issues #76

Closed samcv closed 5 years ago

samcv commented 7 years ago

I see that libtommath is "dual licensed" under "Public Domain" and "WTFPL".

"WTFPL" may not be legally viable and "Public Domain" is not a license because it is dependent on the country of the software's use. I think the creator may be located in Canada? So here are the Canadian rules on Public Domain:

If it was created in Canada, treat it under Canadian law If it wasn't created in Canada (Berne Convention Country), treat it as if it were created in Canada

It is not to my knowledge allowable to give up your copyright and put it into Public Domain yourself, you must wait 50 years after death, and that is different on different countries. I could be wrong about not being able to give it up under Canadian law, but even so users of the software are still at the mercy of their countries laws regarding Public Domain and Copyright.

May I suggest you choose CC-0 which puts your work into the public domain but also has provisions which take effect if the persons country does not recognize a work as being in public domain. Thereby achieving the desired goal of public domain, but also making users confident that they are able to use the software worldwide without having to do extensive research on Public Domain for their country.

Given that software and the Internet is Global it would be awesome if this work could be licensed under CC-0. Thank you all for developing this great software. I ask this only in the hope that a change such as this will allow more usage of this software in the spirit of your intention, of putting it into the Public Domain regardless of a persons country.

From the CC site:

Dedicating works to the public domain is difficult if not impossible for those wanting to contribute 
their works for public use before applicable copyright or database protection terms expire. Few if any 
jurisdictions have a process for doing so easily and reliably. Laws vary from jurisdiction to jurisdiction 
as to what rights are automatically granted and how and when they expire or may be voluntarily 
relinquished. More challenging yet, many legal systems effectively prohibit any attempt by these 
owners to surrender rights automatically conferred by law, particularly moral rights, even when the 
author wishing to do so is well informed and resolute about doing so and contributing their work to 
the public domain.
hikari-no-yume commented 7 years ago

Was about to suggest CC0.

However, how well does CC0 function for software? The CC licenses, AFAIK, really aren't drafted with source code in mind. It perhaps doesn't matter for this particular license, but perhaps something ultra-liberal (say, MIT) would be better.

samcv commented 7 years ago

CC-0 works fine for software. I mentioned it because it seemed to fit the spirit of wanting to put software in the public domain. CC-0 was submitted to OSI for approval but they could not reach consensus becuase of a clause in the "fallback" section that gets invoked if a jurisdiction does not grant or does not fully grant public domain status about "No ... patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document."

Though usually that is mostly true in any case since most licenses don't explicitly even mention patents (and thus don't grant any patent rights usually). The OSI didn't want to set a standard for approving licenses which explicitly mentioned the license didn't grant any patent rights. Which seems a bit silly, but they seem to want to cultivate licenses which do not mention patents or which grant patent licenses for use of software.

Read more here: https://opensource.org/faq#cc-zero

karel-m commented 7 years ago

"WTFPL" may not be legally viable

Frankly, the same can be (and often is) said about CC0.

It is known that Open Source Initiative (OSI) in general does not like "public domain" concept and they discourage from using WTFPL as well as CC0. Switching from WTFPL to CC0 will not fix it.

WTFPL is at least concise and clear:

As mentioned by @sjaeckel in a similar discussion related to libtomcrypt https://github.com/libtom/libtomcrypt/pull/134 :

What's the real problem you are trying to solve by submitting this bug report?

samcv commented 7 years ago

The problem I am trying to solve, is that me and likely many other people would like to see a nice project they use be under a viable license. The WTFPL does not grant any specific rights, is ambiguous and non-specific. The point of a license is to let users of the software know they are legally able to do so, the WTFPL falls short of that.

Speaking of OSI's critisisms, here are some of theirs on the WTFPL:

It's no different from dedication to the public domain. Author has submitted license approval request 
– author is free to make public domain dedication. Although he agrees with the recommendation, Mr. 
Michlmayr notes that public domain doesn't exist in Europe. Recommend: Reject.

We can see that this project is under both WTFPL and has been asserted to be dedicated to the public domain, both with issues (as you have rightly noted that there are issues with Public Domain).

Telling me I should alter the LICENSE file, is not a viable or realistic solution. WTFPL doesn't grant the right to relicense. If you read version 2, it specifically says: TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION. Relicensing is not listed. It's uncertain what legal rights I gain from "doing what I want", but the document is clear it only related to copying distribution and modification, not relicensing.

As on the reasons I am submitting this bug report: I am one of the developers of the Perl 6 programming language, and the MoarVM virtual machine on which it runs which uses libtommath for its math operations. I am personally invested in trying to increase the uptake of the Perl 6 programming language and therefore am opening this issue for that reason.

The main point I am trying to make is that the point of a license is to be legally unambiguous and give a very high degree of confidence that certain uses of pieces of software are legally authorized. Without that high degree of confidence, a license falls short of its purpose as a legal entity. I think we can both agree that we would like to ensure a wide and unencumbered usage of libtommath. Unfortunately legal realities are something that although not ideal, are something developers, companies, and individuals have to worry about.

Tyil commented 7 years ago

"WTFPL" may not be legally viable

Frankly, the same can be (and often is) said about CC0.

You can choose a license other than CC0. Frankly, WTFPL isn't actually a license that grants anything, whereas CC0 at least holds up in courts. It would be much appreciated if you were to license the project under a proper license that grants people the rights they want or need in order to use it as free software.

karel-m commented 7 years ago

Telling me I should alter the LICENSE file, is not a viable or realistic solution.

Wait, so altering the LICENSE file is not viable for you (in your forked repo), but you think it is viable for a member of libtom project (in the main repo)?

In other words you are afraid of doing "something"; however, want us to do that "something", right?

karel-m commented 7 years ago

It would be much appreciated if you were to license the project under a proper license that grants people the rights they want or need in order to use it as free software.

Show me any other SW that is more "free software" than projects from libtom family. You are just not brave enough to fork & change the LICENSE to whatever you want (which absolutely complies with "do whatever you want" but "nobody guarantees you anything").

the-eater commented 7 years ago

I think you're missing the point @karel-m, nobody except the owners are allowed to change the LICENSE of this project as this permission is not explicitly given, which means that you may get sued for doing so. which is not an risk you want to take. So in that respect you can say we are afraid, but rightfully so.

sjaeckel commented 7 years ago

I'm tired of these discussions.

My position until now: "Wo kein Kläger, da kein Richter.", "No plaintiff, no judge." Who/What do you fear?

My position now: Can someone who cares about this bring me a lawyer (yes, please someone with a law degree) who swears on the blood of his first born son tells me 'use this license, it's the same permissive as the WTFPL2 & PD, but we lawyers like it'. A requirement should be that not only lawyers understand that this license is "as permissive as the WTFPL2 & PD" (which I did from the WTFPL2). A pro would be if it allows relicensing to whatever license someone likes.

zoffixznet commented 7 years ago

Can someone who cares about this bring me a lawyer

FWIW here's a recent post by a real-lawer: https://writing.kemitchell.com/2017/03/29/OSS-Business-Perception-Report.html# For WTFPL it says "Bad vibes. Legal head scratching about waiver, estoppel.".

Frankly, it's not a license I'd want to tell about to my boss about due to its language.

On the other hand, "Wo kein Kläger, da kein Richter." I think is apropos. Fine there's no "Public Domain" somewhere in the world... Is there some actual legal issue that's present due to this or do we just have a bunch of people playing lawyers on the Internet?

hikari-no-yume commented 7 years ago

nobody except the owners are allowed to change the LICENSE of this project

To be more specific, only the copyright holders of the project can relicense, which means all the past contributors to this project acting in unison.

hikari-no-yume commented 7 years ago

Wasn't WTFPL ostensibly originally added as a license because of concerns about this library being Public Domain?

WTFPL was never a good choice though. It's puerile, vague, and lawyers have no idea what to do with it.

cygx commented 7 years ago

Also note that using CC0 is recommended by the FSF (cf CC0, Public Domain).

karel-m commented 7 years ago

nobody except the owners are allowed to change the LICENSE of this project

To be more specific, only the copyright holders of the project can relicense, which means all the past contributors to this project acting in unison.

Yes, if you see it like this than you need to have a look at git log and ask every single contributor if she/he agrees with your newly proposed LICENSE. Simply do it; make your fork - ask past contributors - change the LICENSE - have what you wanted. It seems like you just do not want to waste your time asking all past contributors but somehow you expect that we will do it for you.

I see it differently. Every contributor was aware that her/his code will be under WTFPL2 / PD which always meant "do whatever you want" but "nobody guarantees you anything". And "whatever" surely includes altering the LICENSE file.

sjaeckel commented 7 years ago

Can I close this or will someone do https://github.com/libtom/libtommath/issues/76#issuecomment-298873282 and then https://github.com/libtom/libtommath/issues/76#issuecomment-298937270 ?

I give you some days/weeks, if there's no effort I will close this.

samcv commented 7 years ago

@sjaeckel it seems that the way to resolve this would be to have somebody ask each of the contributors of the project to OK a new license. I would be willing to do this, although the question becomes what license to choose.

I would think the MIT license would be a good choice. It is short, to the point, widely in use and widely accepted as a license.

If a few of the contributors could weigh in on this choice, or give another better choice that would be great. Thanks!

Edit: Reading your post again, do you require me to find a lawyer before seeking a new license? Is that an absolute requirement? Thanks.

sjaeckel commented 7 years ago

AFAICT this didn't involve a lawyer, but okay ;-)

CC0

abokth commented 7 years ago

To whatever extent it is relevant, I agree that any contributions I have made to libtommath may be released under any of the CC0, Apache2, Modified BSD and X11 (aka MIT) licenses, in addition to the WTFPL.

I would however suggest the X11/MIT license as a simple, permissive, clear license and to avoid license proliferation.

samcv commented 7 years ago

The end of last week I sent out emails to about half the contributors. Will send the rest of the emails out soon. Thanks @abokth for replying :-)

dfateyev commented 7 years ago

Is this discussion still actual? By the way, as for my humble contribution, you can apply to it any of CC0, Apache2, MIT, GPL licenses, in addition to the current WTFPL.