[M3devel] parse.c licensing question, dual?
hendrik at topoi.pooq.com
Mon Jun 27 17:35:12 CEST 2016
On Mon, Jun 27, 2016 at 06:39:12AM +0000, Jay K wrote:
> - I basically understand licensing.
> - I understand GPL
> - I understand more liberal BSD license
> - I understand that the notion of "linking" hasn't been defined, but everyone seems to define it "like how static libraries work", "maybe with dynamic linking", and definitely not with "process boundaries".
> - So cm3 calls gcc across a process boundary, and parse.c is GPL licensed, linked to other GPL licensed code, and does not "link" to cm3, so does not infect the cm3 runtime, so does not infect all the Modula-3 code.
> What I do not understand:
> - dual licensing
Here's how dual licensing works. If you release a work and grant
several public licences to it, the public can use it under any of tthe
licences that have been granted to it. So if you've granted rights
under license A and under license B, someone for who doesn't like th
rerms of licence A can if she chooses, use the rights granted under
license B instead.
Don't know what's clear about that.
nIn particular, I believe any new components of CM3 should be licensed
under both the existing licence and the GPL or LGPL, and perhaps under
MIT as well. Then gradually, as we write new components, the entire
ecosystem will become more and more compatible with the commonly used
It isi the copyright owner who determines what license(s) to release
stuff under. If you write it, you own the copyright, unless it is
work-for-hire, in which case your employer does.
We do not own the copyright of the SRC Modula 3 system, so we cannot
relicence it. What we can do, given enough time, is write a new one.
> - who owns parse.c
> - can parse.c be dual licensed?
> In particular:
> jair:mips jay$ edit /dev2/cm3.4/m3-sys/m3cc/gcc/gcc/m3cg/
> m3-parse.h parse.c
> m3-def.h m3cg.h
> Some of these files would be useful in other backends, structured like the cm3cg backend at least, and possibly
> in-process ones, either call-based or "linearized IR in memory".
> In particular m3-def.h and m3cg.h. I would like to maybe reuse these in non-GPL code.
> m3cg.h is output by m3cggen.
> m3-def.h I wrote.
> These files need to be at least be GPL licensed since they are used by parse.c and linked to the overall gcc backend.
> Can we also BSD license them or such?
The copyright owner can do this. The copyright owner can license them
under as many licences as he wishes. No one else can.
More information about the M3devel