[erlang-questions] Is there an accepted way of including GPL code in a project?

Ulf Wiger <>
Mon Apr 16 21:14:23 CEST 2012

Here is an article from LinuxJournal on what constitutes a Derivative Work.


[ 2) The meaning of derivative work will not be broadened to include software created by linking to library programs that were designed and intended to be used as library programs. When a company releases a scientific subroutine library, or a library of objects, for example, people who merely use the library, unmodified, perhaps without even looking at the source code, are not thereby creating derivative works of the library. ]

[ 4) In most cases we shouldn't care how the linkage between separate programs was technically done, unless that fact helps determine whether the creators of the programs designed them with some apparent common understanding of what a derivative work would look like. We should consider subtle market-based factors as indicators of intent, such as whether the resulting program is being sold as an “enhanced” version of the original, or whether the original was designed and advertised to be improvable “like a library”. ]

About the author:
Lawrence Rosen is an attorney in private practice, with offices in Los Altos and Ukiah, California (www.rosenlaw.com). He is also corporate secretary and general counsel for the Open Source Initiative, which manages and promotes the Open Source Definition (www.opensource.org).

Of course, to cover himself, he adds this:

"Legal advice must be provided in the course of an attorney-client relationship specifically with reference to all the facts of a particular situation and the law of your jurisdiction. Even though an attorney wrote this article, the information in this article must not be relied upon as a substitute for obtaining specific legal advice from a licensed attorney."


Given his reasoning, a component (like the ones discussed here) that was designed to be a sub-component in a larger system, would not contaminate the larger system, regardless of the linking technology used. If, on the other hand, the GPLd software is an application in its own right, any code using and extending it is clearly a derivative work.

Ulf W

On 16 Apr 2012, at 20:58, Alan Evans wrote:

> Hi Richard,
> Thanks for the summary, I think it sums up my feelings on this as well.
> I already sent the author an email before posting this question.
> Ideally I'd like to use his code with his permission either as you say
> under a different license agreement or an acknowledgement that what
> I'm proposing is acceptable to him.
> I think I'll send him another email before I decide on the path I'm
> going to take.
> cheers
> AlanE.
> On Sun, Apr 15, 2012 at 8:47 PM, Richard Carlsson
> <> wrote:
>> On 2012-04-13 11:57, Alan Evans wrote:
>>> Hello list,
>>> I'm thinking about using some GPL code in a project I'm working on.
>>> Namely the SIGTRAN stack from the osmocom project
>>> (http://cgit.osmocom.org/cgit/erlang)
>>> Is there a recognized way to incorporate GPL code in an erlang project
>>> without making the whole project subject to the GPL license?
>>> I haven't yet decided whether or not to make my project open source.
>>> My thinking is that if I isolate all the GPL code to a particular
>>> Erlang node then only the modules running on that node need to be GPL
>>> or GPL compatible, I am free to license the modules running on the
>>> other nodes any way I wish.
>>> Any thoughts? Other than the obvious "ask a lawyer" response :-)
>> Erlang modules are dynamically linked to each other at run-time. The FSF
>> considers this to be no different from static linkage, and Erlang is just
>> like Java in this respect:
>>  http://www.gnu.org/licenses/lgpl-java.html
>> My interpretation (not a lawyer etc. etc.) is that the LGPL is
>> straightforward to use with Erlang, but plain GPL requires that all other
>> libraries that your application calls, directly or indirectly, must be GPL
>> compatible. (V3 of the GPL makes an exception for "system libraries", so the
>> Erlang/OTP standard libraries don't pose a problem.)
>> Isolating the GPL code to a separate node is similar to other workarounds
>> I've seen that run GPL code in a separate OS process from the main
>> application. It lies within that gray area where it will probably hold in
>> court but will make you feel dirty. A nicer way would of course be if you
>> could get hold of the original authors of that library and ask them for a
>> different license, possibly for a fee.
>>   /Richard
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.

More information about the erlang-questions mailing list