[erlang-questions] GPL and others licenses

zxq9 <>
Wed Nov 19 02:45:37 CET 2014


Hi Viktor.

Please note that I am not a lawyer and this is not legal advice. What I write 
below is my sense of the rules from watching Red Hat legal interpret and 
arbitrate various licensing situations that have come up over the years in 
Fedora and RHEL.

On 2014年11月18日 火曜日 16:13:26 Viktor Söderqvist wrote:
> Hello.
> 
> What are the implications of using GPL for an Erlang application? Say,
> I'm considering using GPL 3 in a project for whatever reason.

The code you write is independent of the code that constitutes Erlang itself. 
This is true no matter the platform or language: your works are your works. 
The real question comes with distribution.

> From what I've understood EPL is incompatible with GPL. Does that mean
> my library application cannot be distibuted together with Erlang/OTP
> itself in a release?

Your code could probably not be included in a release of Erlang/OTP without 
relicensing to EPL or LGPL (which is up to you, if you are the sole licensing 
authority), but you can distribute the Erlang runtime under its terms and your 
code under their own different terms. This is the same thing Linux 
distributions do: distribute a compilation of interoperating software.

> Can module loading in the BEAM be considered to be "linking"? If that
> is so, an LGPL application can be used and distributed together with
> any other Erlang code, right? I remember reading somewhere that in
> Java they consider the class loading to be dynamic linking.

The situation should be the same in Erlang. The bytecode is not the same as 
the runtime it runs on. Another way of thinking about this is to consider the 
rather large body of GPL programs running on Windows today.

The situation would be different if you are distributing binaries made with 
HiPE, though. In that case you would be distributing something that would 
almost definitely be considered a statically compiled binary -- not a bundled 
compilation of cooperating, but different, software.

> EPL is based on MPL 1.0 which is GPL incompatible. Mozilla have since
> then updated their license to MPL 2.0 which is GPL compatible. Is
> there any chance EPL will be updated and be GPL compatible in the
> future?

I'm curious about this to... But I'm not holding my breath -- or worrying 
about it too much. The terms of the EPL give us quite a bit of freedom and are 
*vastly* superior to, say, the little fleet of Oracle licenses that escort 
their Java product flotilla around everywhere (or the IBM Java licenses, for 
that matter).

Fortunately the runtime and our code that runs on it are two different things, 
and we are free to distribute bytecode produced by erlc without extra 
encumberance (which is not the situation with *many* commercial compiler 
products).

Remember, I am not a lawyer. If your company has a business interest in a 
concrete answer then you would either need to consult a lawyer familiar with 
software licensing issues or confirm with Ericsson that you are clear.

Also, you can avoid the issue entirely by doing what Gentoo does: just provide 
source, including a bootstrapping script that builds your project releases 
from source locally. I like the Gentoo method of dodging license conflicts on 
binary disrtribution. It absolutely forces you to understand everything about 
your build environment -- its not just customer friendly in a legal sense, its 
better tech.

-Craig


More information about the erlang-questions mailing list