Register - Login
Views: 96120745
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
12-10-18 01:16:28 AM
0 users currently in Computers and Technology. | 2 guests

Jul - Computers and Technology - GPL vs. permissive licenses WRT games
  
Login Info: Username: Password:
Reply: Mood avatar list:

















 
Options: - -

Thread history
UserPost
Drag
Posts: 2498/2641
I was wondering about the effectiveness of taking a license and adding a clause which states that the openness of the software cannot be forced by an external license.

So for example, inside the license would be "no external license may impose disclosure or non-disclosure of source code covered under this license". This would mean that the code cannot be forced open-source by the GPL, and cannot be forced closed-source by some company's internal proprietary license. Therefore, it's always the developer's choice as to whether or not to disclose the code covered under this term.

Good? Bad?
usr_share
Posts: 74/79
Originally posted by Drag
Suppose the court case ended with the opposite conclusion, and the First Sale Doctrine does apply to software, regardless of an EULA. Since it says the copyright holder's right of distribution terminates with the first sale, wouldn't that mean that copylefts and share-alikes wouldn't work? Furthermore, wouldn't it mean that any software license, for binaries and sources alike, is nullified by purchasing the work?

Most likely not. The idea of the FSD applies to reselling the item you bought, not making copies of it. What it would mean is that, if you bought, say, a program with its source code, you would have the right to give it to someone else, if you destroy your copy.

I don't think it would invalidate restrictions on modification / disassembly, either.
Drag
Posts: 2489/2641
This is only tangentally related, but I read these two articles:

You don't own your Kindle books, Amazon reminds customer
Digital Death of Copyright's First Sale Doctrine (Linked to from the first article)

The First Sale Doctrine is what allows used books and used games to be traded and sold, because it means the copyright holder's right of distribution terminates with the first sale.

However, the First Sale Doctrine doesn't apply to software if you have to agree to an EULA that states you're only being given a license to use the software and you're not allowed to redistribute it. Consequently, this is why app stores, the xbone, psn, etc are allowed to revoke your access to stuff you "bought" on the service, and why they're allowed to restrict your ability to lend your copies out to others.

Suppose the court case ended with the opposite conclusion, and the First Sale Doctrine does apply to software, regardless of an EULA. Since it says the copyright holder's right of distribution terminates with the first sale, wouldn't that mean that copylefts and share-alikes wouldn't work? Furthermore, wouldn't it mean that any software license, for binaries and sources alike, is nullified by purchasing the work?
IIMarckus
Posts: 97/109

Essay time!

Wordiness in licensing is a real problem. Here are the word counts of several common licenses:
wordcountlicense
60 wtfpl
118 isc
140 zlib
167 mit
190 unlicense
207 bsd
1055 cc0
1234 lgpl3
2487 gpl2
2699 cc-by
3111 cc-by-sa
4025 lgpl2.1
5174 agpl3
5209 gpl3

Personally, I use the ISC. It is short, permissive, and understandable: just a grant of permissions (first paragraph) and denial of warranty (second paragraph). MIT, zlib, et cetera are fine too—they’re in the same vein, just a bit wordier.

Copyright © 2014 John Doe <jdoe@example.com>

Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

The software is provided “as is” and the author disclaims all warranties with regard to this software including all implied warranties of merchantability and fitness. In no event shall the author be liable for any special, direct, indirect, or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.

Compare this to the pages and pages of license and accompanying FAQ associated with the multiple versions of the GPL. Creative Commons has the same problem—at least they have human‐readable summaries, but the underlying legalese is long and complex.


The other problem with GPL‐alikes is that they’re incompatible with so many other free licenses. The GPL isn’t just incompatible with permissive licenses like ISC/BSD/MIT; it’s not just incompatible with other copyleft licenses like CDDL and Mozilla; it’s even incompatible with itself—version 2 and version 3 are not compatible!

This isn’t just a theoretical problem either:

  • Samba and the Linux kernel both implement Windows filesharing, but can’t share any code because they use incompatible GPL versions.
  • LibreCAD can’t use LibreDWG (a library for AutoCAD file formats) because they use incompatible versions of the GPL; last I heard, LibreCAD was having to reimplement their own DWG functionality from scratch.

All this with supposedly “free” code. This is the biggest reason I always release my projects under permissive, non‐GPL licenses.


In response to this whole “licensing is too complicated” thing, a lot of people are just putting their stuff online with no copyright attached, with the implicit suggestion that people do whatever they want with it. Or they put a cute little statement like “This isn’t worth copyrighting, so I’m making this available for anyone to use for free.” I understand the desire, but please don’t do this! In most countries today (including USA and the EU), everything is copyrighted by default. Just releasing the source isn’t enough, because even if you do that, legally nobody has the right to modify the code, and nobody has the right to share changes, until the copyright holder explicitly grants that right. Yes, it sucks to have to do that—but it’s the world we live in today. At least put in something like WTFPL or ISC. People who don’t care about copyright will use your code anyway, but this way people who want or need to be careful about legality will be able to use it too.

tl;dr: Don’t just put the source online. Use WTFPL or ISC.

Drag
Posts: 2471/2641
The author of Paku Paku has an interesting take on licensing:

Source Code (C) Jason M Knight and released to the public domain. If you are going to give something away, lands sake just GIVE IT AWAY!!!. Don't give me none of that dirty hippy "open source" nonsense! Here's a tip: If someone starts running their mouth about "Freedom" and then weigh it down with a 35k licensing agreement placing restrictions on what you can and cannot do with it by way of loopholes in contract law and legalese nobody but a career lawyer can decipher...

Well, does the term "snake oil" ring a bell?

Feel free to do what you like with the code so long as you remain within the scope and practices of International Copyright law by giving credit to the original author - Jason M. Knight.

Paku Paku was initially released 4 Feb 2011, so it's fairly recent. If this game was developed in 2001 or even 1991, I wonder if he'd have a different stance.

For the record, Paku Paku is a game that makes use of a hack mode of CGA that gives you 16-color bitmapped graphics (as opposed to the usual 4-color graphics), but a resolution of 160x100 (instead of 320x200). This isn't some random bit of code nobody would care about; assuming the game has good performance on older machines, someone might be interested in the library this game uses, to write something that takes advantage of the same display mode.
Kak
Posts: 935/1817
Originally posted by Drag
Let's free ourselves from freedom for the sake of our freedom to be free of the freedom to be free*!

*free as in tennis
Free as in tennis or it's time to get sued!

And it happened some time actually.
Drag
Posts: 2469/2641
Let's free ourselves from freedom for the sake of our freedom to be free of the freedom to be free*!

*free as in tennis
Kak
Posts: 933/1817
Originally posted by Drag
But Devin, the FSF isn't going to like that.
But that's the only way to fight the (evil) power.
Drag
Posts: 2468/2641
But Devin, the FSF isn't going to like that.
devin
Posts: 2987/3470
Clearly the just solution here is to begin violating the GPL on purpose as an act of civil disobedience.
Drag
Posts: 2467/2641
Originally posted by usr_share
I think this strictly means organizational use. After all, when you work in an organization, you don't own the computers there.

So, to be absolutely safe from GPL violations, to allow someone to test the program without needing to give them the source, you let them borrow a computer of yours that has the program on it?

I dunno, you could still argue that the "organization" is the development team, of which the testers are part of. That's probably where contracts would get involved. I don't know why, but I really do think that private testing would be permitted under the GPL somehow.

Jeeze, at this point, you could probably get away with it because the ambiguity of what's permitted would spark a GPL-community debate that would outlast the development cycle of your project.
usr_share
Posts: 52/79
Originally posted by Drag

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.


I think this strictly means organizational use. After all, when you work in an organization, you don't own the computers there.
Drag
Posts: 2465/2641
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.
devin
Posts: 2985/3470
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
Posts: 2464/2641
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
Posts: 2984/3470
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
Posts: 2463/2641
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?
Kak
Posts: 915/1817
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.
Kaito Sinclaire
Posts: 299/416
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
Posts: 914/1817
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.
This is a long thread. Click here to view it.
Jul - Computers and Technology - GPL vs. permissive licenses WRT games



Rusted Logic

Acmlmboard - commit 220d144 [2018-11-04]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

20 database queries.
Query execution time: 0.167198 seconds
Script execution time: 0.036696 seconds
Total render time: 0.203894 seconds