dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 18 forks source link

Please relicense fdpp/smalloc.h #220

Closed skitt closed 1 year ago

skitt commented 1 year ago

I’m working on the Debian package for fdpp, and noticed two license problems: fdpp/smalloc.h and kernel/share.c are licensed under the GPL v2 only, which is incompatible with most of the code-base which is licensed under the GPL v3 or later. I got clarification from Ron Cemer regarding share.c (see https://github.com/roncemer/freedos-share/).

fdpp/smalloc.h has only ever been touched by @bartoldeman and @stsp (see https://sourceforge.net/p/dosemu/code/ci/3fa2303da4315bdbdb4ff201801436a2cbb5df2d/log/?path=%2Fsrc%2Finclude%2Fsmalloc.h for pre-GH history); would the two of you be willing to relicense it under the GPL v2 or later?

ecm-pushbx commented 1 year ago

I have worked on the separate FreeDOS SHARE (for FreeDOS kernel, not fdpp). This is the licensing note it carries: https://github.com/FDOS/share/blob/6e3273868924c1502ce515e8fe6f5f1849834fc2/src/share.c#L1-L6

FreeDOS SHARE
Copyright (c) 2000 Ronald B. Cemer under the GNU GPL
You know the drill.
If not, see www.gnu.org for details.  Read it, learn it, BE IT.  :-)

I've assumed that it is equivalent to explicitly specifying GNU GPL any version, as per GNU GPL v2, section 9:

If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

stsp commented 1 year ago

Yes, I agree with that statement. share.c doesn't state "v2 only", and fdpp as a whole explicitly has GPL3 license included.

Same for smalloc.h: it refers to dosemu2 copyrights, which are explicitly stated to be:

1.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

in COPYING.DOSEMU, and also COPYING in dosemu2 is saying

either version 2 of the License, or
    (at your option) any later version.

as was always the case with the default GPL2 text.

Also as an original author of smalloc I can confirm the original intention of having it under GPL2+, so everything else is a "bug" that should be fixed. So if you can propose the exact changes that are needed to clarify, then please do so.

stsp commented 1 year ago

It may be important to note that COPYING in dosemu1 doesn't state "or later", it does so in dosemu2 only. I should replace the dosemu1-style headings in the source files that appeared during dosemu2 lifetime, and never accept it in a new files.

skitt commented 1 year ago

I've assumed that it is equivalent to explicitly specifying GNU GPL any version, as per GNU GPL v2, section 9:

If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

Ah yes, that would apply for share.c, thanks!

skitt commented 1 year ago

It may be important to note that COPYING in dosemu1 doesn't state "or later", it does so in dosemu2 only. I should replace the dosemu1-style headings in the source files that appeared during dosemu2 lifetime, and never accept it in a new files.

Right, that’s where I checked the license which applies to smalloc.h, since it explicitly mentions DOSEMU as opposed to dosemu2 (and has done so since the DOSEMU days). Thanks for the clarifications anyway; I will push a PR to update the license header in smalloc.h, that would be sufficient to close this issue.

stsp commented 1 year ago

I already changed all new headers in dosemu2 sources right now, and that includes smalloc.h. So no need for a PR: I'll just sync them. Thanks!

stsp commented 1 year ago

Please note that the problem only applies to the headers. The new C files all have a proper copyright strings. I just thought headers are not a big IP, so kept using the old headings in headers. Likewise I don't think changing the license headings in headers only is a big deal like "relicensing". Its rather just to keep them in sync with their C files.

stsp commented 1 year ago

Btw I can't replace all dosemu1-style copyrights in dosemu2 tree, and there are quite enough of them remaining, probably forever. Whether or not this presents a problem for you, is unclear. The safest bet is to treat those files as v2 only, as you already do. :) I made a note in copying.dosemu that the files w/o copyrights, are v2 only, but I intentionally haven't clarified my opinion or whether or not this includes the dosemu1- style headings, that do not have an explicit license strings too. I'd better leave that up to a reader to decide.