Temple of The Roguelike Forums
Development => Development Process & non-technical => Topic started by: Omnivore on August 07, 2014, 05:49:30 AM
-
This subject arose once again in another thread http://forums.roguetemple.com/index.php?topic=4250.msg39076#msg39076 (http://forums.roguetemple.com/index.php?topic=4250.msg39076#msg39076). It leads me to wonder, how many developers here are seriously concerned about this topic in their daily work?
I believe there are two inter-related issues: one being the legality and financial repercussions; the other being the morality and social reputation repercussions.
In regards to the first, I am of the opinion that we are 'below the radar', that is, we are very unlikely to be sued or subject to an injunction in the breach. Even if we engaged in blatant copyright violation, the violation would need to come to the attention of the copyright holder, the copyright holder would have to have the financial means to attempt adjudicative remedies, and the perceived benefit to the copyright holder would need to be sufficient to offset the expense.
The second sub-issue, the morality and social reputation repercussions is, to me, the more important and relevant one. Here though, we run up against the very definition of copyright and how that concept applies to computer software. Is a port of a work from one language to another a copyright violation? What if only the external interface is copied? At what point does refactoring and customization no longer qualify as a copyright violation? How can we tell the difference between a copyright violation and an original work addressing the same problem space?
Lawyers and other legal experts aside, what do we as a community of software developers consider protected by copyright and licensing derived from copyright?
-
Algorithms and short snippets of code are not copyrightable. This is the current state of jurisprudence in the United States. See Oracle v. Google for a great example of this. There WAS literal copying of code, and Oracle poured millions of dollars into their attack, but were unable to meet the bar for copyright infringement.
In order to be on the hook for copyright violation, you need to literally copy the code in question, and a significant amount of it. Just having seen some code and then later writing code that does the same thing is not sufficient. In high-risk undertakings, such as making a copy of a program without technically making a copy of it *wink* *wink*, corporations will undertake ridiculous measures like doing "clean room" implementations of software, but this is only something done as an exercise in corporate CYA when the company is skirting as close to the edge of the law as possible.
By the way, I agree that rogulike developers are so far under the radar that we're practically underground, but I also think there's no infringement to speak of happening either.
Concerning morality, there is no moral issue with copyright violation. People have no moral right to say that others cannot make copies of something they have written and published. The very concept flies in the face of how creative expression works. Copyright is a concept invented by governments in order to protect monopoly-seeking industries.
-
I found a labyrinth algorithm that I really wanted to use in my game that was copyrighted as creative commons sharealike, so I contacted the Creative Commons about how can I use it with my game without making my game open source.
They replied that small algorithms probably won't count as "Work" that can be copyrighted such as music or something else. They also said that If I kept the algorithm as a separate source code file, which I did, it would be OK to use it without making my game open source.
Nothing is more annoying than seeing a perfect, most clean implementation of something and then copyrighted so it cannot be used.
-
Clean-room implementations are people doing corporate CYA, not against copyright, but against patents. Algorithms and software designs can be patented, and that's a much broader (and much briefer, and much harder to obtain) kind of protection than copyright. To get a patent you have to show that the thing you're patenting is both 'novel' meaning nobody did it before you, and 'non-obvious', meaning it probably wouldn't occur to anybody even if they were trying to solve the same problem, unless they got it from you. In court, a patent can be revoked if the defendant shows either of these things to be false.
Algorithms and software designs are not subject to copyright. That just isn't what copyright does. A particular expression of an algorithm in a particular language is subject to copyright, and works derived from it in a really blatant way can get people in trouble; but really blatant is NEVER accidentally. Worrying that you might *accidentally* produce something that qualifies as a derivative work is silly.
IIRC there was a case involving 'Perligata' - which was a system for transforming Perl scripts into Latin-language text that could then be executed by its own script engine. It was very silly, done as a joke, but somebody tried to use it to bypass copyright, claiming that the Latin "translation" of some copyrighted Perl software was not covered by the copyright, because it was in a different language than the fixed form which was copyrighted and there were standing precedents that in human-readable documents translations into another language are allowed. That didn't fly. He got smacked by the judge for a violation of copyright via a "derivative work." Nobody had done the mental work of understanding and translating the code - it was a purely mechanical translation. Therefore it was not meaningfully different from the copyrighted form. There've been a couple others where people just changed a few variable names, but a finding that software is a derivative work subject to copyright is rare, and I've never heard of one that wasn't some completely blatant mechanical transformation.
-
Concerning morality, there is no moral issue with copyright violation. People have no moral right to say that others cannot make copies of something they have written and published.
I strongly disagree.
Now perhaps the default license equivalent of published material should be public domain (relinquishment of copyright), but if an author expresses an intent in regards to copyright (a license), then either you respect that intent or you do not. That is a moral choice.
Ignoring the right of the author to express an intent in regards to copyright is also a moral choice.
-
moved the conversation from http://forums.roguetemple.com/index.php?topic=4250.0 (http://forums.roguetemple.com/index.php?topic=4250.0)
However, if looking at code and re-implementing it is effectively risk free (or incredibly small risk), then why use GPL at all? You're basically just being a dick and wasting peoples' time by re-implementing code rather than just letting them use yours.
When I put a license on code I publish, I'm making a statement of intent.
To me, GPL says "Here's some code you can freely use in your own GPL'd stuff". Now there is no way that I'm going to know if someone violates that and uses it in a closed source commercial product.. but the violator will know and perhaps someday be motivated to give back something to the community.
If I want to be a dick and waste people's time, forcing them to re-implement, I don't publish the code at all.
In the case where you have Some Other License, if you want to use excerpts, snippets, from my GPL'd code, I'm not going to object, though I'd appreciate a attribution and an email. That is the kind of thing you need to negotiate with the author of the package.
However if you want to wrap my entire GPL'd package in your SOL'd program, effectively turning my code into SOL'd code instead of GPL'd, well.. you're SOL (Shit Outta Luck). Other authors may feel differently on a case by case basis.
It sounds like your statement of intent is "Hey if you're not in my cool person club then you can't use my code unless you spend time reimplementing it."
I'm still not seeing any actual protection of anything that matters. Or there is protection and I wasn't previously being overly cautious.
GPL to me seems like the opposite of "open". It's viral and a pain to work with the various limitations on how to use it directly, but doesn't prevent re-use of the actual creative portions of coding. Or even enforce a reference to the original work in the re-implementation. In fact it's better not to reference the original since that opens up a more direct comparison.
Patents make sense (although they can be quite silly), but GPL seems terrible at all levels.
-
moved the conversation from http://forums.roguetemple.com/index.php?topic=4250.0 (http://forums.roguetemple.com/index.php?topic=4250.0)
It sounds like your statement of intent is "Hey if you're not in my cool person club then you can't use my code unless you spend time reimplementing it."
I'm still not seeing any actual protection of anything that matters. Or there is protection and I wasn't previously being overly cautious.
GPL to me seems like the opposite of "open". It's viral and a pain to work with the various limitations on how to use it directly, but doesn't prevent re-use of the actual creative portions of coding. Or even enforce a reference to the original work in the re-implementation. In fact it's better not to reference the original since that opens up a more direct comparison.
Patents make sense (although they can be quite silly), but GPL seems terrible at all levels.
First, thanks for moving this over.
As for the "cool person club" if that is my intent, who can say otherwise? I have a right to express my intent, you have a right to dislike it.
There is no protection in any copyright based licensing for anyone not involved with a multi-million USD company. The only thing you get is a moral "keep honest people honest" statement of intent. In other words, even if there is some real protection under the law, I cannot afford to pursue remedies and you cannot afford to defend. The best I could do as an offended party is to shout to the world "they broke my copyright licensing". Unless the offender is a large well known company and the case has some legal interest, I doubt anyone would offer aid.
I get that you don't like GPL. You are free and welcome to not use GPL. Are you saying I should not have the choice to use it? If my code has a GPL license and you don't want to abide by that license then you have three choices:
- Don't use it.
- Contact me and try to negotiate a compromise solution.
- Ignore it and violate copyright.
Software patents, in my opinion, are among the worst ideas to ever make their way into law.
Oh and please stop calling GPL viral. It isn't. http://www.metastatic.org/text/the-gpl-is-not-viral.html (http://www.metastatic.org/text/the-gpl-is-not-viral.html).
-
It's sort of like wooden doors. People sell locks for them.
But what the heck good does a lock do, on a wooden door? If you're an adult and reasonably athletic, you can go straight through a wooden door at full speed, or break the wooden doorjamb it's probably framed in.
Locks for wooden doors serve as a notice to honest people that someone would rather you did not go in here. Dishonest people, as it turns out, are the minority, so most people think of locks for wooden doors as being reasonably effective.
In the same way, copyright law is reasonably effective.
-
I'm amazed to see how unpopular the GPL seems to have gotten in the past ten years. It used to be that everyone was making the kind of argument Omnivore's making here (maybe my interweb reading habits were too close to the slashdot sphere of influence then, but that's how it seemed to me). Most open source projects seemed to be GPL'd. These days, most of the projects I come across seem to be BSD/MIT licensed. This could be a reflection of the kind of projects I'm interested in now vs. then, I'm not sure.
The comments made here about roguelike games being "under the radar" seem on point to me. If you want to write an open source roguelike, I see no compelling reason to use the GPL or other worse licenses (e.g. the GNU Affero license). No one's interested in "stealing" your code and the GPL limits the collaboration that open source is supposedly about. The GPL makes sense for the GNU project and basic UNIX infrastructure type stuff. I don't think it's proven to be a success elsewhere.
-
Honestly, the only really compelling reason for me to not use the GPL is because I want to retain control of game balance. When stuff is GPL'd, that means someone else can use the code, add a bunch of overpowered stuff that breaks game balance, and pass the result off as a "new version" of the same game.
Therefore I prefer artistic license; somebody can use the code, add a bunch of overpowered stuff that breaks game balance, and release the result as a *DIFFERENT* program. IOW, I want to retain control of my own game - not have somebody else take over and pass off their thing as the next version of what I create.
That said, I have absolutely no problem with the existence of GPL software, nor with releasing other stuff under GPL. It's just that the stuff I release under GPL is "utility" rather than "art." I don't value my continuing control of utility programs nearly so much, and I'm not at all upset about the prospect of other people eventually taking ownership of them.
That said, even though the Artistic License does impose the restriction I care about for the game, and GPL does not, in most ways AL imposes even less restrictions on further use of code than GPL does. For example if you want to wrap the AL code up in a free or commercial product and never license any changes you make to it under any reasonable terms, that's okay with me. I still have control of what I wrote, and that's what I care about.
-
Concerning morality, there is no moral issue with copyright violation. People have no moral right to say that others cannot make copies of something they have written and published.
if an author expresses an intent in regards to copyright (a license), then either you respect that intent or you do not. That is a moral choice.
There's a gigantic difference between respecting someone's request to do something and that something being a moral right. Your argument applied uniformly means it is immoral to refuse a request, ever.
<too much stuff for me to manage quoting on my phone>
The GPL is not intended to be 'as open as possible'. It was designed to adress a specific problem, which was/is countering the threat of proprietization of the entire computing ecosystem by creating a free alternative. Releasing software under the GPL is more about extending that free ecosystem than each piece of software being 'as free as possible'. If you don't want to participate in enhancing that ecosystem, why should you have free access to appropriate parts of it for your own use?
-
If you want to write an open source roguelike, I see no compelling reason to use the GPL or other worse licenses (e.g. the GNU Affero license). No one's interested in "stealing" your code and the GPL limits the collaboration that open source is supposedly about. The GPL makes sense for the GNU project and basic UNIX infrastructure type stuff. I don't think it's proven to be a success elsewhere.
http://en.wikipedia.org/wiki/List_of_open-source_video_games (http://en.wikipedia.org/wiki/List_of_open-source_video_games) Note the number of GPL entries in that list.
One advantage of GPL is that its pretty inclusive with regards to other licensing. Most open source licenses are less restrictive, so including them in a project using the more restrictive GPL doesn't cause any problems. At worst, you might have to include other license.txt files covering subsets of 3rd party source, but there's no bar to using them.
I think the decline of GPL and other open source licensing is a quantitative not a qualitative decline. Today everyone and their siblings are writing and publishing games, far too many have no clue about the real value of their source code (generally worthless except as an educational device), and a greatly exaggerated optimism about how much money they're going to make.
Prior to 1994 all popular rogue-likes were open source. Up until the past few years, open source rogue-likes were still in the majority by a large margin. Lately though there has been a flood of commercialized rogue-likes that are, of course, closed source. Hopefully it is just a temporary trend due to the general global economy and when better times come again, greed will take a back seat to shared education.
While I may sound like I'm a proponent of GPL and open source in general, for my own work I'm presently sitting on the fence. Given the increasing number of closed source and commercialized offerings along with a more and more vocal subset claiming anything published is free for the taking regardless of the author's desires, I'm tempted to toss in the towel and go closed source myself.
-
Regarding open source roguelike games, it's not true that prior to 1994 all popular roguelikes were open source. There was a time when moria (or maybe I'm thinking of rogue) was publicly available, but not as source. It is true that all the popular roguelikes prior to 1994 eventually became open source.
I think the concern that kept at least one game temporarily closed source was that the mysteries of the game would be revealed by the source. Nethack really has no secrets, in spite of its complexity. Similarly re: DCSS. It is entirely possible that something radical and new could be learned by players about ADOM tomorrow, though.
In short, I think it's a great idea to publish libraries for putting together roguelikes under the BSD license, the LGPL, Artistic License, etc., but I think authors should feel free to keep their source closed, whether for commercial reasons or otherwise.
-
I get that you don't like GPL. You are free and welcome to not use GPL. Are you saying I should not have the choice to use it? If my code has a GPL license and you don't want to abide by that license then you have three choices:
- Don't use it.
- Contact me and try to negotiate a compromise solution.
- Ignore it and violate copyright.
Software patents, in my opinion, are among the worst ideas to ever make their way into law.
Oh and please stop calling GPL viral. It isn't. http://www.metastatic.org/text/the-gpl-is-not-viral.html (http://www.metastatic.org/text/the-gpl-is-not-viral.html).
I'm saying you probably shouldn't use GPL because, as far as I can tell, it has no positive benefits for either the code creator or the code user.
Your options 1 and 3 are where I started at. I said I didn't want to look at GPL source code because I didn't want to risk the appearance (or actual act) of violation of copyright. But the response to me saying I wanted to play nice with GPL code (meaning not looking at it if I wasn't making my potential derivative work GPL) was considered by many to be too much paranoia on my part.
Option 2 seems a bit silly if I haven't looked at your code yet since there's no telling if there's anything worth going to that trouble in there. And it's also silly if I have looked at your code and can (and want to) reimplement it.
I mean GPL is viral in the sense that if you mesh any GPL code with your code, you are required to make your meshed code GPL. The viral part is that, from what I can tell, this includes other code in the same library project that have nothing to do with the GPL bit. Either the whole library is suddenly GPL or you can't use the GPL code. I read the link, but "viral" now includes the meaning "something that spreads", as in Viral Marketing.
Honestly, the only really compelling reason for me to not use the GPL is because I want to retain control of game balance. When stuff is GPL'd, that means someone else can use the code, add a bunch of overpowered stuff that breaks game balance, and pass the result off as a "new version" of the same game.
Therefore I prefer artistic license; somebody can use the code, add a bunch of overpowered stuff that breaks game balance, and release the result as a *DIFFERENT* program. IOW, I want to retain control of my own game - not have somebody else take over and pass off their thing as the next version of what I create.
Because re-implementation is apparently pretty much okay (in fact if not in spirit), copyrighting the IP in your game is probably the only way to keep someone from releasing a thing as a new version of your game, and that should be compatible with pretty much any license. Of course that doesn't stop them from cloning your game :(
-
Honestly, the only really compelling reason for me to not use the GPL is because I want to retain control of game balance. When stuff is GPL'd, that means someone else can use the code, add a bunch of overpowered stuff that breaks game balance, and pass the result off as a "new version" of the same game.
Have you considered registering the name of your game and perhaps some amount of branding as trademarks? That's specifically what trademarks are for.
Regardless of your license, you can trademark the name, and others will be prohibited from calling their derivatives by the same name. From what I understand of the process, it's pretty painless to do.
I'm saying you probably shouldn't use GPL because, as far as I can tell, it has no positive benefits for either the code creator or the code user.
It's a rather odd stance to take to tell someone else that they shouldn't do something because you don't see the benefit. It's almost certain they have a reason to do it and you just don't understand or agree with their motives.
Your options 1 and 3 are where I started at. I said I didn't want to look at GPL source code because I didn't want to risk the appearance (or actual act) of violation of copyright. But the response to me saying I wanted to play nice with GPL code (meaning not looking at it if I wasn't making my potential derivative work GPL) was considered by many to be too much paranoia on my part.
That's because it is, copyright simply doesn't work like that. The rest of your argument is built on this flaw, therefore moot.
Of course that doesn't stop them from cloning your game :(
What's wrong with a clone? Not a rhetorical question, I simply don't understand why someone making a copy of your game is a problem.
-
I'm amazed to see how unpopular the GPL seems to have gotten in the past ten years.
One of the reasons is that it's difficult or even impossible to use GPL projects in commercial sense. It's something that might become an idea when the game or other project becomes good enough that it starts to have a commercial appeal. In that point it can be difficult to change the license, because the viral nature of GPL. Also, if some parts of the software is intended in commercial use it's again a difficult task to make it happen. Like if you are creating scripts/addons to GPL project you want to sell.
This was the reason why SDL2.0 was changed away from (L)GPL. It was just too much trouble for nothing. It's now understood after all these years of open source development that it was not the golden path that leads mankind to salvation. On the contrary, open source projects are often not as good as commercial programs, because the way of developing them is different.
-
In order to relicense under some other license you have to get every copyright holder to agree to the relicensing.
And one thing about GPL (or other open source) projects is that they are usually produced by many copyright holders. In practice this does make it more difficult to get agreement to relicensing than it is for most commercial (ie, produced by a single copyright holder) licenses.
Bear
-
I'm saying you probably shouldn't use GPL because, as far as I can tell, it has no positive benefits for either the code creator or the code user.
It's a rather odd stance to take to tell someone else that they shouldn't do something because you don't see the benefit. It's almost certain they have a reason to do it and you just don't understand or agree with their motives.
Your options 1 and 3 are where I started at. I said I didn't want to look at GPL source code because I didn't want to risk the appearance (or actual act) of violation of copyright. But the response to me saying I wanted to play nice with GPL code (meaning not looking at it if I wasn't making my potential derivative work GPL) was considered by many to be too much paranoia on my part.
That's because it is, copyright simply doesn't work like that. The rest of your argument is built on this flaw, therefore moot.
Of course that doesn't stop them from cloning your game :(
What's wrong with a clone? Not a rhetorical question, I simply don't understand why someone making a copy of your game is a problem.
I agree that I don't understand the motives for using GPL. It doesn't seem to offer any protections but does offer annoyance. Hence the only reasons I see to use it are ignorance or spitefulness, neither of which are motives I agree with. If I could see how it would provide protections to the code developer, I'd not have this opinion.
So maybe I just don't understand at a very basic level how source code copyrights work. My understanding was they they were to control the ways in which the source could be used. GPL controls that use through requiring either mashed source to also be GPL or re-implementing the source instead of mashing it. What have I missed here?
There's nothing wrong with a clone, in the abstract. Some people think that too close of a clone is an infringement on their own product, even if that clone is perfectly legal. Someone concerned with a "new version" of their game being out of their control is likely to also be worried about clones to some extent.
-
As I understand it, the stated aim (http://www.gnu.org/licenses/why-not-lgpl.html) of the GPL is to give an advantage to the free open-source software community by producing libraries that they can use but that proprietary software developers can't, even indirectly. So no, I don't think there are any particular benefits for the code creator or the code user; the aim is to benefit and promote free software development as a whole.
The problem is that it not only locks out people who want to (boo! hiss!) make a living out of writing software, it also locks out people who write free and open software, but who don't mind commercial developers making use of it, people who are hobby coders, but don't want to adopt something that might prevent them from making money off of their work in the future, people who just don't want the potential hassle of going open-source, people like Eben who don't want to even look at the code for fear of exposing themselves (https://www.youtube.com/watch?v=6SdGNJGwOww) and so on. So, to me, it seems a little puritanical and overlooks the massive grey area between open-source zealotry and evil money-grubbing capitalism in which rather a lot of useful software development takes place.
-
I agree that I don't understand the motives for using GPL. It doesn't seem to offer any protections but does offer annoyance.
Doesn't offer protection from who?
Commercial development companies will NOT infringe on GPLed code any more than they will infringed on closed source code. This is precisely what it's for.
Independent developers can and will ignore the copyright on the code, again just like they do with closed source code. Not many developers who release their code under the GPL care about this, so it's not really a problem.
So maybe I just don't understand at a very basic level how source code copyrights work. My understanding was they they were to control the ways in which the source could be used.
There are several misunderstandings packed into this.
1. Copyright is not for source code, it was written to apply to books, and got applied to software much, much later. The reason it doesn't make sense is they were never intended to interact in any way, but corporations forced it to happen.
2. Copyright is not about controlling the way works are used, it is simply a prohibition on copying them, that's it.
2a. GPL leverages this prohibition to say you're allowed to use the copyrighted material with certain restrictions, which are themselves anti-copyright.
GPL controls that use through requiring either mashed source to also be GPL or re-implementing the source instead of mashing it. What have I missed here?
What you've missed is that the GPL isn't about protecting individual programmer or user rights, it's about protecting the rights of all programmers and users. It's not just a license, it's a cause. You may legitimately disagree with that cause and prefer a world where corporations are permitted to either maintain a monopoly on interacting with computers, or where they're allowed to pull code from permissively licensed projects and make it so the original authors can't use the things they've built on it, but if you're evaluating the GPL as simply a license, you are indeed missing the entire point.
I'm having trouble reconciling
Of course that doesn't stop them from cloning your game :(
with
There's nothing wrong with a clone, in the abstract.
It's either "someone cloned my game <frownie face>" or it's ok, which is it and why? If it's "ok in the abstract", HOW is it not ok in a specific case. And please don't say, "Some people think..." I'm talking to you, what do you think about it? Those other people can make an account and post themselves.
The problem is that it not only locks out people who want to (boo! hiss!) make a living out of writing software,
Odd, I make a living writing software and I've never been locked out by GPL. I use it constantly at work, and have for over 10 years now.
it also locks out people who write free and open software, but who don't mind commercial developers making use of it,
As above, commercial software developers can and do "make use of" GPLed software all the time, all they are not allowed to do is slap their own license on it. It's really simple, if YOUR contribution is more important than the GPLed software, just write it all yourself, if you're leveraging GPLed software and just need a few tweaks, release your contributions, how hard is that?
people who are hobby coders ... making money off of their work
You're having some definitional problems here, you might want to sort that out.
people who just don't want the potential hassle of going open-source,
What hassle? You slap a LICENSE.txt file on your project and away you go. There is zero compliance burden for the original author, and people acting in good faith almost never run into compliance issues of any kind.
people like Eben who don't want to even look at the code for fear of exposing themselves and so on.
Yes, making licensing decisions based on unfounded paranoia is a great idea.
So, to me, it seems a little puritanical and overlooks the massive grey area between open-source zealotry and evil money-grubbing capitalism in which rather a lot of useful software development takes place.
It doesn't overlook a thing, I'm aware of and sympathetic to the "I just want to give my software away with no strings attached" point of view, and I don't have a problem with it. This view is shared by most of the Free Software community, it's just the community has decided as a whole that building a GPLed or otherwise copyleft software ecosystem is a Good Idea.
-
It's not just a license, it's a cause. You may legitimately disagree with that cause and prefer a world where corporations are permitted to either maintain a monopoly on interacting with computers
GPL is a monopoly of a kind. In reality GPL has caused more harm than good. Same as those ridiculous software patents. Both are inventions from USA, the land of freedom.
-
it also locks out people who write free and open software, but who don't mind commercial developers making use of it,
As above, commercial software developers can and do "make use of" GPLed software all the time, all they are not allowed to do is slap their own license on it. It's really simple, if YOUR contribution is more important than the GPLed software, just write it all yourself, if you're leveraging GPLed software and just need a few tweaks, release your contributions, how hard is that?
Sure, as a commercial software developer you can 'make use of' GPL software in lots of different ways; you could print it out and turn it into a pretty hat, for example. You can't make use of it as a library in your commercial application, however, which I think it's pretty clear is what I meant. Also just because your own code might be more important to the overall enterprise, it doesn't follow that re-writing a GPL library is a trivial thing to do - otherwise why bother with the GPL in the first place?
people who are hobby coders ... making money off of their work
You're having some definitional problems here, you might want to sort that out.
No I'm not; you're having reading comprehension problems. It's perfectly possible to be a hobby coder presently, but wish to retain the option to turn your hobby project into a commercial one in the future, which is the part of that sentence you hilariously edited out. Many many indie developers have 'gone pro' in exactly this manner.
people like Eben who don't want to even look at the code for fear of exposing themselves and so on.
Yes, making licensing decisions based on unfounded paranoia is a great idea.
I didn't say it was; although I do actually condone Eben's decision there, for reasons that have nothing to do with 'unfounded paranoia'. I agree that the risk of running into legal trouble by doing that is pretty small, but I think there's also a moral issue of respecting the original author's intent. They may be using the GPL because they don't want their work going to help commercial software development in any way. Probably not, but if you're being super-conscientious you might still not feel comfortable with using it even indirectly (without checking with them, at least).
So, to me, it seems a little puritanical and overlooks the massive grey area between open-source zealotry and evil money-grubbing capitalism in which rather a lot of useful software development takes place.
It doesn't overlook a thing, I'm aware of and sympathetic to the "I just want to give my software away with no strings attached" point of view, and I don't have a problem with it. This view is shared by most of the Free Software community, it's just the community has decided as a whole that building a GPLed or otherwise copyleft software ecosystem is a Good Idea.
You may not have a problem with that point of view, but the GPL does because it explicitly prevents it. Its whole purpose is to attach strings. Which is perfectly fine by me if it's what people want - I fully support their right to release code they've written under absolutely any terms they like and there are far worse things than wanting to support a healthy free software ecosystem. My only worry with the GPL is that sometimes people may use it as a 'default' open-source license because it's popular without fully thinking through the consequences, which might not match their intent. I suspect that the decline in use of the GPL compared to more permissive open source licenses is partly because those consequences are being more widely understood.
-
A main point of the GPL is of course to make sure that software you release as free, shouldn't be redistributable as closed source (or the technical/legal equivalent). Complaints that the GPL inhibits reuse of code in non-free projects exemplifies why the GPL is conceived as it is. The fact that the license remains relevant after all these years say a lot about the foresight of the people who originally composed it. The whole free software thing (Linux et al) would have been much more difficult to pull off if it weren't for the "viral" properties of the GPL. People who want to make non-free software should of course follow their vision, but they're no more entitled to use free code to that end than people are entitled to reuse closed code in open source projects.
Luckily for me, my own code isn't interesting to anyone in that sense, and I've been considering just putting my pet projects in the public domain. The GPL wasn't made to cover artistic works, and games fall a bit between two chairs in that respect. If I were doing any serious work in IT that I wanted to be free, however, I'd probably want to license it under the GPL. (And I'm pretty sure I could make a living out of it, if I had the technical skills, it's not as if there aren't myriad examples of professional free software developers.)
As always,
Minotauros
-
Okay, so it appears there's 3 reasons to use GPL:
1) It's a default choice and/or for some reason the dev had to choose a license without taking the time to learn all the ins and outs of them.
2) The dev doesn't want someone else to make money off their code without their permission.
3) The dev is making a statement about what restrictions should be on free code for the good of all
My thoughts:
1) The default should be either "You keep all rights, so closed source." or "You keep no rights, fully open public domain." Since anything between is so muddy and grey it's unreasonable to expect people to choose well in between unless they're a software copyright lawyer or have too much time on their hands to learn the difference between BSD and MIT as pertains to real-world use. Not to mention learning the validity of various licenses in different areas of the world.
2) Fair enough, but GPL doesn't stop this. Since we've established that re-implementation is OK, then at best the someone else has been inconvenienced if they really want to use your code anyway and re-write it. Of course the original author won't be getting credit either. So big fail for choosing this reason for GPL
3) This is the most legitimate, and worst, reason for choosing GPL. It's basically the same as having a political sticker on your car. At best it will be used to support confirmation bias for or against those in the car and and worst will cause your car to be vandalized by people who don't share your political opinion. In either case it won't get the sticker's party elected / whales saved / mines funded / whatever.
-
No, there's no reason for not to let anyone else to make money from the GPL code you wrote and the license does not stop that. It just states that if they distribute the program, they also have to distribute the source code. That's two different things. GPL is about making code free as speech, not free as beer.
-
Okay, so it appears there's 3 reasons to use GPL:
1) It's a default choice and/or for some reason the dev had to choose a license without taking the time to learn all the ins and outs of them.
2) The dev doesn't want someone else to make money off their code without their permission.
3) The dev is making a statement about what restrictions should be on free code for the good of all
I think you're ignoring the reason that's most important to a lot of the people that use it. They want to create code that's better than they as individuals can create, code that will take literally hundreds of man-years to develop, and GPL is a way of leveraging each other's efforts to achieve that.
They want future versions of their code, even if worked on/improved by others, to remain available as a basis for further work or improvement by themselves and others. GPL is intended to concentrate improvements and development in the public version of the code. And it works.
For exmaple, If I write a spreadsheet program and GPL the code, then I am confident that if someone adds, I dunno, a formula addressing feature or something, to it, then I (and everyone else) will have access to that future improved version and the ability to build further improvements on top of it.
It's about the development process. Without GPL, if someone just makes PD code, it gets snarfed by a hundred people, each and all of them make one or two incremental improvements, and it comes out as one unimproved PD program plus the bones under a hundred different closed-source programs.
With GPL, it's useful to maybe half as many people, but fifty people making one or two incremental improvements each and, because of the license, giving everyone access to those improvements, results in a GPL program with fifty or a hundred incremental improvements rather than PD program with none and a hundred closed-source programs with one or two.
-
Okay, so it appears there's 3 reasons to use GPL:
1) It's a default choice and/or for some reason the dev had to choose a license without taking the time to learn all the ins and outs of them.
2) The dev doesn't want someone else to make money off their code without their permission.
3) The dev is making a statement about what restrictions should be on free code for the good of all
I think you're ignoring the reason that's most important to a lot of the people that use it. They want to create code that's better than they as individuals can create, code that will take literally hundreds of man-years to develop, and GPL is a way of leveraging each other's efforts to achieve that.
They want future versions of their code, even if worked on/improved by others, to remain available as a basis for further work or improvement by themselves and others. GPL is intended to concentrate improvements and development in the public version of the code. And it works.
For exmaple, If I write a spreadsheet program and GPL the code, then I am confident that if someone adds, I dunno, a formula addressing feature or something, to it, then I (and everyone else) will have access to that future improved version and the ability to build further improvements on top of it.
It's about the development process. Without GPL, if someone just makes PD code, it gets snarfed by a hundred people, each and all of them make one or two incremental improvements, and it comes out as one unimproved PD program plus the bones under a hundred different closed-source programs.
With GPL, it's useful to maybe half as many people, but fifty people making one or two incremental improvements each and, because of the license, giving everyone access to those improvements, results in a GPL program with fifty or a hundred incremental improvements rather than PD program with none and a hundred closed-source programs with one or two.
I'm not ignoring the reason that's most important to a lot of people. That reason is #3 on my list. And despite what they want, creating code that's better isn't guaranteed by using GPL (or any other license). Hence my bumper sticker analogy.
Using GPL as you've described to promote future work only makes sense in terms of gigantic projects. The kind that are so huge they have someone actually monitoring the use of code and folding changes back into the main branch. Otherwise there's nothing to stop those 50 people from making an incremental change on their own, same as with PD. And if they're that big then using PD and folding in changes that people suggest be added is exactly as feasible.
Also you've created this straw man where PD code doesn't have anyone folding back in changes and GPL people all making improvements that don't conflict, are publicly available (which implies known about and accessible), and of good quality. Without some sort of reference to show these two cases are the common cases, you've got nothing to stand on here.
The thing GPL does that PD doesn't is increase the time and effort it takes to use the code if you don't want to be part of the GPL group. Which quite specifically means primarily being anti-commercial.
So even if it made sense to GPL code in a giant project, it makes absolutely no sense to do it for a medium sized or smaller project. Certainly it makes zero sense to do it to an indie game.
-
No, there's no reason for not to let anyone else to make money from the GPL code you wrote and the license does not stop that. It just states that if they distribute the program, they also have to distribute the source code. That's two different things. GPL is about making code free as speech, not free as beer.
That's technically true, but in reality it's a bit of a meaningless distinction. You can charge money for a copy of a GPL program, but then the very first person you sell it to can also sell copies or distribute it for free (as in beer) to whoever they like, so it's not like it's a particularly brilliant business plan.
Edit: It's worth adding that this neatly exemplifies my concerns about people using the GPL not being aware of the implications. Somebody looking into using the license might ask whether their code could still be used in commercial software and be told by a GPL proponent 'Yes, of course!', when that's about as misleading an answer as it's possible to give while still remaining entirely truthful.
-
So even if it made sense to GPL code in a giant project, it makes absolutely no sense to do it for a medium sized or smaller project. Certainly it makes zero sense to do it to an indie game.
Using a GPL on a small, or even tiny toy, project makes every bit as much sense as it does on medium and large projects, albeit for partially different reasons. For small projects, such as a coffee break roguelike, GPL encourages honest people to publish their modifications, whether any do a fork/merge/submit or not. This is educational. I get to see how others improve upon what I did.
However, let us suppose for a moment there is no benefit to be obtained by publishing roguelike source under GPL, why then would you ever want to publish under a lesser license? Better to not publish at all unless you are doing a library of some sort and expressly want closed source and commercial developers to use your library hoping that you may see some feedback and improvement for the library itself. Yet you are saying that a library like libtcod, a small project targeting a tiny niche, does not gain by being open source, this is demonstrably false.
All of us have benefited, directly or indirectly, from GPL'd roguelikes such as Angband, DC:SS, Nethack, Moria(freeMoria), etc. I believe the authors of those games have benefited as well. While games like ADOM contribute nothing except the example of the game itself. That's what GPL is all about when it comes to roguelikes, giving back to the community.
There are admittedly some rare developers who do not publish their source but who do write various
articles explaining algorithms and thus giving back to the community in that manner. I applaud those developers.
While there is little real protection, GPL keeps honest people honest, and I'd like to believe honest people are by far the majority, though admittedly some days I have my doubts.
That's technically true, but in reality it's a bit of a meaningless distinction. You can charge money for a copy of a GPL program, but then the very first person you sell it to can also sell copies or distribute it for free (as in beer) to whoever they like, so it's not like it's a particularly brilliant business plan.
Edit: It's worth adding that this neatly exemplifies my concerns about people using the GPL not being aware of the implications. Somebody looking into using the license might ask whether their code could still be used in commercial software and be told by a GPL proponent 'Yes, of course!', when that's about as misleading an answer as it's possible to give while still remaining entirely truthful.
It is not meaningless. Oh it discourages trying to overprice, but you could well charge a dollar or three. Shareware works as a business plan for the same reasons a commercial yet GPL'd offering could.
You might, in a commercial offering, sell a mix of closed and GPL'd, it is quite possible under the license. Many modern games are beginning to incorporate social aspects (ToME for example), in such a game it is easy to make some content dependent upon server approval. A similar argument can be made with auto-updating.
When it comes to GPL, like so many other things, ignorance is curable, deliberate ignorance is not.
-
While there is little real protection, GPL keeps honest people honest, and I'd like to believe honest people are by far the majority, though admittedly some days I have my doubts.
This discussion started when I said that I wanted to be an honest person and was told I was being paranoid.
As someone who has no intention of making his code GPL, I said I didn't even want to look at GPLed code so that there wouldn't be even a hint of dishonesty in my own product. This was me trying to respect the intentions of the original dev by not using their work in any way in a non-GPL product.
I further stated that it makes me sad when people make code GPL because I feel it restricts the usefulness of their code and therefor if they do have something really wonderful to share, as an honest person I'll never know.
I've added the description of myself as an honest person to tie it into the current discussion. I believe "honest person" is meant in this sense and so adding that description does not change the nature of the argument.
There's plenty more to comment about the last few posts, but I want to get back to the original topic: Is there anything to fear from copyright? And if there is not, then why use it at all?
-
If you really want to interpret it strictly in terms of fear? That's ... weird, but okay.
You can fear being arrested, tried, and eventually commanded to pay a fine and reparations if you violate copyright terms.
Specifically, that means if you take a GPL'd program, modify it, and release the result as a non-GPL program, the copyright holder (who may be the original author, or may be the Free Software Foundation or someone else to whom copyright has been assigned) can take you to court and sue you for the infringement.
That said, try not to be such a twit about saying GPL stuff is unusable for commercial projects. If you want to write commercial closed-source programs, there is absolutely nothing that prevents you from using GPL tools to do so. gcc, gdb, and the rest of the toolchain you need for creating software are all open source, and you can use them as much as you like to create things that aren't.
-
That said, try not to be such a twit about saying GPL stuff is unusable for commercial projects. If you want to write commercial closed-source programs, there is absolutely nothing that prevents you from using GPL tools to do so. gcc, gdb, and the rest of the toolchain you need for creating software are all open source, and you can use them as much as you like to create things that aren't.
It goes further than that. Reference: http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html (http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html) and http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs (http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). One usage scenario would be to write your game under GPL as a fully playable but limited trial version, the proprietary plugin expands that into the full game. This is perfectly legal using a GPLv3 section 7 exception clause. As I mentioned in an earlier post, also possible is GPL client with proprietary server, where server can be an actual game server, a simple content server, or something in between. There are numerous opportunities along these lines if you bother to look for them.
-
That said, try not to be such a twit about saying GPL stuff is unusable for commercial projects. If you want to write commercial closed-source programs, there is absolutely nothing that prevents you from using GPL tools to do so. gcc, gdb, and the rest of the toolchain you need for creating software are all open source, and you can use them as much as you like to create things that aren't.
It goes further than that. Reference: http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html (http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html) and http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs (http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). One usage scenario would be to write your game under GPL as a fully playable but limited trial version, the proprietary plugin expands that into the full game. This is perfectly legal using a GPLv3 section 7 exception clause. As I mentioned in an earlier post, also possible is GPL client with proprietary server, where server can be an actual game server, a simple content server, or something in between. There are numerous opportunities along these lines if you bother to look for them.
I've come to the conclusion that the thing most dangerous about the GPL, is the people who post advocating it.
Your usage scenario makes no sense. Let me explain. If you write a game and release it under the GPL, you already own the full copyright and have the right to use the source licensed otherwise. That includes as a closed amended source version, or even with closed source plugin game expansion. There's nothing legally stopping you from doing that. The GPL and releasing the source is irrelevant.
Then there's section 7 of the GPLv3. The only way it would apply, was if you could add permissions allowing you to take changes people make to your GPL released code (which in turn are GPL licensed if they release them) back into your non-GPL version. In which case their code doesn't get the benefits of the GPL, because you wish to do to them, what you don't wish them to do to you.
And Bear, don't be unpleasant bullying people into accepting the GPL with ridiculous arguments. You can make a hat out of strawberries, but it's a dumb idea. And so, just because you can contrive to release a commercial game with GPLed code doesn't make it a good idea. Few people do it for a reason. Using common tools like gcc and gdb is one thing, as they are so well developed that it is unlikely you will be patching them and releasing changes. But using someone's niche custom library, means you are more than likely to bug fix it and modify it to remove eccentricities. And of course, link it in. It becomes a completely different kettle of fish. A relevant one, compared to the irrelevant gdb/gcc one.
The fact is that this topic is strewn with vague claims. The GPL is inclusive of other licensing - well, only in a viral sense that it forces the code in those other licenses to be open sourced as well. Which is why it is called a viral license. And yet, we have another pro-GPL supporter in the topic claiming it's not viral.
There's also an irrational fear by some pro-GPL posters. That some mystical evil-doers will swoop in and take their non-GPL code and make something out of it they don't want made. People are already doing this. My satellite receiver firmware has GPL code linked into it, and it has been reported to the GPL violations mailing list years and years ago. But nothing ever happened. The GPL offers no real protection above what a more free and permissive license like the MIT license offers. Not unless the FSF can earn some publicity.
Again, I use the GPL for software I have released to others, and use software licensed under the GPL released by others. The GPL is a valid choice if you choose to use it with all the facts in mind. But the problem is that lots of people want other people to use it, and they either don't understand it fully, are rude in their pushing of it (for example calling people twits) or make disingenous claims so as to foist it on others.
Please stop bullying people into using the GPL with false claims, tangentially related claims and name calling. I am sure we all understand how it's viral nature is good, in the way it is intended. But it isn't an all purpose solution which can be as easily manipulated to suit, as many pro-GPL posters here claim.
It's no wonder people are afraid to even read GPL code, with so much disinformation and confusion.
-
That said, try not to be such a twit about saying GPL stuff is unusable for commercial projects. If you want to write commercial closed-source programs, there is absolutely nothing that prevents you from using GPL tools to do so. gcc, gdb, and the rest of the toolchain you need for creating software are all open source, and you can use them as much as you like to create things that aren't.
It goes further than that. Reference: http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html (http://blog.milkingthegnu.org/2008/04/gpl-for-dummies.html) and http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs (http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs). One usage scenario would be to write your game under GPL as a fully playable but limited trial version, the proprietary plugin expands that into the full game. This is perfectly legal using a GPLv3 section 7 exception clause. As I mentioned in an earlier post, also possible is GPL client with proprietary server, where server can be an actual game server, a simple content server, or something in between. There are numerous opportunities along these lines if you bother to look for them.
You could do all that, but is there any particularly compelling reason why you would? In your scenario the heart of your commercial offering is proprietary code (which seems against the spirit of the thing) and you're having to specifically exempt yourself from part of the GPL to even do that, something which you can't do anyway if you're using anybody else's GPL code which doesn't include that exception clause. Most likely, you can only do this if you're the original author of the whole program, in which case you're only making life more difficult for yourself by using the GPL in the first place, for no real benefit that I can see.
More to the point, there's no reason why you should be able to make money off of GPL code that other people have written. But it does mean that the GPL isn't always an appropriate license to use. To be clear; I think the GPL is great (and I have the Blender T-shirt to prove it) when it matches the goals and intentions of the people using it and they have made an informed choice to adopt it. I don't think that is always the case and I don't think that pretending it doesn't have significant drawbacks so far as commercial development goes helps anybody.
-
No, there's no reason for not to let anyone else to make money from the GPL code you wrote and the license does not stop that. It just states that if they distribute the program, they also have to distribute the source code. That's two different things. GPL is about making code free as speech, not free as beer.
How does it make code free as speech? I don't understand how this even makes sense. It sound like some nonsensical advocacy sound bite that many pro-GPL people bandy about, but never quite think through.
-
People claiming to know about GPL lose all credibility the moment they say "viral". Unlike a virus, GPL is spread only by intentional contact, and then only in specific cases. Calling the GPL viral is a biased misrepresentation that can only be used out of ignorance or with the intention of fear mongering.
There are numerous ways, and I do not pretend to know them all, that money can be made using a GPL code base. I've illustrated a few earlier, if none of them make any sense to you I can only surmise that you are being deliberately obtuse. [even if I may have misplaced an 'or']
Why would you want to? First, and foremost, the source is available for others to study, review, submit realistic improvement requests, or even submit actual patches. You get a higher level of feed back from players who are also programmers and who would like to help improve the game. Even if someone forks the game and replaces any proprietary hooks you may have made use of, you still win - improvements to the overlapping code base apply to both. Finally, any truly unique perspective of the genre you bring to the table will be preserved, expanded upon, and quite possibly replaced by something even better. I'm sure there exists a myriad of other good reasons.
But hey, guess what? You don't have to agree. You don't have to use it. You don't have to have anything to do with GPL. No one is forcing you to.
Which gets back to the 'fear', people fear things they don't understand. Read the GPL, read the various discussions about it. When reading the various discussions, be aware of the writer's agenda. Two of the most vocal opponents of GPL, and presumably the original source of the 'viral' misrepresentation, are Craig Mundie and Steve Ballmer both of Microsoft. Gee, what agenda might they have? I have no idea where the absurd claim that merely reading GPL'd code somehow 'infected' all further software written by the reader comes from.
My agenda is that I would like to see more open source roguelikes. I don't really care whether they are licensed GPL, MIT, Boost, Apache, etc.
-
That said, try not to be such a twit about saying GPL stuff is unusable for commercial projects. If you want to write commercial closed-source programs, there is absolutely nothing that prevents you from using GPL tools to do so. gcc, gdb, and the rest of the toolchain you need for creating software are all open source, and you can use them as much as you like to create things that aren't.
And Bear, don't be unpleasant bullying people into accepting the GPL with ridiculous arguments. You can make a hat out of strawberries, but it's a dumb idea. And so, just because you can contrive to release a commercial game with GPLed code doesn't make it a good idea.
B'huh? No, I didn't say you could include GPL'd code into your commercial game. What I said is that you can use tools that are GPL'd to build your commercial game. There is a world of difference between including something and using something. The specific examples I used are gcc and gdb. Making use of all the extensive suites of GPL'd development tools does not in any way constrain your power to determine the license of anything you create with them. But libraries are to be included, not just used, and the GPL (or whatever license) becomes an issue. The GPL becomes an issue when you are specifically including code in your project, not when you are using tools to build it.
You may be replying to Omnivore, who was talking about interacting systems some parts of which are GPL software and some parts of which are not. I didn't talk about that stuff.
Using common tools like gcc and gdb is one thing, as they are so well developed that it is unlikely you will be patching them and releasing changes. But using someone's niche custom library, means you are more than likely to bug fix it and modify it to remove eccentricities. And of course, link it in. It becomes a completely different kettle of fish. A relevant one, compared to the irrelevant gdb/gcc one.
If you're including someone's niche custom library, you're talking about code you will include in your project, not about tools you're using to build your project. If you're including GPL'd code, then as I understand it you're working on something you intend to release under GPL. If you're doing something else, it's probably a mistake to include GPL'd libraries.
The fact is that this topic is strewn with vague claims. The GPL is inclusive of other licensing - well, only in a viral sense that it forces the code in those other licenses to be open sourced as well. Which is why it is called a viral license. And yet, we have another pro-GPL supporter in the topic claiming it's not viral.
I haven't used the word "viral" at all yet, and won't except in this single paragraph. I never made any claim one way or the other, because any such claim is meaningless. Anyone can define "viral" in such a way that it is, or is not. Making such a claim is just trying to assert what the majority definition of "viral" is, not saying anything about the license itself. The GPL makes code available to people who make their changes to that code and projects made which include that code available under the GPL. If you think that's "viral", then the GPL is indeed a viral license. If that doesn't fit your definition of "viral", then it's not.
I also dislike being characterized as "Pro-GPL". The GPL just is what it is. I observe that it has a purpose (leveraging each other's efforts to create software that no single person is capable of creating) and that it works for that purpose. Closed-source licenses also have a purpose (making profits) and work for that purpose. There is really no value judgement, at least not from me; each license simply is what it is and is useful for what it's useful for. Real Pro-GPL partisans attack me just as strongly for being "Anti-GPL" (because after all, I'm using a different license that doesn't impose any such restrictions on people who include my own code) and I dislike that too.
All the advice I have ever given anyone about licensing their stuff is to use the license that their stuff needs. I don't think I've ever specifically suggested GPL to anyone, and I wouldn't unless someone specifically was concerned that others might make changes to the code without making those changes available to the author or others as a basis for further work. And all the advice I've ever given anyone about including other people's stuff is to include only stuff whose license they're willing to abide by. I don't frankly give a crap whether that license is GPL or not, so quit trying to cast me in a role I'm refusing to play.
-
I think I should present a "worked example" so people know where I'm coming from.
The GPL does not provide the protections that are important to me. Therefore I decided at the outset that my game would not be a GPL'd program. Therefore I knew that I would not be including any GPL libraries. Simple enough.
The libraries I do include - the Linux versions of ncursesw.h, stdio.h, math.h, stdlib.h, locale.h, string.h unistd.h, signal.h, and so on - are not GPL. They are LGPL. The LGPL does not impose any restrictions I have a problem with, and in particular does not in any way affect the terms under which I can license my own code, so I use them freely and gratefully. My code meets its few requirements; it can link without changes against other implementations of the same functionality, so the LGPL libraries remain "separate" from my project in the way that matters to that license.
The tools I use - gcc, gdb, emacs, etc - are GPL software. The GPL says that I can't produce a modified version of any of these tools and distribute it without distributing the source code of the modified version. I have no problem with that. If I tweak or bugfix any of these tools, then unless I want to distribute the modified version, the GPL requires exactly nothing from me.
If in the course of my development it actually happens that I tweak or bugfix any GPL tool, I'll cheerfully contribute the tweak or bugfix back to the maintainers as a patch. This is not required, but I'm happy to have the use of the tools and I don't mind making contributions in exchange for all the use I've gotten out of them.
-
You may be replying to Omnivore, who was talking about interacting systems some parts of which are GPL software and some parts of which are not. I didn't talk about that stuff.
Just to elaborate a bit since evidently my explanation was either too concise or assumed too much of the reader:
There is a hole a mile wide both legally and ethically in the GPL. Whether you use GPL or not, whether you like it or dislike it, understand that when it comes to the subject of interoperability it is fundamentally broken. GPL makes sense in regards to a single binary. It makes less sense and has lesser impact the more you begin to speak of two or more loosely coupled binaries.
This can easily be seen in the simplest terms in the client server case. Even if both client and server are specifically designed to work with each other, the fact that one is licensed with a particular license has absolutely no impact on how the other is licensed. This is because the coupling is loose. Any agency satisfying the interface can use either part.
There is quite a bit of argument over more tightly coupled cases such as DLLs. However, in one particular subset of those cases, the hole becomes an elephant in the room that no one seems to want to talk about. That case is plugins.
If you write a stand alone program which is suitable for use and allow for expansion of capabilities in any manner by plugins, the fact that the stand alone program is GPL is absolutely no legal or ethical barrier to a future plugin being proprietary.
If you write a game in a manner similar to ToME for instance, you could easily slap a GPL on the engine part and distribute it with a playable 'coffee break' roguelike content plugin. You can then write and sell a proprietary plugin that adds capability to and expands the GPL'd game. You just can't distribute them together.*
Why would you do so? In order to legally use GPL'd libraries with the core GPL game and reap all the other benefits of open source development with the core portion. It even makes sense from a business standpoint, the free giveaway loss leader (trial version) is already free, GPL costs nothing even if you believe you can't sell GPL'd software. Fans of the game will invariably want more, and will, at least in some cases, buy your proprietary plugin to enjoy more content.
There are no victims in this scenario. The GPL'd library authors have suffered absolutely no harm as the game itself is still open source GPL. If you think otherwise, consider for a moment that the plugin could just as easily be some form of data. In other words, the plugin is content.
The GPL was written for simpler times.
*This is where the GPL begins to fall apart, it is assuming there is some magical difference between content as data and content as code.
Note: just to further snarf up the arguments, assume that the plugin interface is separately published as public domain.
-
How does this stuff continue to generate so much heat? I can understand people getting this exercised about the GPL in connection with Linux in 1998, when some people thought a Linux revolution might be in the offing and the big software giant was Microsoft, but today? Come on.
The reality today is that everything worthwhile is on a network. If you're distributing binaries of your game, you are doing it wrong (and if you need GPL libraries to write your roguelike game, I'm pretty sure you're doing something wrong there too). The ability to occasionally get a good patch for your game is insignificant next to the power of the network.
The GPL has nothing to say about network services, they are just one possible private use of GPL'd code.
-
The reality today is that everything worthwhile is on a network. If you're distributing binaries of your game, you are doing it wrong (and if you need GPL libraries to write your roguelike game, I'm pretty sure you're doing something wrong there too). The ability to occasionally get a good patch for your game is insignificant next to the power of the network.
Someday you may be right. However, I've been hearing that since 1993 and 'thin client'. Funny how today, most games are still distributed as binaries. Come to think of it, except for chatting, posting, and research, everything I do is encompassed by software distributed as binaries.
-
If you write a stand alone program which is suitable for use and allow for expansion of capabilities in any manner by plugins, the fact that the stand alone program is GPL is absolutely no legal or ethical barrier to a future plugin being proprietary.
If you write a game in a manner similar to ToME for instance, you could easily slap a GPL on the engine part and distribute it with a playable 'coffee break' roguelike content plugin. You can then write and sell a proprietary plugin that adds capability to and expands the GPL'd game. You just can't distribute them together.*
Both of these are tautological. What you have written, you can license in any way you darn well please at any time, whether you've put a license on it that permits those privileges to others or not.
You can release something as GPL, then release the next version proprietary and closed-source if you want to. You can't take back the release of the earlier version, but you aren't under any restrictions due to your own license; you're not licensing the code from yourself, you flatly own it.
Bear
-
If you write a stand alone program which is suitable for use and allow for expansion of capabilities in any manner by plugins, the fact that the stand alone program is GPL is absolutely no legal or ethical barrier to a future plugin being proprietary.
If you write a game in a manner similar to ToME for instance, you could easily slap a GPL on the engine part and distribute it with a playable 'coffee break' roguelike content plugin. You can then write and sell a proprietary plugin that adds capability to and expands the GPL'd game. You just can't distribute them together.*
Both of these are tautological. What you have written, you can license in any way you darn well please at any time, whether you've put a license on it that permits those privileges to others or not.
You can release something as GPL, then release the next version proprietary and closed-source if you want to. You can't take back the release of the earlier version, but you aren't under any restrictions due to your own license; you're not licensing the code from yourself, you flatly own it.
Bear
Ever worked in an open source team environment? You need express permission from every contributor to change the license. Moreover, the license may limit what third party libraries you can use. Consider DC:SS, if the maintainer wants to change the license, they have to get all the contributors to agree. Over the lifetime of any similar open source project, that can add up quickly to a large number of people and it may be difficult to even contact some contributors.
So no those aren't tautologies.
-
The reality today is that everything worthwhile is on a network. If you're distributing binaries of your game, you are doing it wrong (and if you need GPL libraries to write your roguelike game, I'm pretty sure you're doing something wrong there too). The ability to occasionally get a good patch for your game is insignificant next to the power of the network.
Someday you may be right. However, I've been hearing that since 1993 and 'thin client'. Funny how today, most games are still distributed as binaries. Come to think of it, except for chatting, posting, and research, everything I do is encompassed by software distributed as binaries.
I'm right today. Your computer use is atypical. I've never seen my wife play a game less than ten years old on anything but a "thin client." Most people play facebook games, cell phone games, or no games.
Roguelike games are played on "thin clients" too, as much as people cling to the 1993 shareware catalog model updated for web 1.0. If you play roguelike games only on a local system, it's your own mistake.
-
I've never seen my wife play a game less than ten years old on anything but a "thin client." Most people play facebook games, cell phone games, or no games.
You realize you're addressing a group of roguelike fans arguing about a software license right? What about that makes you think ad populum is going to get you anywhere? This is a group of people who at best* only check the state of the mainstream to check where NOT to go, and more likely simply ignore it.
*For the sake of your argument.
-
Ever worked in an open source team environment? You need express permission from every contributor to change the license.
As I said, you flatly own the code you wrote and you can later license it under any terms you want to use. ie, it's code you wrote, so you do in fact have permission from every contributor (of which you are the only one). I did not say you own or can change the license of any code other people wrote. I do not understand how you could possibly have misunderstood me to have said so short of blatantly making stuff up.
Moreover, the license may limit what third party libraries you can use.
Absolutely. You own code you wrote and can relicense it in any way you want at any time. You don't own any third party libraries, and if the license under which you include those libraries doesn't permit you to distribute them with your relicensed code, then you can't distribute those third-party libraries with your relicensed code.
This is all really very straightforward. I don't understand why you're having so much trouble with it. If you don't want to abide by the terms of the license of the third-party libraries, obviously, you can't use those third-party libraries. There was never any pretense that the terms and conditions were any different from the moment you first started using them, so this cannot possibly come as a surprise to you when you have made the decision to relicense your code.
Consider DC:SS, if the maintainer wants to change the license, they have to get all the contributors to agree. Over the lifetime of any similar open source project, that can add up quickly to a large number of people and it may be difficult to even contact some contributors.
So no those aren't tautologies.
That isn't anything like the situation we were talking about, of someone deciding to relicense code that they wrote themselves. That would be someone trying to relicense code that a lot of other people wrote. OF COURSE you can't change the license on code that other people wrote: you don't own that code! What the hell are you even bringing that up for?
-
I've never seen my wife play a game less than ten years old on anything but a "thin client." Most people play facebook games, cell phone games, or no games.
You realize you're addressing a group of roguelike fans arguing about a software license right? What about that makes you think ad populum is going to get you anywhere? This is a group of people who at best* only check the state of the mainstream to check where NOT to go, and more likely simply ignore it.
I don't expect to get anywhere in an argument with crazy people. What I see here is one or more people (apparently including yourself) who ignore what works within the genre, preferring the state of the mainstream in the 90s -- isolated personal computers running binaries on Microsoft operating systems -- to the state of the roguelike mainstream in the 80s and to the state of the broader mainstream today.
The software license is a red herring. There are no GPL libraries that are going to help you so much on a roguelike project that you can't avoid them. Even if there were, you don't have to release your source unless you release your binary, which is unnecessary in the current computing climate.
If you want to write a Crawl, nethack, or Angband variant, you can't complain about their license anyway since they did all the work, so what is this discussion really about? The merits of the GPL in general? Go find a random Slashdot article circa 1999 and you can get your fill of all that's likely to transpire here.
Regarding this business about ownership of code upthread, it's not true that all contributors retain copyright to their code. That is a matter of project policy or can be negotiated on a case by case basis or left unaddressed. It's not true that accepting a patch makes its author a copyright holder in every instance and it does not necessarily prevent you from relicensing your project if you like.
-
That isn't anything like the situation we were talking about, of someone deciding to relicense code that they wrote themselves. That would be someone trying to relicense code that a lot of other people wrote. OF COURSE you can't change the license on code that other people wrote: you don't own that code! What the hell are you even bringing that up for?
What? We obviously are not addressing the same scenarios.
My example is showing how you can legally and even ethically write software under GPL that remains under GPL even though you sell proprietary expansions to it without any change of license to the software..
The base software starts out GPL, stays GPL, is forever GPL. It can use any non-proprietary 3rd party libraries you want (practically speaking). You can write and sell proprietary expansions to that base software as long as you do it in a decoupled manner through one or more public domain (or MIT, Apache, Boost, etc) licensed interface(s).
@mushroom patch: one word; Steam.
-
@mushroom patch: one word; Steam.
Good luck!
-
If you write a stand alone program which is suitable for use and allow for expansion of capabilities in any manner by plugins, the fact that the stand alone program is GPL is absolutely no legal or ethical barrier to a future plugin being proprietary.
If you write a game in a manner similar to ToME for instance, you could easily slap a GPL on the engine part and distribute it with a playable 'coffee break' roguelike content plugin. You can then write and sell a proprietary plugin that adds capability to and expands the GPL'd game. You just can't distribute them together.*
Both of these are tautological. What you have written, you can license in any way you darn well please at any time, whether you've put a license on it that permits those privileges to others or not.
You can release something as GPL, then release the next version proprietary and closed-source if you want to. You can't take back the release of the earlier version, but you aren't under any restrictions due to your own license; you're not licensing the code from yourself, you flatly own it.
Bear
Ever worked in an open source team environment? You need express permission from every contributor to change the license. Moreover, the license may limit what third party libraries you can use. Consider DC:SS, if the maintainer wants to change the license, they have to get all the contributors to agree. Over the lifetime of any similar open source project, that can add up quickly to a large number of people and it may be difficult to even contact some contributors.
Okay, here is the conversation so far. I responded to these two paragraphs, where you specifically talk about licensing code that YOU WROTE - and my point was that this is completely unnecessary because if you wrote it, then you own it. You don't need to license your code from yourself. You responded by talking about code written IN A TEAM ENVIRONMENT - which has absolutely nothing to do with that point.
You're making a good point about plugins written to a publicly documented interface not being constrained by the license of the program that they are plugins for. If someone (or somefifty) creates a GPL game and it takes plugins, the plugins themselves don't have to be GPL. I can license that game via GPL and distribute proprietary non-GPL plugins that use the documented interface of that program to present the user running it with a modified game - maybe my plugin adds a playable race or a set of in-game items or whatever.
I was pointing out that your point about plugins has nothing to do with these two cases you were using to illustrate it. If you wrote the game program in the first place, then making that game program available to others via the GPL places absolutely no restriction on you. As the author of the game, you don't have to abide by any license because you are not a licensee; you are the owner. These are not examples of what the GPL allows you to do unless you're talking about code that you have to license.
Bear
I am tired of talking about licenses now. This is all straightforward and obvious, and the so-called 'misunderstandings' seem to me increasingly contrived and deliberate.
-
I've been thinking about making my game's code free so that I could make a linux version (I can't get freezes working). My idea is that it could be run from sources on linux.
None of the licenses make me happy since I do not want people to make money from my code since open source basically permits that.
Any ideas for my options?
-
There may be some CC license that fits the bill – they have some variants that don't permit commercial use, although I think CC in general is less aimed at software. Also, "non-commercial" clauses may not be valid in every jurisdiction. A solution might be to put out the source code with a regular, non-free copyright notice that forbids people to redistribute the source or compiled versions without your express permission. Just because you open the source to being downloaded doesn't mean it automatically must be free. Then, nice people in the community might well provide you with compiled versions that you can release under a similarly restrictive license.
As always,
Minotauros
-
I've been thinking about making my game's code free so that I could make a linux version (I can't get freezes working). My idea is that it could be run from sources on linux.
None of the licenses make me happy since I do not want people to make money from my code since open source basically permits that.
Any ideas for my options?
GPLv3. https://gnu.org/licenses/gpl.html (https://gnu.org/licenses/gpl.html)
If you want to take a step further to strengthen it, you could at the same time assign your copyright to the FSF (Free Software Foundation). It is at best a keep honest people honest protection, but given your stated purpose it is, to the best of my knowledge, a good solution.
Please don't be confused by the earlier explanations of holes in the GPL, while they exist, they must either be designed in, or consume quite a bit of time to implement, or both.
-
There may be some CC license that fits the bill – they have some variants that don't permit commercial use, although I think CC in general is less aimed at software. Also, "non-commercial" clauses may not be valid in every jurisdiction. A solution might be to put out the source code with a regular, non-free copyright notice that forbids people to redistribute the source or compiled versions without your express permission. Just because you open the source to being downloaded doesn't mean it automatically must be free. Then, nice people in the community might well provide you with compiled versions that you can release under a similarly restrictive license.
As always,
Minotauros
What I'd really love to do is to put a CC license, I fail to see why it isn't recommended for softwares. Other thing would be to add a LICENSE.txt that would contain one line "YOU MAY ONLY USE THIS SOURCE CODE TO RUN AND PLAY THE GAME". I have no idea would it be valid license then.
GPLv3. https://gnu.org/licenses/gpl.html (https://gnu.org/licenses/gpl.html)
If you want to take a step further to strengthen it, you could at the same time assign your copyright to the FSF (Free Software Foundation). It is at best a keep honest people honest protection, but given your stated purpose it is, to the best of my knowledge, a good solution.
Please don't be confused by the earlier explanations of holes in the GPL, while they exist, they must either be designed in, or consume quite a bit of time to implement, or both.
I thought that GPL licenses are meant for commercial use too http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
-
I thought that GPL licenses are meant for commercial use too http://www.gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Yes and no, yes someone could sell binaries + source legally. What they can't do is take your GPL'd source and make it their own proprietary source. Any modification they would do to the source would need to be distributed in source form along with any binaries.
In the practical sense, why would anyone buy the product that you are giving away for free? Any attempt, using a modified codebase, could simply be countered by incorporating the modifications into your codebase that you continue to give away for free.
An honest person has no need to pay, and a dishonest person has no desire. So technically yes, practically no.
Note that this is the flip side of the 'using GPL for commercial software' situation. In that situation, the only reason you get income is because you are the author. That is similar to a shareware type of situation, or even a 'donation' situation. Simply honest people doing the honest thing.
PS: Don't fall into the trap of trying to protect your code and binaries from dishonest people, you can't. Even closed source commercial efforts are subject to piracy and reverse engineering.
PS 2: CC BY-NC-ND license may possibly be applicable, but I hesitate to recommend it for three reasons; it is not intended for software, it rests upon public domain as a foundation, and finally, as far as I'm aware, it hasn't been subjected to the same degree of legal tests as GPL thus I don't place quite as much confidence in it.
-
One thing to note about CC licenses and software, the copyleft 'share-alike' version has a critical flaw with regard to software, they don't require distribution of source code, so it simply does not work, because someone can release binaries without source, effectively defeating the purpose of copyleft.
If you want to use one of the 'noncomercial' variants, that should more or less do what you want, though I'm personally not a fan of that clause, I treat it as simply 'non free' and generally ignore anything with this license (like I do with most commercial works).
CC 'by attribution' is also unaffected by being applied to software, modifiers and redistributors are prohibited from removing attribution present in the work.
CC-ND is dead to me, it might as well be all rights reserved.
Writing your own license merely indicates intent, they will generally not hold up in court. You may or may not care.
-
None of the licenses make me happy since I do not want people to make money from my code since open source basically permits that.
I think the fear of getting ripped off is not very likely these days. Unless your source code is extremely easy to re-use. For example all, I mean totally all roguelike source codes I've seen are either bad or really bad examples of programming. Well, except Teemu (my small roguelike-ish game), but even it could be better. Add to that the fact that it's easier to write your own engine/whatever from the scratch than try to understand some mongoloid's ideas of programming.
What is important is the gameplay content, but it should be copyrighted, especially if you are using your own role-playing system and other content. It's not ok to simply copy that with small changes and sell the game.
-
None of the licenses make me happy since I do not want people to make money from my code since open source basically permits that.
I think the fear of getting ripped off is not very likely these days. Unless your source code is extremely easy to re-use. For example all, I mean totally all roguelike source codes I've seen are either bad or really bad examples of programming. Well, except Teemu (my small roguelike-ish game), but even it could be better. Add to that the fact that it's easier to write your own engine/whatever from the scratch than try to understand some mongoloid's ideas of programming.
What is important is the gameplay content, but it should be copyrighted, especially if you are using your own role-playing system and other content. It's not ok to simply copy that with small changes and sell the game.
Yeah. I'm just thinking about what if -scenarios and my principles. My code is probably the very definition of spaghetti code plus it's totally without comments as I understand and remember everything.
Content and my rules however I'm not interested in copyrighting. Just the code since I do mind if someone makes a total conversion.
-
My code is probably the very definition of spaghetti code plus it's totally without comments as I understand and remember everything.
If it's ascii roguelike then it's even more unlikely that someone is seeing any commercial potential in it. Usually commercial game developers already know what they are doing, especially when developing complex games which roguelikes are. Even open source developers can reject the code if it's bad, because better source codes are available. If you look at variant development it's pretty obvious that Angband is a winner, because it is easier to fork than other games. Nethack is an example from the other extreme, very few programmers even want to touch it. I think serious programmers are proud kind of people and most often want to do things their way, because managing a big source code is way easier when it's written in your own coding style.
-
Please don't be confused by the earlier explanations of holes in the GPL, while they exist, they must either be designed in, or consume quite a bit of time to implement, or both.
Please stop pushing the GPL and tellling people it's their solution, and not to worry, because things will be okay. It's wrong. Because you are not offering a guarantee that your claims are correct, just assurances.
Aukustus, if you want to be sure the GPL offers you the protections you want for your code, ignore all of Omnivore's posts. He has continually been giving flawed advice. Read the GPL. Consider how you could use someone else's code, in different ways, were it licensed that way. Consider how you don't want your code used, and how the license prevents or allows that. It should be very clear that it either protects you enough, or it doesn't. If it isn't clear enough, then GPL is not for you. Anyone who offers any other advice, likely has an agenda like Omnivore.
There are too many people who believe in the cause. Who push the GPL. Who wave aside any problems, and questions of unsuitability, without guarantees. But they assure you, yes the GPL is the one for you. Maybe it is, but the fact they present it this way is a bad sign that something smells. Read the license, decide for yourself.
-
Please don't be confused by the earlier explanations of holes in the GPL, while they exist, they must either be designed in, or consume quite a bit of time to implement, or both.
Please stop pushing the GPL and tellling people it's their solution, and not to worry, because things will be okay. It's wrong. Because you are not offering a guarantee that your claims are correct, just assurances.
You have a serious case of reading comprehension failure.
Aukustus, if you want to be sure the GPL offers you the protections you want for your code, ignore all of Omnivore's posts. He has continually been giving flawed advice. Read the GPL. Consider how you could use someone else's code, in different ways, were it licensed that way. Consider how you don't want your code used, and how the license prevents or allows that. It should be very clear that it either protects you enough, or it doesn't. If it isn't clear enough, then GPL is not for you. Anyone who offers any other advice, likely has an agenda like Omnivore.
Yes I have an agenda, I want to see more open source roguelikes, don't particularly care what open source license is used. But since you can't read English you just don't get it.
Read the license, decide for yourself.
Which is exactly the advice I gave... repeatedly.. with links.
-
It's clear that GPL does not fit my needs as I explained no commercial use. I think I'll stay for now with being closed source at the expense of no linux version.
-
Closed source won't prevent you from making a linux version. You can make a binaries that will run on over 90% of linuxes if you compile for AMD64 and IA32 with the current kernel.
-
Closed source won't prevent you from making a linux version. You can make a binaries that will run on over 90% of linuxes if you compile for AMD64 and IA32 with the current kernel.
It's true. However I have problems with paths when making freezes.
-
It's clear that GPL does not fit my needs as I explained no commercial use.
I think you overestimate the danger of commercial abuse. It most probably wont happen to a roguelike game. Actually often existing source code is more difficult to use in another game project especially if you need to add lots of stuff. It's probably easier to start from scratch (or with basic framework that are quite rarely seen in roguelike project source codes I think (someone correct me if I'm wrong)).