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

Possible to re-license? #2

Open
Arcnor opened this issue Aug 4, 2020 · 6 comments
Open

Possible to re-license? #2

Arcnor opened this issue Aug 4, 2020 · 6 comments

Comments

@Arcnor
Copy link

Arcnor commented Aug 4, 2020

Hi there,

I was wondering if you'd be open to relicense Nuked-OPL3 (and maybe the other Yamaha emulators) under a less restrictive license (maybe MIT or BSD, although BSD itself is incompatible with MIT so maybe the former is better)?

The main problem with the LGPL is that it cannot be used in certain platforms like iOS, because of the relink clause.

I understand if you're not open to it, but thanks for considering it.

@kcgen
Copy link

kcgen commented Mar 6, 2021

The main problem with the LGPL is that it cannot be used in certain platforms like iOS, because of the relink clause.

The main problem with the iOS platform is that it cannot be used with certain licenses like LGPL, because of (IOS's) static-linking security model.

Fixed that for you.

The authors of LGPL software are willing to share their source provided you also share the source code of any libraries to which the LGPL library is statically linked.

So the problem is one of reciprocal sharing.

Sharing requires two people:

  • One sharing
  • One accepting

In this case, the one accepting doesn't want to share in return because they're beholden to a company that also doesn't share in return.

Is it fair to call the one willing to share, "the problem"?

@Jookia
Copy link

Jookia commented Mar 6, 2021

Technically you can static link with the LGPL as long as you provide the object files that lets users re-link.

@kcgen
Copy link

kcgen commented Mar 6, 2021

Interesting @Jookia.

So if an iOS developer statically links a single static binary iOS executable (inside of which Nuked-OPL3 is statically linked), they can make their app LGPL compliant by provide the couple .o object files that call Nuked-OPL3?

On the user (or buyer) side - you now have the iOS binary plus a couple .o files. How do you actually re-link a working binary from what you've been given? (I'm probably missing something)

If this approach is LGPL compliant, then someone could write ultra-thin C++ or C API wrappers around all LGPL libraries for anyone (or any company) to use, provided they gave users the tiny .o wrapper object files?

@Jookia
Copy link

Jookia commented Mar 6, 2021 via email

@kcgen
Copy link

kcgen commented Mar 6, 2021

Thanks for the references @Jookia.


  1. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

    a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)


That makes sense, and my example would not pass these requirements.

In that case, I guess @Arcnor can use Nuked assuming they provide users with their complete machine-readable work as object code and/or source code, so that users can modify the library and relink to produce a modified executable containing the modified library.

@fawtytoo
Copy link

fawtytoo commented Oct 8, 2023

As a point of interest, the original code was licensed under the GPL v2.

As a criticism, was it right to change it to the LGPL?

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