Register - Login
Views: 85599456
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies
09-20-17 07:39:06 PM

Jul - Computers - GPL vs. permissive licenses WRT games New poll - New thread - New reply
Pages: 1 2Next newer thread | Next older thread
Drag
2630
Level: 94


Posts: 2460/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-07-14 07:10:39 PM (last edited by Drag at 01-07-14 07:12:21 PM) Link | Quote
This has become a topic of interest for me lately.

A particular example comes to mind; id Software tends to open-source their old game engines, and they do it under GPL as far as I know. This makes sense because they can't profit off their game anymore, so release the engine under something that removes the incentive to commercialize future stuff derived from it. (GPL stuff can be commercialized, but it's kinda moot because people can just grab your source code and compile it for free)

However, anyone who wants to make modifications to the engine to facilitate a new game is forced to comply with the GPL. GPL makes sense when it's a bunch of people working towards one goal, but the project forking in order to make something entirely different yet being forced to stay GPL is a bit contradictive to GPL's promise of "freedom". A particular problem would be during a project's private testing; As I understand it, GPL requires that anyone who is given a copy of the project must also be able to receive the source code. So any testers who become unhappy with the project can just grab the code and run off with it, forking it before it's even done. For a game, this seems inappropriate.

This isn't to harp on GPL; GPL is very useful in certain applications, like research-driven projects, such as emulators and resource editors (rom hacking). However, using GPL in other situations (like more personal projects, such as games) seems to be a misstep.

Instead of choosing GPL, what would happen if id Software had chosen a 2-clause BSD license? Would there be any consequences? If commercialization is an issue, couldn't you surpress it with the license? As far as I'm aware, a derivative work cannot revoke a BSD license, only add more restrictions on top.

The reason I'm interested in this topic is because it's going to determine the course of action I take with my own projects later.
devin

Wart
i'm mima irl
Level: 102


Posts: 2982/3292
EXP: 11063979
For next: 25988

Since: 04-29-08
From: FL

Since last post: 21 days
Last activity: 2 days

Posted on 01-07-14 08:43:45 PM Link | Quote
Originally posted by Drag
A particular example comes to mind; id Software tends to open-source their old game engines, and they do it under GPL as far as I know. This makes sense because they can't profit off their game anymore, so release the engine under something that removes the incentive to commercialize future stuff derived from it. (GPL stuff can be commercialized, but it's kinda moot because people can just grab your source code and compile it for free)

It's not moot when you consider the license is typically only applied to code, not the rest of the game content, which is arguably most of what you were paying for in the first place.

id still sells most or all of their GPL-licensed games.

Originally posted by Drag
Instead of choosing GPL, what would happen if id Software had chosen a 2-clause BSD license? Would there be any consequences?

Probably the most relevant consequence is that modifications to their game engines would not need to have their own modified source code made public; the rather incestuous state of Doom source ports today, for example, probably would not be anything close to what it actually is under such a license.
Drag
2630
Level: 94


Posts: 2461/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-07-14 10:30:35 PM Link | Quote
Originally posted by devin

It's not moot when you consider the license is typically only applied to code, not the rest of the game content, which is arguably most of what you were paying for in the first place.

id still sells most or all of their GPL-licensed games.

They just sell the WADs though, right?

Originally posted by devin
Probably the most relevant consequence is that modifications to their game engines would not need to have their own modified source code made public; the rather incestuous state of Doom source ports today, for example, probably would not be anything close to what it actually is under such a license.

There's really no way we can know how much the ports would or wouldn't thrive, because the ability to close the source doesn't necessarily mean everyone's going to do it. If the aim of the derivative is to just port it, it'd make more sense to leave it open source, but if someone wants to modify the engine to make an entirely new game out of it, shouldn't they be given the option to close their source?
usr_share
70
Level: 19


Posts: 48/79
EXP: 31545
For next: 4232

Since: 03-12-12


Since last post: 2.0 years
Last activity: 138 days

Posted on 01-08-14 06:05:10 AM Link | Quote
I think that having a copyleft engine + proprietary game data is a fine option.

So any testers who become unhappy with the project can just grab the code and run off with it, forking it before it's even done. For a game, this seems inappropriate.


But such a fork will have to use all-original game data. I doubt it'll be easy for a QAer (or even a hired crew) to finish the engine and design all-new game data. The result will be even worse than Skunny Kart.
GuyPerfect
Catgirl
Level: 64


Posts: 898/1093
EXP: 2201583
For next: 12514

Since: 07-23-07


Since last post: 68 days
Last activity: 25 days

Posted on 01-08-14 11:00:32 AM (last edited by GuyPerfect at 01-08-14 11:00:40 AM) Link | Quote
Sort of a change of topic, but has GNU ever legally prosecuted anyone for violating the terms of the GNUter Agreement? Given the nature of source code, one would think you'd hear about it all the time, but I'm honestly not sure whether it's ever even happened or not.
Kak

gg photobucket
Level: 67


Posts: 911/1627
EXP: 2523436
For next: 69436

Since: 09-03-13
From: ???

Since last post: 33 days
Last activity: 11 days

Posted on 01-08-14 11:19:48 AM Link | Quote
I'm not sure about this. If this would be a game based on GPL code and the end result would be a GPL game, the developers should wait to release the source code until the final version.

That doesn't mean they couldn't release the source code of a prototype, but that doesn't seem a good idea unless for some specific reasons.
andlabs
Member
Level: 34


Posts: 196/277
EXP: 241449
For next: 12202

Since: 03-18-10
From: United States

Since last post: 41 days
Last activity: 6 days

Posted on 01-08-14 11:51:01 AM Link | Quote
Yes, there have been a number of GPL violation lawsuits. The FSF themselves don't sue unless it affects FSF-made software (GNU project software), but other authors have sued for their own work.
Kaito Sinclaire
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.





Joined 09.06.2011

Last posted 22 days ago
Last active 1 hour ago

Posted on 01-08-14 12:02:22 PM Link | Quote
The GPL is a godawful viral license that seriously needs to die. It is a "Freedom" license in name only.
chekwob
Random nobody
Level: 3


Posts: 2/2
EXP: 104
For next: 24

Since: 12-29-13


Since last post: 3.0 years
Last activity: 3.0 years

Posted on 01-08-14 12:43:28 PM Link | Quote
Doom isn't strictly GPL-only. The doom source code was originally released under the "Doom Source License" which does allow keeping the source closed. The GPL license only came after the source for one of the ports was lost to a harddrive failure.
Kak

gg photobucket
Level: 67


Posts: 913/1627
EXP: 2523436
For next: 69436

Since: 09-03-13
From: ???

Since last post: 33 days
Last activity: 11 days

Posted on 01-08-14 02:18:19 PM Link | Quote
Originally posted by chekwob
Doom isn't strictly GPL-only. The doom source code was originally released under the "Doom Source License" which does allow keeping the source closed. The GPL license only came after the source for one of the ports was lost to a harddrive failure.

It's said it was released also due to lots of pressure from the community (after the sorce code of that port had been lost).

Anyway, GPL isn't exactly a good license for personal projects, especially when using GPL code for non GPL-licensed stuff which automatically makes the source licensed under GPL (or not, which is what happens with some of Doom's ports in today's legal crap for example).

I'd personally use a different license to avoid these type of legal crap, especially with the most recent GPL licenses.
Drag
2630
Level: 94


Posts: 2462/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-08-14 06:49:48 PM Link | Quote
Originally posted by usr_share
I think that having a copyleft engine + proprietary game data is a fine option.

So any testers who become unhappy with the project can just grab the code and run off with it, forking it before it's even done. For a game, this seems inappropriate.


But such a fork will have to use all-original game data. I doubt it'll be easy for a QAer (or even a hired crew) to finish the engine and design all-new game data. The result will be even worse than Skunny Kart.

I believe that's only true if the game's content and assets are separated from the binary and loaded in at runtime. If you took your assets and ran them through some kind of "binary -> char array" converter, and embedded those arrays into the project as source code, then your assets would become GPL as well. Fortunately, you'd only need to do this if you wanted your game to be a single standalone binary file, so for PC games, this isn't a gamestopper. However, this would be necessary for porting your game to an embedded system that doesn't have a filesystem, so the port would be impossible without you giving up rights to your content. I'm not saying this is a likely scenario (it would've been maybe 5-10 years ago), but this is a case where GPL would be detrimental.

Originally posted by Kak64
I'm not sure about this. If this would be a game based on GPL code and the end result would be a GPL game, the developers should wait to release the source code until the final version.

That doesn't mean they couldn't release the source code of a prototype, but that doesn't seem a good idea unless for some specific reasons.

The take-and-run risk in the OP still stands though; You need to test the game, and you probably need a group of testers to test it too. Under the terms of the GPL, the source code must be provided to anyone who wants it, even for private testing builds, and in turn, they are free to do what they want with it, including forking the project and redistributing it. It doesn't matter whether the build is intended to be private or not.

Depending on what the project is like, this may or may not be a problem. If the content is separated from the code, like usr_share suggested, then this probably wouldn't cause problems, because the content isn't covered under GPL, and thus, the tester doesn't have permission to redistribute it. However, if the game needed to be completely static for whatever reason (meaning, the content is embedded into the source/binary), then the content is unfortunately GPL as well, and the tester is free to do what they want.

Originally posted by chekwob
Doom isn't strictly GPL-only. The doom source code was originally released under the "Doom Source License" which does allow keeping the source closed. The GPL license only came after the source for one of the ports was lost to a harddrive failure.

I don't quite understand how this works. The original Doom authors must've rereleased their source code under the GPL, because otherwise, a GPL version of the engine could not exist because the DSL is incompatible with it. So if this is the case, that would explain why the wiki says the source is dual-licensed. Since the DSL version and the GPL version of the source are identical, you get to choose which license you want to use.




Ok, so what I have so far is, GPL introduces a restriction where, if you want your game's assets to be static, the assets must become GPL'd, which isn't something most people necessarily want. It seems like this would be less of a problem as time goes on, but there's always going to be that one case where it'd be really nice to be able to have a static binary. This wouldn't be a problem at all under a non-copyleft license, and you might be able to squeak by if it was LGPL.
usr_share
70
Level: 19


Posts: 51/79
EXP: 31545
For next: 4232

Since: 03-12-12


Since last post: 2.0 years
Last activity: 138 days

Posted on 01-09-14 01:42:27 AM Link | Quote
Originally posted by Drag
I believe that's only true if the game's content and assets are separated from the binary and loaded in at runtime. If you took your assets and ran them through some kind of "binary -> char array" converter, and embedded those arrays into the project as source code, then your assets would become GPL as well. Fortunately, you'd only need to do this if you wanted your game to be a single standalone binary file, so for PC games, this isn't a gamestopper. However, this would be necessary for porting your game to an embedded system that doesn't have a filesystem, so the port would be impossible without you giving up rights to your content. I'm not saying this is a likely scenario (it would've been maybe 5-10 years ago), but this is a case where GPL would be detrimental.


I think modern embedded systems have file systems, too. For example, there's SquashFS, which I've seen a lot on routers and even install CDs.

One can imagine an embedded system with, say, the DOOM engine and its WADs written onto squashfs. If the device allows flashing, the user can download the firmware, unpack the FS, replace the files (say, with a modified DOOM engine or a different WAD), create a new image and put it back onto the FW.

In a slightly related note, FSF's Guidelines for Free System Distributions (criteria they use for 100% free distros) say the following:


Data that isn't functional, that doesn't do a practical job, is more of an adornment to the system's software than a part of it. Thus, we don't insist on the free license criteria for non-functional data. It can be included in a free system distribution as long as its license gives you permission to copy and redistribute, both for commercial and non-commercial purposes. For example, some game engines released under the GNU GPL have accompanying game information—a fictional world map, game graphics, and so on—released under such a verbatim-distribution license. This kind of data can be part of a free system distribution, even though its license does not qualify as free, because it is non-functional.


Thus, they consider a free game with shareware data to be worthy of inclusion into a free distro. Yay for the first episode of DOOM 1!
Kak

gg photobucket
Level: 67


Posts: 914/1627
EXP: 2523436
For next: 69436

Since: 09-03-13
From: ???

Since last post: 33 days
Last activity: 11 days

Posted on 01-09-14 07:59:15 AM Link | Quote
Originally posted by Drag
Originally posted by Kak64
I'm not sure about this. If this would be a game based on GPL code and the end result would be a GPL game, the developers should wait to release the source code until the final version.

That doesn't mean they couldn't release the source code of a prototype, but that doesn't seem a good idea unless for some specific reasons.

The take-and-run risk in the OP still stands though; You need to test the game, and you probably need a group of testers to test it too. Under the terms of the GPL, the source code must be provided to anyone who wants it, even for private testing builds, and in turn, they are free to do what they want with it, including forking the project and redistributing it. It doesn't matter whether the build is intended to be private or not.
The point still stands that GPL is not exactly the best license when a program/game needs closed private testing. This means if you want to include GPL assets either you're screwed, force GPL into the software (goodbye private testing) or you violate the GPL license (not exactly the best thing).

In other words, take assets or code from DOOM and you legally can't do private testing.

And with GPLv3 the problem is worse.
Kaito Sinclaire
Hacking reality since 20̶?͝>̨ )̧̢~͠|̡͠T̴̡<͏̀́#͟͠)̸̡̛̕͟_̢҉M̨̛͢͠͠@̴̷(̧̕01 ERROR.





Joined 09.06.2011

Last posted 22 days ago
Last active 1 hour ago

Posted on 01-09-14 08:58:25 AM Link | Quote
GPL becomes extremely problematic and annoying when modding games comes into play; you know, when the assets are completely irrelevant.

I have tried to play nice, by the GPL's rules, releasing the source code to my game mod when I wanted to privately test among a few people. What happened? Inevitably, before I was ready to release my own stuff to the public, some asshat would take all of my hard work, stick it in their own project and claim it was theirs.

The types of responses I get to pointing out the blatant theft? "Deal with it".

Fuck the GPL.
Kak

gg photobucket
Level: 67


Posts: 915/1627
EXP: 2523436
For next: 69436

Since: 09-03-13
From: ???

Since last post: 33 days
Last activity: 11 days

Posted on 01-09-14 09:12:09 AM Link | Quote
Originally posted by Inuyasha
GPL becomes extremely problematic and annoying when modding games comes into play; you know, when the assets are completely irrelevant.

I have tried to play nice, by the GPL's rules, releasing the source code to my game mod when I wanted to privately test among a few people. What happened? Inevitably, before I was ready to release my own stuff to the public, some asshat would take all of my hard work, stick it in their own project and claim it was theirs.

The types of responses I get to pointing out the blatant theft? "Deal with it".

Fuck the GPL.
That's exactly what I'm talking about.

With GPL there's no playing nice, but then...

Slightly unrelated, but it's known after MIcrosoft and Samsung had to release the source code of some programs due to GPL code. It's that bad.
Drag
2630
Level: 94


Posts: 2463/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-10-14 02:43:03 AM Link | Quote
Inuyasha's situation was exactly what motivated me to discuss this with other people and eventually make this thread. (I hope you don't mind...)

Even if I did release some code that I wanted to stay open source, this is the situation I'd like to avoid happening to other people that want to use it, which would drive me away from GPL and copyleft in general.

And well... SDL switched from LGPL to zlib, and as far as I can tell, there were zero complaints, the decision actually being praised. Static linking was indeed one of the benefits to the switch as, apparently, static linking under LGPL is actually impossible with closed source projects.

I was trying to think of why you'd want to use GPL in the first place, and it seems (like I've probably said over and over) that it's only good for projects that are research-based, like emulators. There's not much personal gain to not having a closed source emulator, because the goal isn't to add new features, but to get more accurate to the original article, and that's something that would really benefit from a bunch of people pooling information together the way GPL forces you to. Besides, there's not much to be kept secret since it's reverse engineering. Being able to look at the source code for GPL'd (or copylefted) emulators has helped me on more than one occasion.

So why does GPL occasionally get used for game engines and the like? The Doom source seems to have been released as GPL in 1999, so maybe 15 years ago, there wasn't an example like Inuyasha's to motivate a different decision?
devin

Wart
i'm mima irl
Level: 102


Posts: 2984/3292
EXP: 11063979
For next: 25988

Since: 04-29-08
From: FL

Since last post: 21 days
Last activity: 2 days

Posted on 01-10-14 03:31:01 AM Link | Quote
The GPL gets used for game engines because they are typically not made open-source until years after any pre-release theft scenario becomes irrelevant to the original developers - and, realistically, because commercial software developers probably do not want to give others the ability to make money on derivative software without releasing the source in kind, as licenses such as BSD and MIT allow.

Besides which, internal/private builds of GPL-licensed software do not need to be distributed in source code form to anybody until the software is made available to the public (if/when it is released to the public at all).

(Note that I do not endorse the GPL; I personally prefer the MIT license for reasons already mentioned in this thread. I consider developer freedom slightly more important than end-user freedom when it comes to governing usage of software.)
Drag
2630
Level: 94


Posts: 2464/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-10-14 04:33:16 AM Link | Quote
Originally posted by devin
The GPL gets used for game engines because they are typically not made open-source until years after any pre-release theft scenario becomes irrelevant to the original developers - and, realistically, because commercial software developers probably do not want to give others the ability to make money on derivative software without releasing the source in kind, as licenses such as BSD and MIT allow.


If commercial software developers don't want to give others the ability to make money on derivative software, couldn't they take a permissive license and add a "selling is not permitted" clause? The original Doom license made it clear that they only wanted their source code used educationally, with absolutely no commercial exploitation. It's probably easier just to use GPL in that case, so it makes sense. However, if a developer specifically wanted to avoid a copyleft license, GPL wouldn't be an option, so a modified license would be the way to go.

Originally posted by devin
Besides which, internal/private builds of GPL-licensed software do not need to be distributed in source code form to anybody until the software is made available to the public (if/when it is released to the public at all).


I had no idea that private builds of GPL'd software was possible, but it seems like they're implying institutional use, versus giving copies of the private build to individuals for testing. At what point does "giving a private build to someone" constitute as distribution? I guess written contracts would be involved.

Originally posted by devin
(Note that I do not endorse the GPL; I personally prefer the MIT license for reasons already mentioned in this thread. I consider developer freedom slightly more important than end-user freedom when it comes to governing usage of software.)


While we're on the subject, I prefer zlib because all I really want is integrity, which it grants but is still fair to other developers. I don't prefer the GPL, but I still appreciate it.
devin

Wart
i'm mima irl
Level: 102


Posts: 2985/3292
EXP: 11063979
For next: 25988

Since: 04-29-08
From: FL

Since last post: 21 days
Last activity: 2 days

Posted on 01-10-14 06:27:55 AM (last edited by devin at 01-10-14 06:44:20 AM) Link | Quote
Originally posted by Drag
If commercial software developers don't want to give others the ability to make money on derivative software, couldn't they take a permissive license and add a "selling is not permitted" clause?

I meant specifically to be able to make money on closed-source derivatives (the idea being that products derived from the original source should be similarly open to community development and modification).

Otherwise, adding a non-commercial clause to a permissive license is possible, but has downsides, one of which is that the modified license is no longer compatible with the GPL or virtually any other useful FOSS license, which limits the ability of the source code to be used in projects other than the one it was originally a part of.

On top of that, a simple clause that forbids commercial exploitation completely would be in the worst interests of developers like id Software because it would immediately eliminate a huge portion of their revenue - remember, they're not just selling the game content, they're still including the software that goes with it, and this is especially important for things like the recent iOS and Xbox Live ports of Doom (and any other re-releases of their games onto a given platform) where telling the user to simply download or build a separate engine binary is either extremely impractical or not really possible.

They could, of course, limit commercial exploitation to the original copyright holder, but that just opens the door to a big pain in the ass regarding intellectual property rights (what happens if the copyright is transferred to someone else, or if the original copyright holder simply ceases to exist?)
Originally posted by Drag
I had no idea that private builds of GPL'd software was possible, but it seems like they're implying institutional use, versus giving copies of the private build to individuals for testing. At what point does "giving a private build to someone" constitute as distribution? I guess written contracts would be involved.
It's a little ambiguous regarding non-commercial/corporate software, but I take the interpretation that whether or not it consitutes "distribution" relies on the fairly obvious distinction between an individual or group and the general public. If the people you intend to be able to use your build can be broadly summarized as "pretty much everybody" (in other words, the eponymous general public), it's time to fork over the source; otherwise, don't worry about it.
Drag
2630
Level: 94


Posts: 2465/2635
EXP: 8263763
For next: 92894

Since: 07-03-07


Since last post: 46 days
Last activity: 11 hours

Posted on 01-10-14 01:11:22 PM Link | Quote
Originally posted by devin
Otherwise, adding a non-commercial clause to a permissive license is possible, but has downsides, one of which is that the modified license is no longer compatible with the GPL or virtually any other useful FOSS license, which limits the ability of the source code to be used in projects other than the one it was originally a part of.

It's true that it would no longer be compatible with the GPL, but you should still be able to link to LGPL libraries and the like under dynamic linking, because LGPL allows code of any license to link to it. In fact, wouldn't a non-commercial clause only affect licenses which contain a "do not restrict the permissions granted by this license" clause? A license giving you permission to do something doesn't mean you must do it, unless the license says the permission cannot be revoked, which I think only happens in copylefts and sharealikes.

Originally posted by devin
On top of that, a simple clause that forbids commercial exploitation completely would be in the worst interests of developers like id Software because it would immediately eliminate a huge portion of their revenue - remember, they're not just selling the game content, they're still including the software that goes with it, and this is especially important for things like the recent iOS and Xbox Live ports of Doom (and any other re-releases of their games onto a given platform) where telling the user to simply download or build a separate engine binary is either extremely impractical or not really possible.

The copyright holder still has control over the source code. Source code they released to the public under a hypothetical non-commercial license would not allow any commercialization, but as long as they're not using a derivative version of the public code, they could port it themselves, or license it to a third party who'll port it, and still be able to commercially exploit it, since they're not using the publicly-licensed code. The only downside would be that any improvements that have been made to the public version of the code would need to be reimplemented either by themselves or the licensee.

Originally posted by devin
They could, of course, limit commercial exploitation to the original copyright holder, but that just opens the door to a big pain in the ass regarding intellectual property rights (what happens if the copyright is transferred to someone else, or if the original copyright holder simply ceases to exist?)

Yeah, I wouldn't recommend this. The code would become orphaned if the copyright holder disappeared.

Originally posted by devin
It's a little ambiguous regarding non-commercial/corporate software, but I take the interpretation that whether or not it consitutes "distribution" relies on the fairly obvious distinction between an individual or group and the general public. If the people you intend to be able to use your build can be broadly summarized as "pretty much everybody" (in other words, the eponymous general public), it's time to fork over the source; otherwise, don't worry about it.

Ok, so if the project is under GPL, and you give a private build to someone for testing purposes, but the project is not currently public, you don't need to give the source code on demand of the recipiants of the private build? Does this mean that people can only demand the source code for public releases of the GPL'd project, and not just arbitrary builds, such as the current private one?

If so, this sounds like something that all GPL users should be made aware of. The fact that this important bit of information is buried in a GIANT FAQ (with lots of conflicting information on this subject) seems unfair.
Pages: 1 2Next newer thread | Next older thread
Jul - Computers - GPL vs. permissive licenses WRT games New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 2f1bc75 [2017-08-27]
©2000-2017 Acmlm, Xkeeper, Inuyasha, et al.

30 database queries, 5 query cache hits.
Query execution time: 0.149999 seconds
Script execution time: 0.022396 seconds
Total render time: 0.172395 seconds