Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2013-06

Concerning GPL compatibility with more permissive licenses

4 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Kenneth Cochran

I am working on a mini framework that acts as an abstraction over the Delphi and Lazarus IDE extension APIs. The idea is a single API that can be used to develop extensions for both.

Most or all of the Lazarus source is covered under the GPL. It is my understanding that the GPL requires derivative works (by static linking) to also be open source. Do derivative works necessarily need to be under the same license? I would like to release my framework under a more permissive license to encourage commercial extension authors from the Delphi side to port to Lazarus.

The tools extension ecosystem on the Delphi side is small compared to the component ecosystem. It is dominated by open source projects such as GExperts, CnPack and the JEDI Project. The few closed source extensions I'm aware of are so tied to the Delphi IDE that there's very little chance that a port to Lazarus would even be feasible.

My hope for this mini framework isn't so much to ease migration from one IDE to another but to lower the barrier of entry for developing IDE extensions for both. On the Delphi side the OpenTools API(OTA) has traditionally been the least documented and most fluctuating feature of the product. The Lazarus extension API (does it have an official name?) is slightly better on the documentation (not sure on the stability of the API since this is my first extension). Providing a stable, well documented abstraction that provides portability for both IDEs could open the door for a lot more experimentation from developers that may not have considered writing an extension otherwise.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20130630/2cfd67b1/attachment.html>

Reply by email

Reinier Olislagers
to Kenneth Cochran
Kenneth Cochran wrote 6 lines
Most or all of the Lazarus source is covered under the GPL. It is my understanding that the GPL requires derivative works (by static linking) to also be open source. Do derivative works necessarily need to be under the same license? I would like to release my framework under a more permissive license to encourage commercial extension authors from the Delphi side to port to Lazarus.

AFAIU:
The GPL means you have to license your work under GPL as well. However, nothing stops you to dual-license it e.g. with an additional MIT or BSD license at the user's choice.

The thing is that once it is distributed with Lazarus, the GPL applies anyway, so modifications would need to be released as GPL anyway. Having a plugin interface with dynamically linked libraries may obviate that (though not everybody has the same opinion about DLLs).

Reply by email

Martin
to Kenneth Cochran: I am working on a mini framework that acts as an abstraction over the Delphi and Lazarus…
Kenneth Cochran wrote 11 lines
I am working on a mini framework that acts as an abstraction over the Delphi and Lazarus IDE extension APIs. The idea is a single API that can be used to develop extensions for both. Most or all of the Lazarus source is covered under the GPL. It is my understanding that the GPL requires derivative works (by static linking) to also be open source. Do derivative works necessarily need to be under the same license? I would like to release my framework under a more permissive license to encourage commercial extension authors from the Delphi side to port to Lazarus.

Actually, the IdeIntf is LGPL + linking permission.

So, if you only use the IDEIntf (and LCL, RTL)
and do not ship a pre-build IDE with your package included then you can use any license.

Users can build an IDE with your package, but must publish the build exe (if I am right: the GPL used for the IDE, does not restrict what you do on your PC, only what you can publish)

The idea always was:
- IDE => GPL, so it stays free, including any forked IDE must be free for ever.
- IDEIntf => LGPL, so commercial (or other) plug-ins are possible

Reply by email

Hans-Peter Diettrich
to Martin
Show quoted text 14 lines
Actually, the IdeIntf is LGPL + linking permission. So, if you only use the IDEIntf (and LCL, RTL) and do not ship a pre-build IDE with your package included then you can use any license. Users can build an IDE with your package, but must publish the build exe (if I am right: the GPL used for the IDE, does not restrict what you do on your PC, only what you can publish) The idea always was: - IDE => GPL, so it stays free, including any forked IDE must be free for ever. - IDEIntf => LGPL, so commercial (or other) plug-ins are possible

Effectively it should be possible to *distribute* a plug-in in *binary* form, created respecting LGPL. A user must be able to rebuild the IDE including that binary package.

DoDi

Reply by email