Why you should not use LGPLv2.1 (or the MIT License)

Post Reply
User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Why you should not use LGPLv2.1 (or the MIT License)

by Hamlet » Post

This is my answer to Sofar's topic and Mantar's question.

1) It allows to release modified code under a different license, if that code is being used in a larger project, e.g. as a library. See Rubenwardy's reply.
You are writing mods, not algebric functions' libraries, isn't it?

GitHub states:
Image

2) The above has already led a core Minetest developer to eventually leave the community - he had other reasons too, of course, but his words are still valid. A core developer, let me stress it.

His own words:
Image

3) The MIT license does not require code disclosure - i.e. allows closed source.
You are writing Open Source mods, but you allow Closed Source derivated software - confusing, isn't it?

ChooseALicense states:

Image

In my humble opinion, LGPL v2.1 legally allows people to rip your code; granted that a black hat can rip your code, no matter which license you have chosen.

I suggest you to use the GPLv3 license, or the E.U. Public License - which is basically the same as the GPLv3 but it is available AND legal in 23 languages.

I think that people should be able to read a license in their language: often legal terms are not easy to be understood in your own language, go figure in a foreign language.

https://choosealicense.com/appendix/

These are my "two cents"; whatever may be your choice, happy coding and living.
Attachments
MIT.png
MIT.png (7.82 KiB) Viewed 749 times
Blockmen.png
Blockmen.png (28.06 KiB) Viewed 749 times
LGPLv2_1.png
LGPLv2_1.png (82.73 KiB) Viewed 749 times
Last edited by Hamlet on Fri Nov 09, 2018 14:28, edited 1 time in total.
My repositories: Codeberg.org | My ContentDB's page

Skulls
Member
Posts: 108
Joined: Thu Dec 21, 2017 17:41
In-game: Skulls

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Skulls » Post

As the saying goes you should worry more about people not wanting to rip your stuff off than when they do. If a mod gets really popular and folks are abusing the situation (making money and not giving back) you can re-license the entire thing and any future updates can be restrictive.

For me I prefer the more permissive licenses because that is the whole point: sharing and enjoying the game. Combining multiple licenses from different code bases can be a real chore, so much where you just want to rewrite the sucker anyway which kind of defeats the purpose and doesn't encourage folks to contribute back to the original project. But if recognition and attribution is very important to you then by all means.

User avatar
Linuxdirk
Member
Posts: 3218
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Linuxdirk » Post

If Alice creates software that uses Bobs code as a library Alice can release her software under any license she wants as long as she makes clear that Bobs software is under GPL and provides a download link to the software and its sources.

If Alice modifies Bobs software in order to use it she has to release the modified version under GPL as well. When she decides to use the modified and properly GPL'd version of Bobs software as library in her own software she can still release her software under any license she wants.

I don't see how this is an issue for Bob. Bob deliberately licensed his software under GPL so he has to accept the permissions the GPL grants to Alice regarding Bobs software.

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Wuzzy » Post

So basically this discussion just boils down to the old question: Copyleft: yes or no?

My main argument AGAINST copyleft licenses is that they create the utterly pointless problem of “license incompabilities”. Most copyleft licenses are only compatible with a small set of licenses. That's an inherent problem of copyleft.
It's hard or impossible to combine two separate pieces of FREE software legally if they have both different and copyleft licenses. And this is creating a pointless legal problem for FREE software.

But in reality, I think in such a case I would just say “fuck it” and combine two copylefted things anyway, even if it might not be really legally sound. I mean, it's still free software individually, so the probability of catching a lawsuit approaches zero and the problem of “license incompability” is just so idiotic and stupid and needless.

But this is just one argument against copyleft, but I recognize the reasons for copyleft as well.

In the bigger picture, I think all discussions about licenses distract from the REAL problem, which is copyright itself. It's just too damn powerful and lasts basically forever.
And in the EU they are currently working to make it even worse (https://www.techdirt.com/blog/?tag=eu+c ... +directive).
They took code of me without giving credit, while I spend sometimes a lot time to develop polished and/or new features.
Even more bitter it was when features I implemented first and published got not even noticed and those ppl that
copied it got the attention for it.
That behavior made me change my licenses to more and more restrictive ones, ending up in a modiefied z-lib license at the end.
For the record, BlockMen chose the MIT License for most creations, which does NOT demand credit. So obviously, people did not always credit BlockMen. But complaining about lack of credit AFTER the fact is being intellectually dishonest, or failure to understand the MIT License. Long story short: If you insist on credit AND choose MIT License, you are sending mixed signals and it's your own fault if you don't get credit.
The attention thing is sad, but this is the Internet. NOBODY gets free attention around here.

User avatar
rubenwardy
Moderator
Posts: 6972
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: Bristol, United Kingdom
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by rubenwardy » Post

Hamlet wrote:It allows to release modified code under a different license, if that code is being used in a larger project, e.g. as a library.
False

If you modify LGPL code, you must release the source under a similar license.

The library thing means that the user of the library can be under a more permissive or proprietary license. For example, say you made a vector library then a proprietary program can use the library but the vector library itself must remain LGPL and have the code distributed. GPL libraries can only be used inside of GPL programs.

It is not possible to turn LGPL proprietary anymore than it is possible to turn GPL code proprietary, it just makes it easier to use inside proprietary programs

Note that the (L)GPL is a little vague when it comes to interpreted languages like Lua. A common argument I've seen is that using a mod's API doesn't count as linking, in a which case GPL and LGPL offer the same amount of protection when proprietary and free code are kept to different mods. I'm not sure on this, here's a related topic: viewtopic.php?f=47&t=20578
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Why you should not use LGPLv2.1 (or the MIT License)

by sofar » Post

I think BlockMen mostly left because him and me both coded the same exact thing, and he did that before I did. But despite him posting his code, I never saw it. He accused me of plagiarism and violating his copyright, but the code wasn't similar enough for him to prove this, and it was trivial mostly anyway, nor have I any interest in writing code that's already done and doing it in exactly the same way. Ultimately, I think that's what pissed him off the most, and he had already for a while made content available in licenses that were not compatible with Minetest to try and force MT to change licenses, so he definitely had an agenda to stir things up. In any case, it was a disaster, and not just for him, these are not experiences I remember fondly.

None of that really is important to the choice of licensing for MT.

What IMHO the most important is that we keep fostering an environment where barriers to sharing and adoption are reduced. That means that I'm a bit more pro-permissive than most people, and I'll take the occasional complaint that a server operator isn't sharing his code.

Ultimately MT is LGPL-2.1+ and that's the best choice to stay compatible, especially if you want some of your code to go upstream all the way into subgames that include some Minetest Game content, and those are therefore mostly ... LGPL-2.1+.

Choosing GPL3 or even AGPL3 means you're making it a little bit harder for people to use your code in other projects. I won't object, but I will tell you of the consequences.

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Wuzzy » Post

I also think the license choice of MT is acceptable. I am not here to dispute it.

However, keep in mind all those dirty bad Android forks full of bloatware and advertisements, most of which are clearly not caring about the license.

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Hamlet » Post

@Skulls

Sharing and enjoying the game, indeed the licenses must not be an obstacle.
To create my game I've put together about 50+ mods.
- For the "Attribution" clause: authors, forum topics and links are into /doc/credits.txt

- For the "License" clause: I've clearly stated that each mod retains its original license, i.e. "GPLv3 / CC BY-SA Except where differently stated, check the licenses in each subfolder."

- For the "Modified" mods: I've commented the source code to mark my modifications, e.g. the Mobs_Goblins mod at line 1 or at line 1137.
But that is an exception, because Minetest allows overriders (for my game I've made a global overriders' mod) thus tuning a mod's beavior and keeping the original source code up to date is way much easier.

This is to say that giving attribution, respecting the original license and clearly marking your modifications isn't that hard - i.e. sharing and enjoying the game.

@Linuxdirk

Your reasoning is perfect, my doubts are:
1) Why Bob is using LGPLv2.1 instead of GPLv3?
- The LGPL is for libraries, and the FSF itself discourages licensing libraries under that license.
- What makes an outdated LGPLv2.1 (the latest being LGPLv3) more appealing than GPLv3? Which are the benefits? What makes GPLv3 worse than LGPLv2.1?

2) Bob has chosen the MIT license - is he aware that it allows Closed Source redistribution of his work?
- It seems weird to me that an Open Source developer choses to allow people to reuse his/her work without disclosing the source code.

@Wuzzy

The question isn't exactly "Copyleft, yes or no?".
The question is: "Why you are not using a full GPL license for your mods instead than a lesser and outdated GPL version, that is intended for libraries?"
Mods are not functions' libraries.
Even an API - e.g. Mobs Redo - is not just a library.

Q.: "Define a library, please."
A.: "A library is a collection of, e.g.:"

math.abs
math.ceil
math.random
etc.

Q.: "Define a mod, please."
A.: "Technic, Moreores, etc."

@Rubenwardy

Thanks for your clarification, I will modify the original post accordingly.

So basically the LGPL allows a proprietary software to use a LGPL licensed library, while a GPL licensed library could not be used by a proprietary software.

Still my question remains: why a mod developer should license his/her work under the LGPL - given that a mod is not a library, see above - instead than under the GPL or MIT? (which leads to Sofar's answer)

@Sofar

I see your point about keeping an environment where it is easy to share/mix/readapt code, that is the soul of an open source community and I agree with it.

I'm not sure about the "merged upstream" part:
Minetest's contributors use GitHub, pull requests do not need licensing statements.
Minetest Game's contributors use GitHub, same as above.

So basically Minetest and the Minetest Game have their license, their development teams and so on.
Mobs Redo, Technic, <Whatever Mod>, <Whatever Game> will never - or hardly - be bundled with Minetest.

So why telling people to use the same Minetest/Minetest Game's license?
Just in case?

@Wuzzy

Speaking of scammers, I'd like to add a brief text stating something like:

"By using this software you hereby agree to:

1) Pay a fee of three times the amount of money earned in violation of the license.

2) Pay any legal expenses substained by anyone - be it the original author, or anyone else - willing to enforce the license's terms.

3) The First third of the fee will go to the original author(s); the Second third will go to the person that has sued you; the last third will be devolved in charity by the court's judge."

Scammers count on the fact that developers have no money to hire a legal and sue them.
Well, with a text like this I would be allowing anyone to sue them, be refunded for their expenses and be paid for bringing the scammer in a court.

Bounty hunters, have fun: if a scammer has earned 1000 euro/dollars they will have to pay a fee of 3000 EUR/U.S.D. - and any legal expenses.
1K for the bounty hunter, 1K for the developer, 1K for the poors.

Minetest's developers could earn a wage if they had 1Eur/U.S.D. for each rogue copy.
My repositories: Codeberg.org | My ContentDB's page

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Why you should not use LGPLv2.1 (or the MIT License)

by sofar » Post

Hamlet wrote: Speaking of scammers, I'd like to add a brief text stating something like:

"By using this software you hereby agree to:

1) Pay a fee of three times the amount of money earned in violation of the license.

2) Pay any legal expenses substained by anyone - be it the original author, or anyone else - willing to enforce the license's terms.

3) The First third of the fee will go to the original author(s); the Second third will go to the person that has sued you; the last third will be devolved in charity by the court's judge."

Scammers count on the fact that developers have no money to hire a legal and sue them.
Well, with a text like this I would be allowing anyone to sue them, be refunded for their expenses and be paid for bringing the scammer in a court.

Bounty hunters, have fun: if a scammer has earned 1000 euro/dollars they will have to pay a fee of 3000 EUR/U.S.D. - and any legal expenses.
1K for the bounty hunter, 1K for the developer, 1K for the poors.

Minetest's developers could earn a wage if they had 1Eur/U.S.D. for each rogue copy.
I would strongly suggest you do not do this, at least not until you have actually talked to a lawyer about what the implications of such a rule would be to (1) you, (2) the legal users of your software and obviously whether (3) this will actually have an effect on abusers. You are quite likely making it worse for either yourself or your users.

User avatar
Linuxdirk
Member
Posts: 3218
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Linuxdirk » Post

Hamlet wrote:Speaking of scammers, I'd like to add a brief text stating something like:
Every lawyer would destroy you over this within seconds.

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Hamlet » Post

Sofar, Linuxdirk

The "clause against scammers" idea was just small talk, I know that it is a naive idea.

Going back In Topic, to sum up my thoughts about it:
1) LGPL
2) MIT License
3) Too Long: Didn't Read
4) Postscript for Sofar about Blockmen's words


1) LGPL v2.1

- It has been written to allow Non-Free programs to use Free libraries. (License at line 89)

- A Minetest's mod or a game are not libraries. (License at line 124)

- Minetest's mods and games are not meant to be used as libraries by Non-Free programs, e.g. Minecraft.

- Although the License allows its use for other software than libraries (License at line 23), I don't see how its only advantage over the ordinary GPL - i.e. encouraging the use of Free software in Non-Free software (License at line 89) - can possibly apply to Minetest's mods and games.

- Concerning derived software the clauses about Attribution, Share alike, State modifications, etc. are the same as the ordinary GPL; in other words, compared to the GPLv3 it does not make "easier" to "share, readapt and mix".

- It clearly states that it does less than the ordinary GPL to protect the user's freedom. (License at line 81)

2) MIT License

- It allows closed source redistribution (see the first post), thus legally allowing people to "use, copy, [...], and/or sell" your work without even disclosing the source code. You do the job, they get the money.

E.g.:
- Microsoft has bought GitHub.
- Half of the GitHub repositories are licensed under the MIT license (1).
- Microsoft can "use, copy, [...] and/or sell" that software.

3) TL:DR

I'm not a lawyer, I just try to help the Community to avoid what I think - and I might be wrong - that are mistakes, or risks. In good faith.

Anyway these discussions - about translations; userbase-developers relations; licensing - eventually made me feel quixotic, delusional in the worst cases.
Thus I have decided not to meddle anymore in such topics, from now on I will only think about my mods.

4) Thank you for your input about Blockmen's words; it may well happen that two persons write the same code without even seeing the other person's code.
However I don't think that a single case may eventually push a skilled programmer - I see core developers as skilled/professional programmers - to change his licensing choice again and again, it must have been more than one case to make him think that some people in the Community were abusing his work.
In a few words: a general community's attitude rather than a single incident that may have happened with you.

Happy coding and living.
My repositories: Codeberg.org | My ContentDB's page

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Why you should not use LGPLv2.1 (or the MIT License)

by sofar » Post

- A Minetest's mod or a game are not libraries. (License at line 124)
This is actually incorrect. Most of MTG is most certainly a library: It contains a public API and it's well documented and the components that make this library have been used in many other games, and mods.

Just look at the game API documentation in Minetest Game.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Why you should not use LGPLv2.1 (or the MIT License)

by sofar » Post

E.g.:
- Microsoft has bought GitHub.
- Half of the GitHub repositories are licensed under the MIT license (1).
- Microsoft can "use, copy, [...] and/or sell" that software.
non-sequitur. Microsoft can take any MIT licensed software and do all this without buying github. As a matter of fact, everyone in the whole world can do this.

User avatar
Hamlet
Member
Posts: 766
Joined: Sat Jul 29, 2017 21:09
IRC: H4mlet
In-game: Hamlet
Location: Lombardy, Italy

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Hamlet » Post

sofar wrote:
Hamlet wrote: A Minetest's mod or a game are not libraries. (License at line 124)
This is actually incorrect. Most of MTG is most certainly a library: It contains a public API and it's well documented and the components that make this library have been used in many other games, and mods.
I wrote: A Minetest's mod or a game are not libraries.

I have made "Medio Volumetrico" (wip games), would you call that a library?
If I write a mod to add stairs to MeVo, are you going to call that a library?
Is the Mobs Redo API just a collection of functions to be called by other mods/games - a library - or is it something more than that?
sofar wrote: non-sequitur. Microsoft can take any MIT licensed software and do all this without buying github. As a matter of fact, everyone in the whole world can do this.
The "sequitur" part is: the fact that Microsoft has bought GitHub, on which half of the software is MIT licensed, demonstrates that the MIT license attracts that kind of attentions; coders for free, legally allowing them to monetize their work - but Microsoft does not have to disclose its source code.

The big difference is that anyone else in the world would have to search and download, instead Microsoft does not have to: developers are submitting their MIT licensed software directly into Microsoft's databases.
Most convenient, isn't it?
My repositories: Codeberg.org | My ContentDB's page

User avatar
Mantar
Member
Posts: 585
Joined: Thu Oct 05, 2017 18:46
Contact:

Re: Why you should not use LGPLv2.1 (or the MIT License)

by Mantar » Post

Hamlet wrote: The "sequitur" part is: the fact that Microsoft has bought GitHub, on which half of the software is MIT licensed, demonstrates that the MIT license attracts that kind of attentions;
Not really, they could already use any and all MIT licensed code (and have been doing so for decades), without buying anything.
Lead dev of Exile, git repo: https://codeberg.org/Mantar/Exile

Post Reply

Who is online

Users browsing this forum: No registered users and 16 guests