Hello. I'm trying to introduce the prboom-plus engine in Fedora Linux and we ancountered a licensing issue in case of the following 3 source files:
sc_man.c - Raven Software, Corp.
i_simd.c - Copyright (C) 2004 Id Software, Inc.
i_simd.h - Copyright (C) 2004 Id Software, Inc.
The i_simd.* sources can be removed locally as the code is not compiled into binary form on Linux, but the sc_man.c code needs some clarification. If the code author allowed relicensing under the GPL, then change the header statement, please.
The following file contains a list of all licenses detected in the headers.
https://bugzilla.redhat.com/attachment.cgi?id=819952
The following licenses were detected in the 2.5.1.3 version:
- BSD (3 clause)
- GPL (v2 or later) (with incorrect FSF address)
- LGPL (v2.1 or later) (with incorrect FSF address)
- MIT/X11 (BSD like)
- Public domain
- Unknown or generated
It would be nice if someone responsible for the product licensing could fix the statements in the file headers (according to the bugzilla attachement).
Thanks in advance.
heretic and hexen (sc_man.c) were rerelised under GPL
http://www.doomworld.com/vb/doomworld-news/44153-heretic-and-hexen-sources-re-released-under-the-gpl/
Doom3 also is GPL (i_simd.c)
If you think something is wrong with file headers, etc - please, send me patch. I am not too familiar with licenses stuff
Also you can try to contact with "fabian" on DoomWorld.com. He made much stuff for the latest test build for making prboom+ really free. He wants to introduce prboom+ in Debian.
Last edit: Andrey Budko 2013-11-07
Hi Jaromir and Andrey,
I am also "fabian_deb" here on sourceforge, if that is easier for you.
Well, that has already been achieved. prboom-plus is part of Debian main since 2013-08-08:
http://packages.qa.debian.org/p/prboom-plus.html
(on that page you will find further ways to contact me, if needed)
You can find the results of my (mostly manual) copyright and license review here:
http://ftp-master.metadata.debian.org/changelogs/main/p/prboom-plus/unstable_copyright
I have, however, decided to rip some files out of the source tree before packaging. This affects mostly pre-rendered text strings and wolf-3d sprites and sounds in the data/ directory, which were generated from non-GPL material - to say the least. Please find my repackaging script (and the rest of the Debian packaging) here:
http://anonscm.debian.org/gitweb/?p=pkg-games/prboom-plus.git
(site is currently down for maintenance, though)
To remain on topic, generally, if there is a COPYING or LICENSE file in the source root directory, I interpret this license to apply to all files in that source unless declared otherwise.
Hello guys.
The AUTHORS file contains a nice license clarification that says the doom sources were re-licensed under the GPL in 1999. That means it covers the 3 mentioned files too. The only issue with this process is that some of the file headers still contain the old license statement and as it sometimes happens, that the re-licensing is not authorized, this could cause confusions in the future.
File headers should ALWAYS match the license mentioned in the COPYING/LICENSE. If more licenses are applicable, then ALL of them should have a corresponding LICENSE-whateverlicense file in the root tree (example LICENSE-GPLv2, LICENSE-MIT, LICENSE-BSD, etc.)
You should put the GPL license statement in the headers of ALL GPL licensed source files which support comments. The next problem might be the double-licensing. Some of the headers contain two license statements (BSD and GPL). I know it might sound like an unimportant and uninteresting stuff, but trust me, it isn't. It can reliably deny the distribution maintainers to include your engine in their distros. And that would be pity, right? :]
Thanks,
Jaromir.
Andrey ... it isn't difficult to fix the headers ... you can take the statements from other files in some cases, but it's always better to check for the latest statement templates as they sometimes contain updated info like adresses, etc.
Example:
1.) GPLv2 statement with old and invalid FSF address (should be replaced with the new statement version):
2.) GPLv2 statement with the correct FSF address (taken from http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
Last edit: Jaromír Cápík 2013-11-18
Additionally, you can use the following link pointing to the Fedora licensing guide ... you can find all GOOD licenses and their statements there.
http://fedoraproject.org/wiki/Licensing:Main#Good_Licenses
Last edit: Jaromír Cápík 2013-11-18
Note: Double licensing might be a problem in the future as some of the licenses are incompatible (for example some versions of GPL and BSD are incompatible). It is not a problem as long as all the modifications are also double-licensed. But when someone decides to do modifications under the GPL only, then it can quickly become a problem. It's unbelievably difficult to track GPL-only changes in scope of one file and the same applies to the modifications (deciding whether a for cycle with modified limits is still GPL-only or BSD is something you REALLY don't want to do ... EVER). If I was you, I would try to get rid of all double-licensed statements if the authors are ok with that.
Last edit: Jaromír Cápík 2013-11-18
Now that the i_simd.* files have been removed (and as soon as the source compiles again ;) we should try to rebase sc_man.c on the current implementation in chocolate-hexen and then be able to close this ticket.
Rebase? Do you mean just changing header?
Heh, it might in fact come down to this.
My idea was to compare both implementations and create a minimal diff between them (like I did with that getopt()-implementation from BSD).
Is it enough to copy header and add
* Copyright(C) 1993-2008 Raven Software
before
* Copyright (C) 1999-2000 by
Hm, not sure, I am not a lawyer. However, I would not copy the standard prboom header over, since the file is nor part of Boom, but Hexen. I'd either copy the entire header or even the entire file.
Have you checked the other differences between both files in prboom-plus and chocolate-hexen?
I have some const, dbooleand instead of boolean and a few help function OpenScriptByName/Num
Right, the const and dboolean differences should be trivial.
OpenScript does not have void arguments anymore, but does now take a lump name (if type == LUMP_SCRIPT). So it has replaced OpenScriptByNum.
OpenScriptByName would just be a wrapper around that using W_GetLumpInfoByNum(lump)->name, just as before.
Shouldn't we just take that file and do the minor adjustments instead of replacing headers?
I don't see much sense to copy that file from chocolate and then replace all things which are already been replaced before :) Four spaces instead of two, const, dboolean, some fixes for making it compatible with prboom sources, etc
Yes, maybe you are right. That wouldn't change the license, anyway.