libsmb2 icon indicating copy to clipboard operation
libsmb2 copied to clipboard

LGPL 2.1 license stuff

Open ramapcsx2 opened this issue 2 years ago • 7 comments

Hey ho, this issue is to try and clarify what is and what's not allowed with the LGPL2 part of the software :)

I'm trying to google for the finer interpretation of the usual wall of text that is a license, and this topic here makes me think it wouldn't be compatible with our project: https://opensource.stackexchange.com/questions/7387/what-is-the-difference-between-lgplv2-1-and-lgplv3

Specifically the last post, it really sounds like the license didn't have closed source hardware projects in mind (later addressed with the v3 of the license), so it is kind of open (to me) what it really means.

ramapcsx2 avatar May 23 '23 17:05 ramapcsx2

I will look for more authorative sources for this but I think that link describes the differences between LGPLv2.1 and v3 quite well.

The text says that LGPLv3 requires that the end user can update/modify the resulting binaries, as does GPLv3. LGPLv2.1 and GPLv2 did not require that and it allowed companies, such as TIVO, to ship firmware that could not be modified by the end-user. FSF wanted to prevent that and thus they FSF created LGPLv3 and GPLv3.

The primary reason I picked LGPLv2.1 and NOT LGPLv3 is exactly because LGPLv2.1 does allow you to ship firmware, or an app in the appstore, that the end user for whatever reasons can not modify.

sahlberg avatar May 23 '23 22:05 sahlberg

So, IANAL but the whole issue around TIVO was that the LGPLv2.1 (and GPLv2) did allow them to ship closed source and locked down firmware that the end user could not modify. Which is exactly what you want to do. And the whole reason LGPLv3 exist is that FSF wanted a license that would not allow that type of firmware.

I explicitly picked LGPLv2.1 because it allows what TIVO did and what you want to do. And I want you to be able to use the library.

sahlberg avatar May 23 '23 23:05 sahlberg

Or, please email me at [email protected] I have an alternative solution for you that should remove all your concerns. Maybe that is the easiest way to make you feel confident with this.

sahlberg avatar May 24 '23 00:05 sahlberg

May I ask whether you had concerns about the Apache or MIT license?

About the inclusion of this project in the mStation project, I'm really not sure. That project is about an entirely different topic, and we've spent a few years on researching all that. A feature addition should not be able to make that work liable for any kind of GPL violation litigation, even if the author didn't mean to. (You never know what the next random user might do. GPL has a long history of that.)

ramapcsx2 avatar May 24 '23 12:05 ramapcsx2

Also, I realize people don't like picking licenses. It's entirely possible that you hadn't considered MIT or Apache. In that case, those would be great! (In fact, I don't know whether MIT or Apache is better of the two myself xD)

ramapcsx2 avatar May 24 '23 12:05 ramapcsx2

On Wed, 24 May 2023 at 22:46, Robert Neumann @.***> wrote:

Also, I realize people don't like picking licenses. It's entirely possible that you hadn't considered MIT or Apache. In that case, those would be great! (In fact, I don't know whether MIT or Apache is better of the two myself xD)

I like the LGPL since it encourages people to contribute improvements back. That is really the main reason.

sahlberg avatar May 24 '23 21:05 sahlberg

My intention with picking LGPLv2.1 was to make it compatible with GPLv2-ONLY projects which LGPLv3 is not. My intention with LGPL was "you can use it with proprietary software without libsmb2 infecting your code, but IF you make improvements to libsmb2, please feel encouraged to contribute the libsmb2 improvements back.

My intention was never to prevent anyone from using the library, the opposite is true, and includes also use in proprietary or closed source applications. Which I am 100% fine with if you use libsmb2 that way.

sahlberg avatar Mar 31 '24 04:03 sahlberg