GithubHelp home page GithubHelp logo

Possible to re-license? about nuked-opl3 HOT 6 OPEN

nukeykt avatar nukeykt commented on August 29, 2024 5
Possible to re-license?

from nuked-opl3.

Comments (6)

kcgen avatar kcgen commented on August 29, 2024 1

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"?

from nuked-opl3.

Jookia avatar Jookia commented on August 29, 2024

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

from nuked-opl3.

kcgen avatar kcgen commented on August 29, 2024

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?

from nuked-opl3.

Jookia avatar Jookia commented on August 29, 2024

from nuked-opl3.

kcgen avatar kcgen commented on August 29, 2024

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.

from nuked-opl3.

fawtytoo avatar fawtytoo commented on August 29, 2024

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?

from nuked-opl3.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.