[M3devel] parse.c licensing question, dual?

Hendrik Boom 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 
free licenses.

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.
-- hendrik

>  - 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.

-- hendrik

More information about the M3devel mailing list