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

LGPL prevents practical use in closed-source software #1

Open
EvanBalster opened this issue Oct 22, 2016 · 1 comment
Open

LGPL prevents practical use in closed-source software #1

EvanBalster opened this issue Oct 22, 2016 · 1 comment
Assignees

Comments

@EvanBalster
Copy link

Hey, Pierre ---

This library looks really useful! I'm a game developer and interested in incorporating this into various systems of mine including physical and physiological systems and signal processing systems. I may also be interested in working on a fork that does not require C++14 features.

Unfortunately, the LGPL v3 requires me to make your library upgradable in any application I ship. Because it's a template system, it compiles into my code's object files rather than its own module, and could not be provided as a DLL or lib --- thus, any source code utilizing your library would have to be made available to end users. I do some commercial (closed-source) work, so sadly that's a deal breaker. :(

I would like to request that this library be made available under a slightly more permissive license such as BSD, MIT or zlib, to enable its use in closed-source software.

@pierreblavy2
Copy link
Owner

pierreblavy2 commented Jul 7, 2017

Hi!
My point in using LGPL is that, if you change the lib, I want the modified version of the lib to be open source too. But if you mix the lib somehow with your code, you're free to do so with minimal restrictions.

I lack legal knowledge about the upgradable lib in the shipped application, but I thing that the point of LGPL (and not GPL), is that you can use it in proprietary code without trouble, as long as modified versions of my lib are under GPL or LGPL. For things outside my lib, do whaterver you want.

If I read the section 3 of LGPL , I think that using the code the way you've described is OK, and that you can do what you want, under the LGPL as long as you do a) or b) (see latter). As far as I know, this is compatible with you writing proprietary code, using my lib in your code.

--- Section 3 LGPL ---
Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.

===

for non C++14 code, if it's a latter standard : yeah good idea.
if you plan to do C++98 code, you'll need to emulate tuple with template recursive list, it will work but you'll fallback in the horrible boost::units problems (unreasonable compilation times, don't compile at all, and horrible errors messages).

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

No branches or pull requests

2 participants