12

I'd like to use and improve an old library for a new project. It is a specialized library and it has not been updated for 5 years. My project is licensed with a permissive license, while the library is licensed under the terms of the GPL.

To allow use of the library without strong separation, I'd need the library to be more permissive, at least LGPL.

Is it okay to ask the maintainer to grant such a license?

I'm not trying to "save" my improvements of the library from GPL, it's just for the use in non-GPL projects.

eeucalyptus
  • 974
  • 4
  • 15
  • 7
    You can ask, but I don't like your chances. People who choose to use the GPL almost always do it because they like that it binds users of their code forevermore, even if they stop maintaining the project. – curiousdannii May 04 '20 at 12:38
  • 4
    Or to look at it another way, people who choose the GPL often prefer that people not take work they've done, and made available for the freedom of end-users, and instead use it to make software that takes away that freedom. – MadHatter May 04 '20 at 12:50
  • @MadHatter If project A is available as GPL, and derived project B is available as LGPL, the existence of B doesn't in any way take away the freedom attached to project A. – JBentley May 04 '20 at 14:40
  • 2
    @JBentley it a sense it does. A was made available so that anything that wants to depend on the work becomes available under the same terms. I don't give/contribute my work to people who don't give/contribute themselves in a similar manner, possibly using my work to further their closed-source project; it's a simple quid pro quo argument – planetmaker May 04 '20 at 14:48
  • @planetmaker That's not quite what MadHatter wrote though. He said "instead use it to make software that takes away that freedom [to use the work made available for the freedom of end-users i.e. project A]". By granting a dual license, anyone is still free to use the original work. It's only the derived work which has the potential to lose freedom - actually in OP's case it would be derived work of derived work. – JBentley May 04 '20 at 14:52
  • 4
    My reason to choose GPL for my projects is simple: I'm happy to give. I'm happy that people use it for whatever in whatever way they choose. But they pretty please grant the same freedom to anyone as well as soon as they make use of my work. And that or similar reasoning probably is what most people have, when choosing GPL. So yes, you sure can ask. But as MadHatter wrote: chances are slim you might get permission to re-license unless you have convincing argument. – planetmaker May 04 '20 at 14:55
  • btw, convincing argument might still include: pay me for a different license :) – planetmaker May 04 '20 at 15:05
  • @planetmaker haha, now I understand the real spirit of open source ;) – eeucalyptus May 06 '20 at 20:25
  • Certainly not the spirit of open-source. But for the right price I might consider to sell you a separate non-open-source license of my own work to be used by you. But I might also reject it outright. Depends on who you are and the intended use of the software and what piece of software we talk about ;) – planetmaker May 06 '20 at 20:42

2 Answers2

19

Yes you can ask. It is not unheared of that people relicense it. But if the project is abandoned or had no clear governance (I.e. not all contributors assigned the right to change the license to the main author) they might not respond, might not agree or might not be able to re-license it.

If you are lucky, you get offered maintainership. In this case you will need to track back all major contributors to see what kind of agreement they have given. If it has only a single author the tracking becomes easier, but I still would try to get the license change before you transfer ownership.

eckes
  • 316
  • 1
  • 6
  • 1
    That's exactly the kind of answer I was hoping for. I was kinda afraid that asking was outragous. The library seems to have exactly one contributor who is also the maintainer. – eeucalyptus May 04 '20 at 12:54
  • 1
    @eeucalyptus - That's ideal. If the project isn't active, they might be a bit slow to respond, but only one author means its at least possible. I know for my own projects I very deliberately chose between GPL, GPL with linking exceptions, or CC0, but its possible this person didn't fully think through the level of licensing they used (and for a library rather than an application, I'd always go with the linking exceptions or CC0) – T.E.D. May 05 '20 at 18:16
15

This question seems to have a number of misapprehensions embedded in it.

I'm not trying to "save" my improvements of the library from GPL

That's good, because LGPL requires (eg LGPLv3 s2) any modified version of the library to be redistributed under LGPL, or GPL.

My project is licensed with a permissive license ... to allow use of the library without strong separation, I'd need the library to be more permissive, at least LGPL.

Well, no, you wouldn't. As the GPL FAQ says

If a library is released under the GPL (not the LGPL), does that mean that any software which uses it has to be under the GPL or a GPL-compatible license?

Yes... The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL

(my emphasis) The upshot is that you can release your work, in source form, under a more-permissive licence. You must release the binary form under GPL, with the usual obligation to provide sources, but your parts of those sources may be under a more-permissive licence than GPL.

So the only real reason to ask the author to relax the library's licensing terms is if you want to incorporate it into proprietary code, and I would guess said author is unlikely to do that. Nevertheless, you can still ask; it is, as they say, a free internet. However, the conversation is likely to go better if you're asking for reasons that actually hold water.

MadHatter
  • 48,547
  • 4
  • 122
  • 166
  • Okay, i see. Unfortunately the "work as a whole" part is exactly what I want to avoid. I want to publish my software as MIT, not just another module. "[...] LGPL requires [...] to be redistributed under LGPL [...]": That's exactly why I suggested LGPL as a compromise which would require me publishing modifications accordingly while enabling a permissive licence for the "work as a whole". – eeucalyptus May 04 '20 at 12:50
  • 3
    @eeucalyptus you can make a product using this library. If you ship it with sources, your bits of the source can be MIT-licensed. If you ship binary-only, you have to provide the sources on demand, but again, your (original) bits can be MIT-licensed. What exactly do you want to do by way of permissive licensing that is not the above? – MadHatter May 04 '20 at 12:52
  • 2
    I would like to use a permissive license because OTHERS might want to use my work without worrying licensing. My project might be used in free and non-free software, I'm totally fine with that and I definitely understand if the maintainer of the library chooses to remain with the GPL. The reason why I want to ask them to relax the license is 1) less work for me to do, obviously, but 2) attribution for the work that they have already done. (+1 for the detailed answer btw) – eeucalyptus May 04 '20 at 13:14
  • 8
    @eeucalyptus and this the end-users can do. They can still use your original work under MIT, which includes using it in proprietary software. They can't use the library author's work that way. You framing the request as "I want you to relax the licensing on your library so that I can use a permissive licence for my code" may not go very well, because in fact it boils down to "I want you to relax the licensing on your library so that your library can get closed up in proprietary software", which the library author is likely to be a lot less keen about. – MadHatter May 04 '20 at 13:39
  • 1
    I see where you are pointing, and I know that I am the copyright holder of my code. But the software is supposed to be a usable solution, not just some free piece of code in the drawer. And I want to ask the maintainer to join me with that goal. I think this discussion boils down to the fact that we both don't know the intentions of the original author. Nevertheless, your answer definitely improved my understanding of free software. – eeucalyptus May 04 '20 at 13:51
  • 6
    We know the original author chose the GPL, when (s)he could have chosen a permissive (or, indeed, proprietary) licence. So I'm afraid we do know something of his/her intentions. Nevertheless, I wish you well in your task. – MadHatter May 04 '20 at 13:58
  • @eeucalyptus How does this differ from 'trying to save the library from the GPL'? – Stephen M. Webb May 05 '20 at 20:56
  • @StephenM.Webb I'm not sure if I understood you correctly, my intention is not to take the code and run with it. My project exceeds the scope of the library by far in terms of complexity. I'm thinking about using the existing code because I don't want to reinvent the wheel. Yes, I could definitely write my own library with exactly the same functionality. But I guess that the original author published the code to prevent this exactly. I am not going to use the library under the GPL, that would break my licencing model. But if it was more permissive, I could definitely use it – eeucalyptus May 06 '20 at 20:19
  • @eeucalyptus I would read "saving the library from the GPL" to mean removing the conditions currently imposed by its author so that you, and your downstreams, can use it and distribute binaries built with it without the conditions currently imposed by the GPL. How am I misinterpreting that phrase? – Stephen M. Webb May 06 '20 at 20:25
  • @StephenM.Webb Oh, I see. Yes, the phrase might be a bit misleading. What I intended to say is that I am definitely willing to publish my changes along with the original library. But I can't work with or on the library if its GPL licensed. In that case I'd write the library myself. – eeucalyptus May 06 '20 at 20:33