Giter VIP home page Giter VIP logo

Comments (5)

murarth avatar murarth commented on May 31, 2024

It was my understanding that this was only an issue with GPLv2. Quoting from this page (https://www.gnu.org/s/readline/),

Readline is free software, distributed under the terms of the GNU General Public License, version 3. This means that if you want to use Readline in a program that you release or distribute to anyone, the program must be free software and have a GPL-compatible license.

On that final linked page, both Apache 2.0 and MIT (called "Expat License") are listed as GPL-compatible.

from rusti.

nodakai avatar nodakai commented on May 31, 2024

I'm no lawyer, my understanding is based on this FAQ page authored by FSF:

Does the GPL have different requirements for statically vs dynamically linked modules with a covered work? (#GPLStaticVsDynamic)

No. Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work.

(emphasis by nodakai)

GPL-compatibility means:

  1. if you have independent software modules X and Y,
  2. X is under GPL, and
  3. you want to distribute an integrated work of X and Y, then

you are allowed to do so provided that

  1. Y is under a GPL-compatible license and
  2. you release the integrated work under GPL.

In the first post I wanted to say something like: even when Y is under MIT or Apache 2 License, the integrated work is no longer as permissive as Y itself.

My understanding of your case of rusti is: when it's dynamically linked to libreadline, there is a tight coupling between libreadline and it, and then it becomes a "derivative work" of libreadline (according to FSF.) So you aren't allowed to release it under any other licenses than GPL. However there's much debate about FSF's claim that a software becomes a derivative work of a library when the former is dynamically linked to the latter:

Anyways I just hope everything about licensing of your excellent work becomes clear for the day when it becomes a standard tool of all Rust programmers.

from rusti.

murarth avatar murarth commented on May 31, 2024

Yes, I'm seeing that there is conflicting information on the subject. I haven't been able to find an official or reputable source that clearly and explicitly states whether or not a software package in Rusti's situation must be released under GPL.

Also, I wonder if the fact that Rusti does not use GNU Readline headers in the compile process might be relevant. I believe that, in the recent Oracle v. Google case, it was decided that an API cannot be copyrighted.

from rusti.

mitsuhiko avatar mitsuhiko commented on May 31, 2024

There is no reason for the package to be GPL. The final product will automatically degrade to GPL but the original source here should be BSD. Also there are GPL interface compatible versions of libreadline which are not GPL licensed and APIs are not copyrightable. So no reason for this to be GPL.

from rusti.

murarth avatar murarth commented on May 31, 2024

Seems reasonable to me. Thanks to both of you for the input. Closing this for now.

from rusti.

Related Issues (20)

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.