simplecpp icon indicating copy to clipboard operation
simplecpp copied to clipboard

thoughts about a more permissive license

Open bsergean opened this issue 4 years ago • 10 comments

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

bsergean avatar Aug 28 '19 03:08 bsergean

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..

danmar avatar Sep 01 '19 08:09 danmar

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.

bsergean avatar Sep 03 '19 20:09 bsergean

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.

danmar avatar Sep 04 '19 07:09 danmar

Fair enough.

I wonder if the mozilla license could be a good middle ground, if you find that BSD does not guarantee that changes aren't contributed back. In their FAQ they explicitly talk about the fear of modifications not being shared.

https://www.mozilla.org/en-US/MPL/2.0/FAQ/ https://www.mozilla.org/en-US/MPL/2.0/FAQ/

Q2: Why yet another open source license?

The MPL fills a useful space in the spectrum of free and open source software licenses, sitting between the Apache license, which does not require modifications to be shared, and the GNU family of licenses, which requires modifications to be shared under a much broader set of circumstances than the MPL.

On Sep 4, 2019, at 12:41 AM, Daniel Marjamäki [email protected] wrote:

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.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danmar/simplecpp/issues/173?email_source=notifications&email_token=AC2O6ULX5SNX5AB6IPAW7ILQH5RD5A5CNFSM4IQYBVA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD52VLVQ#issuecomment-527783382, or mute the thread https://github.com/notifications/unsubscribe-auth/AC2O6UI4PXDQRATDVIUUR5LQH5RD5ANCNFSM4IQYBVAQ.

bsergean avatar Sep 04 '19 17:09 bsergean

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.

danmar avatar Sep 05 '19 05:09 danmar

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.

bsergean avatar Sep 05 '19 05:09 bsergean

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.

danmar avatar Sep 06 '19 06:09 danmar

So I heard back from our legal folks ... and for them even MPL is too much of a constraint.

It is easier to adopt than LGPL though, because ONLY the modifications to the MPL code (in your case, your library) needs to be made public.

Do what you please, you can close this ticket if you'd like ; but I learned something I think with MPL and all the other license.

Cheers and have a good week-end.

On Sep 5, 2019, at 11:51 PM, Daniel Marjamäki [email protected] wrote:

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/ 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.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danmar/simplecpp/issues/173?email_source=notifications&email_token=AC2O6UJ5RB2WNTZNI7RMJI3QIH4YXA5CNFSM4IQYBVA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6B5TRY#issuecomment-528734663, or mute the thread https://github.com/notifications/unsubscribe-auth/AC2O6UJCTWJFLCEQS7265P3QIH4YXANCNFSM4IQYBVAQ.

bsergean avatar Sep 07 '19 00:09 bsergean

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?

danmar avatar Sep 07 '19 07:09 danmar

I definitely can't speak for ALL companies, I think it highly depends on the location, culture, fear of legal repercussions.

On Sep 7, 2019, at 12:46 AM, Daniel Marjamäki [email protected] wrote:

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?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danmar/simplecpp/issues/173?email_source=notifications&email_token=AC2O6UMRPMY6DCW2XAD42ZTQINL3VA5CNFSM4IQYBVA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6ESZ2I#issuecomment-529083625, or mute the thread https://github.com/notifications/unsubscribe-auth/AC2O6UJQRTSMAWKAIJIWPYTQINL3VANCNFSM4IQYBVAQ.

bsergean avatar Sep 07 '19 16:09 bsergean