Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

any chance this will be published under a permissive license (e.g. Apache, MIT, MPL) #172

Open
ilka-schulz opened this issue Sep 27, 2023 · 6 comments

Comments

@ilka-schulz
Copy link

@me-no-dev Is there any chance that this library will be published under a permissive license (e.g. Apache, MIT, MPL)? Currently, I can unfortunately not publish the code I am writing on (although I hope that I will be able to do that later) and I can thus not use this library which uses a copyleft (LGPL) license.

I would otherwise have to write a similar library myself and I think this is a pointless use of my work time...

@mathieucarbou
Copy link

I would otherwise have to write a similar library myself and I think this is a pointless use of my work time...

I am following because interested in the subject and I had to question myself about that too recently...

As far as I know, LGPL is a weak copyleft license, and the only use case I see where GPL and LGPL would not be compatible is if you are patenting your code.

And for the GPL, as I understand the license, you can sell and redistribute any (derivative) work (like big compagnies like Google, Redhat, etc are doing) as long as your application license is also a compatible license (or GPL if GPL). You don't have to make the source code available, but anyone can ask for it. But the license does not specify the terms to provide the source code (how, on which support, which delay, etc), except that the price should be reasonable.

What did you find incompatible in your case ?

@ilka-schulz
Copy link
Author

@mathieucarbou Thanks for the details!

You don't have to make the source code available, but anyone can ask for it.

Anyone can take the GPL program you sold them, and distribute it further with or without any modifications of their own, and sell them for whatever price they want. The only requirement is that the copyright notice isn't removed (i.e. you can't take random GPL code and say it's your work) and all of the license and notices stays in place.

[https://opensource.stackexchange.com/questions/8836/gplv3-forces-us-to-make-code-available-but-to-whom\]

So GPL provides no way of keeping code private and anyone who wants to get it can get it. That is the reason why I can not use this library licensed under GPL.

I took a look at the class interface in the header file and cloc says the entire src directory has 1261 lines of code – writing a compatible library is probably a better way than using this GPL'ed library. But I still think that it is a waste of time to write a library that solves the same problem which is already solved by an existing library...

@mathieucarbou
Copy link

mathieucarbou commented Sep 27, 2023

So GPL provides no way of keeping code private

I disagree. You can keep your code private. GPL prevents the code to be proprietary. There is a big difference. You can sell and redistribute any work with GPL libraries. Your work will have to be with the GPL license, but you don't have to distribute the source code with your work. You can, this is highly encouraged by the spirit of the license, but nothing forces you to do that. In fact, you don't need to have any formal process in place for source code disclosure and if any process or demand are made, a fee could be attached to it to pay for the effort in disclosing the source code.

Someone could answer such a request with:

ok, we can send you the source code, it will be a big envelope of 500 paper sheets you will have to pay for the paper, ink, printer and person on charge to do it which will amount for xyz $. And don't forget that pages won't be numbered and will be printed in a random order. This is stupid, but it works because you don't prevent the source code disclosure, you just make it really complicated.

@juniorsaldanha
Copy link

So, i'm passing for the same issue with some libraries to embedded software, this LGPL its being a pain in my *** as i'm developing a proprietary embedded software, i've seen this discussion on stackexchange and doesn't make any sense an library for embedded software to be LGPL if we can't use it on a correct way, and some how give instructions/toolchain/keys and my code for the user to recompile it.

'It seems to me it is very difficult to use LGPLv3 license free/open software on embedded system, because a) we have to make the compiler tool chain available and b) public key to assign the apps to users.' and it has more good stuff on this discussion, check it out the link below.
https://opensource.stackexchange.com/q/7387

I guess i'll just stop of using these LGPL libraries for embedded and create my own private libraries (maybe i'll open source them under some good permissive license).

As long as we have our open source community not looking conscience to open source collaboration AND private sector that now days it's who most ensure that some bigger projects keeps growing and evolving with PRIVATE developers working on it, these projects that can't be used by the private sector it only live to studying, testing, and hobbies.

@trycoon
Copy link

trycoon commented Dec 13, 2023

You don't have to provide the code for YOUR application when you are using a LGPL-library, only the code and the changes you make to the library. Which is the difference between GPL and LGPL.

@juniorsaldanha
Copy link

You don't have to provide the code for YOUR application when you are using a LGPL-library, only the code and the changes you make to the library. Which is the difference between GPL and LGPL.

It's not simple as that. I advise you to read specifically about the duties of use of LGPLv3 and attend for each one of the duties on embedded software. I'm not sure how I could/should separate the lib integration from my application, and not mix it up the library into my application and still attend the duties like not having more the 10 lines of code from the library; as well, give some way to the user to replace/choose the LGPL library over any other options possible. I'm not sure if I'm just speaking some s** about it, but this is what I've understood about the LGPL and how to apply to embedded software, in my opinion/experience, private sector has some bad feelings on LGPL for embedded software.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants