Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
LexiMax

A question of license (Skulltag)

Recommended Posts

I figured that this would be the perfect place to ask this question. The post in question is here, but I'll just quote the important bit:

Nevertheless, I'm still not completely happy with the dual license crutch I proposed earlier. Does anybody know if there is a license that is
* compatible with the original Doom license
* compatible with GPL
* compatible with CDDL
* requires the release of the full source


Before everyone gets totally confused, I believe that there are two goals here. One, I do not think that he wants to use a license that prevents the code from being used in a GPL project. Two, I think that he wants any project that uses Skulltag source to in turn be open source. I say "I believe" because I am not Torr himself, so I don't want to put words in his mouth, but I think that is the goal.

Share this post


Link to post

These licenses aren't even self-consistent or compatible with one another, let alone with any one single additional license. So that question is irrelevant.

Unless he's NOT saying it has to simultaneously satisfy the requirements of all of those due to containing code from them. In that case, the lowest common denominator is the BSD license IMO. The only problem it has is not *requiring* source distribution.

Share this post


Link to post

Yeah, it's a given that satisfying them all at the same time is impossible. :)

How would the Sleepycat license fare? It has a strong copyleft built in and is GPL-compatible. I presume that any DSL/BSD licensed port could use it as well as long as the source remained open. CDDL...dunno, but I think the only reason that one was brought up was because CDDL was brought up as an option in the past.

Share this post


Link to post
AlexMax said:

How would the Sleepycat license fare?

I'd think things through very, very carefully before adding yet another license to the cocktail. The situation is horrendously complicated enough already as it is.

Best thing to do would be to release it under the GPL, but explicitly give permission to link against code under the DSL and the CDDL. This is pretty much exactly what I did with GZDoom using the FraggleScript source - it's GPL, but I granted permission to Graf Zahl to use it in his port.

Really, don't go adding more licenses.

Share this post


Link to post
fraggle said:

Best thing to do would be to release it under the GPL, but explicitly give permission to link against code under the DSL and the CDDL. This is pretty much exactly what I did with GZDoom using the FraggleScript source - it's GPL, but I granted permission to Graf Zahl to use it in his port.


Skulltag cannot be released under the GPL, as it is ZDoom-derived.

The FSF has declared Sleepycat GPL-compatible, so anything Skulltag-specific could be used in GPL ports with no problems. The only question is if Sleepycat can be used in ZDoom/GZDoom without an issue, which means that it can't conflict with any of the licenses in use by ZDoom (not only would this make any source ports that use it illegal, it would make the source release itself unsound).

ZDoom Licenses
Sleepycat License

Share this post


Link to post
Quasar said:

In that case, the lowest common denominator is the BSD license IMO. The only problem it has is not *requiring* source distribution.


I assume the problem with it not requiring source distribution is due to someone taking the source, calling it his own port, and being able to close the source on it correct?

fraggle said:

Really, don't go adding more licenses.


I agree, there is already enough trouble with its licensing anyway. However, if an additional license can solve the source distribution problem and not be a hassle in applying it; then go for it. But, it may be more complicated than we think. In that case, just release it as BSD.

Share this post


Link to post
TIHan said:

I assume the problem with it not requiring source distribution is due to someone taking the source, calling it his own port, and being able to close the source on it correct?

Correct. In most of the software world, this has turned out to actually not be a problem in the large part -- those that take open source code (the biggest examples will definitely be the *BSD operating systems) and turn it into proprietary software overwhelming die off; the reasons are either poor maintenance, poor quality, or people just not flocking to them when the open source one is available (and often, superior).

Doom ports are a bit of a different matter. ZDaemon and SKulltag have both done this and are both massively popular. Skulltag, as far as I can tell, is a bit fairer about it by releasing the source to obsolete versions. This forking off into proprietary versions tends to be the reason many ports opt to use the GPLv2-licensed Doom code instead (though free software/open source fans in general may also be using the GPLv2 version purely because the Doom Source License failed to qualify as either open source or free software).

Share this post


Link to post
Quasar said:

In that case, the lowest common denominator is the BSD license IMO. The only problem it has is not *requiring* source distribution.



Is that really a big problem? Just add a new clause requiring full source release, like I did with later versions of the GZDoom renderer. The BSD is not the end to all means and non-modifiable.

Any code with such a license should be fine with all mentioned licenses but would prohibit a closed source derivative.

Share this post


Link to post
AlexMax said:

Skulltag cannot be released under the GPL, as it is ZDoom-derived.

Incorrect - they can release *their parts* (the parts that constitute "Skulltag") as GPL with an exception that allows linking against the non-GPL parts. That would be the best course of action, as it would allow a completely-GPL version in the future if the other parts could also be GPLed or replaced.

The author of a chunk of code can do anything they want with it, and release it under any license they choose.

Share this post


Link to post

The Sleepycat license is essentially a 2-clause BSD license with a strong copyleft added as a third. It seems like where the developers are currently leaning towards.

I have two issues with it. One, it makes specific references to the DB software it covers, and making it generic might technically be introducing yet another license...the OSI has both deemed it compatible with the GPL, but also recognizes it as "Non-reusable", probably due to the language specific to databases. Two, there is this language at the end:

"For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs."

"All modules it contains" seems pretty straightforward at first, if it's statically linked it has to be released. Also, the second half is pretty straightforward, if it's a common operating system component you don't have to release it. However, there is a missing piece...dynamically linked libraries. I wonder if it is covered by the first paragraph, meaning that it is incompatible with FModEx and other closed-source libraries.

Graf Zahl said:

Is that really a big problem? Just add a new clause requiring full source release, like I did with later versions of the GZDoom renderer. The BSD is not the end to all means and non-modifiable.

I actually ran your modified BSD license by someone in #gnu and they noticed that your license did not specifically mention the fact that for personal use (if there is no distribution) that you don't have to release anything. This is precisely why you don't go about creating your own license.

fraggle said:

Incorrect - they can release *their parts* (the parts that constitute "Skulltag") as GPL with an exception that allows linking against the non-GPL parts. That would be the best course of action, as it would allow a completely-GPL version in the future if the other parts could also be GPLed or replaced.

I was under the impression that the GPL encompassed a work as a whole. Skulltag is essentially a heavily modified ZDoom 2.1.7, it's all one big codebase, there's no clear lines you can draw between "ZDoom" and "Skulltag". Also, adding exceptions means that you're modifying the license, which the FSF would prefer you not do (link).

Share this post


Link to post

AlexMax said:
[B
I actually ran your modified BSD license by someone in #gnu and they noticed that your license did not specifically mention the fact that for personal use (if there is no distribution) that you don't have to release anything. This is precisely why you don't go about creating your own license.[/B]



Ugh...

Lawyers. :(

Share this post


Link to post

As a random passerby, allow me to say "Fuck licensing." It's a necessary evil, but complicated messes like this make me want to bash my head against the keyboard even though it's not my piece of software being discussed. :P

Share this post


Link to post
AlexMax said:

I actually ran your modified BSD license by someone in #gnu and they noticed that your license did not specifically mention the fact that for personal use (if there is no distribution) that you don't have to release anything. This is precisely why you don't go about creating your own license.

Wait, it's a problem that you don't have to release anything if you're not releasing anything? You're supposed to share the source code even if nobody has ever heard that you tweaked something on a local copy for your personal use?

Are you.. Are you allowed to keep using non-shared local hard drives, or are you supposed to open source all your data as well?

Share this post


Link to post

Specifying it explicitly is redundant because it is so painfully obvious that doing so is unnecessary.

Share this post


Link to post
fraggle said:

de minimis non curat praetor.

the leader does not care about trivial matters (a play on the phrase de minimis non curat lex).

Share this post


Link to post

Actually, they might have a point. If you've made changes to your private copy and you mention those changes in public so that people know about them, you are now obligated to make your modified source code available, even if you haven't distributed your modified binary to anybody.

Share this post


Link to post
fraggle said:


I'm not really sure what conclusion I'm supposed to draw here. If this means that a GPL Skulltag is possible, things like Duke Nukem 3D GPL source ports are in the clear as long as there is nothing "materially adverse" being lost? And there's nothing to prevent something like ZDoom or Odamex from doing the same thing with the BUILD-tainted software renderer?

Share this post


Link to post
AlexMax said:

things like Duke Nukem 3D GPL source ports are in the clear as long as there is nothing "materially adverse" being lost?



This is a good question. What license is the included Build code under? Since Ken Silverman apparently approves the Duke ports he essentially voided his own license.

Share this post


Link to post
Graf Zahl said:

This is a good question. What license is the included Build code under? Since Ken Silverman apparently approves the Duke ports he essentially voided his own license.

Personally I think he did that when he let 3D Realms release Duke under the GPL, which couldn't possibly legally combine with his Build license in the first place, but IANAL etc :P

Share this post


Link to post
Graf Zahl said:

This is a good question. What license is the included Build code under? Since Ken Silverman apparently approves the Duke ports he essentially voided his own license.


GPL and BUILD, if EDuke32 is anything to go by.

Quasar said:

Personally I think he did that when he let 3D Realms release Duke under the GPL, which couldn't possibly legally combine with his Build license in the first place, but IANAL etc :P


And this goes back to the 'licenses are not deterministic computer programs' discussion. The two licenses may "conflict", but if you believe fraggle and ESR legally you would get laughed out of court unless there was a "materially adverse loss", and the fact that the two licensing jigsaw puzzle pieces don't exactly match doesn't matter.

Share this post


Link to post
AlexMax said:

GPL and BUILD, if EDuke32 is anything to go by.

And this goes back to the 'licenses are not deterministic computer programs' discussion. The two licenses may "conflict", but if you believe fraggle and ESR legally you would get laughed out of court unless there was a "materially adverse loss", and the fact that the two licensing jigsaw puzzle pieces don't exactly match doesn't matter.

fraggle's oft-quoted principle isn't an "anything goes" excuse.

The GPL is very clear about what kind of code it can be combined with, and these requirements have been determined as enforceable in court cases so far. You can't just take proprietary code and merge GPL code with it, and by trying to restrict distribution to non-commercial purposes, the BUILD license runs afoul of this.

Where fraggle's principle kicks in is if they try to *sue* you for non-commercial distribution of a combination of the GPL'd Duke 3D code and the BUILD code. Even though those licenses aren't compatible, you are fulfilling the terms attached to either *when non-commercially distributing* to the extent that likely matters as far as a judge would be concerned (this is making a very large assumption of jurisprudence, which doesn't always follow the expected results).

You still can't commercially distribute the BUILD code, though. That they could successfully sue you for doing under those license terms. Because of this, you're also not going to find any serious GPL project on the planet that's going to let you get away with this kind of combination because of the liabilities it would create.

A proper GPL project will not include such code, *because* it has incompatible licensing terms. One that does and restricts its distribution to non-commercial is relying explicitly on the "trifles" principle to protect it from litigious actions.

Your hope is probably that the judge or jury can be convinced that releasing source code openly and then trying to restrict it from commercial use or development is asinine or meaningless somehow. Good luck on that, and if it happens, you just exploded the GPL too ;)

Share this post


Link to post

fraggle's comment was specifically directed about the argument over Graf's suggestion of amending the BSD license to effectively create a copyleft license. If licenses were deterministic, it would possibly require full source code to be distributed the moment you touch it in a text editor, even though it clearly isn't the intent of such a clause (and the intent is what really matters in a court of law).

As far as GPL+BUILD go, the non-commercial requirement on BUILD is in fact prohibitive and distribution on, for example, Linux distribution CDs/DVDs (commercial distribution) would quite clearly count as material loss on Ken Silverman. This isn't just in the realm of theoretical possibility -- you can buy CDs/DVDs of Debian (or many other distributions) that include packages for PrBoom, Chocolate Doom, and a few other ports. It's quite clearly commercial redistribution of the GPL-licensed Doom engine derivatives. Neither EDuke32 nor (G)ZDoom are likely to ever show up on such disks, no matter how useful you might percieve them or how much you desire them, not without some serious changes to their licensing terms.

(For what it's worth, I am not a lawyer, and you should seek out one if you really want some sound advice.)

Share this post


Link to post
chungy said:

(and the intent is what really matters in a court of law).

I would agree with most of what you said but change really to usually here. Sometimes the law is enforced to the letter, and quite arbitrarily, while "intent" is overshadowed.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×