Skip to content

thoughts about a more permissive license #173

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

Closed
bsergean opened this issue Aug 28, 2019 · 14 comments
Closed

thoughts about a more permissive license #173

bsergean opened this issue Aug 28, 2019 · 14 comments
Assignees

Comments

@bsergean
Copy link

Hi there,

Thanks for making a very useful library. We're wondering if you've been giving thoughts about using a different library like BSD or MIT which makes it easier for companies to integrate software. There is also the GPL linking exception which could help as well.

Thanks !

  • Benjamin
@danmar
Copy link
Owner

danmar commented Sep 1, 2019

I don't have a strong opinion.

This library is distributed with the LGPL license, as far as I see. So feel free to link it into your commercial product. I have no intention to prevent linking.

If BSD/MIT is needed .. I would like some info about what your reason is. Do you need to make some hidden changes? I would of course hope that useful updates are made upstream also..

@bsergean
Copy link
Author

bsergean commented Sep 3, 2019

Hey Daniel thanks for your response.

In my experience, for offline tools (say a linter) usually GPL/LGPL are ok as those system are rarely redistributed, but rather used to validate code before it is compiled. However our use case for simplecpp is to write code that would execute on a client at runtime for expanding macros and doing such things in GLSL or Metal graphics/shader code. So that code would have to be redistributed in binary form to customers. LGPL usually scares away legal departments in companies, companies tries to protect their "full" IP and shield them from 'I need to redistribute all my source code after linking with one GPL/LGPL library'. Also on Android it is quite hard to implement LGPL, and it's probably the same deal on iOS.

I can't speak for the folks who are trying to use this at my place, but in the past we've been good at contributing back whenever a bug is found or similar. We have a couple of open-source things on github.

Lastly I understand and value the merits of the GPL, LGPL (Free Software etc...), so if you like those philosophical principles, keep using that license. My point is just that it is likely to limit a bit the adoption of simplecpp in some systems.

@danmar
Copy link
Owner

danmar commented Sep 4, 2019

LGPL usually scares away legal departments in companies, companies tries to protect their "full" IP and shield them from 'I need to redistribute all my source code after linking with one GPL/LGPL library'

That was why I chose LGPL

"The license allows developers and companies to use and integrate software released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components."

As far as I see you can link this into your product and release it.. even if your source code is closed source.

For information, I also want your IP to be fully protected. I want to have a license that allows you to freely link simplecpp into your product and you should not be forced to disclose your code or whatever. But the reason I stay away from BSD at the moment is that it allows you to make your own tweaks to the simplecpp source code. I just would like that piece of protection that you are not allowed to make hidden tweaks to simplecpp source code.

I am not a lawyer though. Do your legal department claim that:

"The license allows developers and companies to use and integrate software released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components."

is not good enough?

I can't speak for the folks who are trying to use this at my place, but in the past we've been good at contributing back whenever a bug is found or similar. We have a couple of open-source things on github.

I don't have a strong opinion. I think that most companies would prefer to upstream their tweaks so they don't have to maintain their own simplecpp variant. It's just that I don't give away this protection if there is no reason to do it.

@bsergean
Copy link
Author

bsergean commented Sep 4, 2019 via email

@danmar
Copy link
Owner

danmar commented Sep 5, 2019

oh it's so scary about licenses. That was what I thought LGPL would do.

MPL sounds good.

hmm.. I need to investigate how it affects Cppcheck.

@bsergean
Copy link
Author

bsergean commented Sep 5, 2019

Don't make any change until you have really understood all the implications :) I am not a lawyer and I don't want to cause trouble ... I will ask our legal folks their opinion on the MPL, maybe that can help your decision.

Thanks for being opened to the idea.

@danmar
Copy link
Owner

danmar commented Sep 6, 2019

After some googling, reading faqs and stuff, I get the impression it should work.
https://www.mozilla.org/en-US/MPL/2.0/combining-mpl-and-gpl/

I will ask our legal folks their opinion on the MPL, maybe that can help your decision.

I am very interested in their response.

I would probably also like to make Cppcheck less restrictive. But it sounds so difficult to change that license :-( simplecpp would be much less problematic.

@bsergean
Copy link
Author

bsergean commented Sep 7, 2019 via email

@danmar
Copy link
Owner

danmar commented Sep 7, 2019

ok thanks. I will try to change to something less restrictive anyway.

I would like that simplecpp is integrated in commercial products. so well... are you saying that we must use BSD for companies to feel comfortable about integrating simplecpp... even if they don't intend to modify simplecpp?

@bsergean
Copy link
Author

bsergean commented Sep 7, 2019 via email

@hshakula
Copy link

Hi @danmar I wonder if you had any thoughts on changing the license since?

I can say for sure that it's nearly impossible to be in line with the LGPL3 license on Android and iOS.

You can look into the ZeroMQ project for example. They had a special version of LGPL3 that would explicitly allow static linkage and relieve users of any obligation from sections 4 and 5 - see here at the bottom. But even with that special exception, it is a real hustle to ensure the Legal that the library CAN be used.
ZeroMQ was finally relicensed under MPL in the latest release - https://github.com/zeromq/libzmq/releases/tag/v4.3.5.
They chose the MPL exactly because it's similar to LGPL3 but allows users to link statically without disclosing the whole application source code.

Just for context, after I finish this comment I'm going to remove simplecpp from a commercial mobile application (not released yet) I am developing right now.

@danmar
Copy link
Owner

danmar commented Dec 16, 2023

@hshakula please don't remove simplecpp :-)

I am more open to changing our license.

I even feel it is OK if a company would modify simplecpp source code to fit their needs.

So I consider BSD or MIT..

@danmar danmar self-assigned this Dec 16, 2023
danmar added a commit that referenced this issue Dec 16, 2023
@danmar
Copy link
Owner

danmar commented Dec 16, 2023

@bsergean maybe it's too late for you.. but I do intend to change the license and created PR332.

I want to use a license that will be easy to use commercially and right now think that 0BSD is a good fit. If you have better alternative please feel free to comment..

@danmar danmar closed this as completed in e096d6b Dec 22, 2023
@bsergean
Copy link
Author

Thanks @danmar :) / but as you would have guessed I'm not actively looking into this now ...

In any case I think it will be easier for future users to adopt your library if they need to do so in the workplace.

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

3 participants