Advertisement

I have a small question about the GPL..

Started by June 24, 2005 03:59 PM
64 comments, last by GBGames 19 years, 3 months ago
Quote: Original post by Coz
Let's say I have a game that has 2 programs. One is a client for players to use, and the other one is a server. Both use GPLed code.

I understand that I have to give the client's code if requested to any third parties, however, if the server binaries and code are only used in my team's computers, if they don't distribute it, do I have to give my server's code because it is used as a part of the game, even if it's separated from the binaries given to the public?



By the way, no. The GPL covers distribution. Did you give the server program to anyone else? If so, you either need to give them the source code or provide access to the source code upon request.

In fact, you don't even have to give away your art, sound, or other data. If you want to license those as proprietary or under a different license, you can. There are companies that sell what is called "open source shareware" in this way. I am actually planning to start a company that makes open source shareware. The game code is Free, but the game itself (the data and media) is not.
-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Quote: Original post by GBGames
In the first case, I am told that I don't have the freedom to do what I want. In the second case, I can do whatever I want except take away the same rights from others.


Thats that sticking point. If I start Project B, and it uses code from Project A, making Project B use a more restrictive license (or completely closed) then A in no way effects the freedom of A. It might make me a complete dick, but it is not "taking away the same rights of others". Said others can always go grab Project A and its still free.
Advertisement
Back to the original poster's point...

You're talking about a game client and a game server. Firstly, if you are the developer of the software in its entirety, then you can basically do whatever you like.

The GPL only restricts people you licence it to under the GPL, NOT the original copyright owner, or people who you choose to licence it to under other (non-GPL) licences.

Therefore, if you decided that:

1. You'd GPL your client code
2. In order to do so, you'd GPL the common, client & server code
3. You won't GPL the server code,

That's absolutely fine. If you provide someone (say the server hosting provider), with a licence to run the server, which includes code you've licenced elsewhere as GPL, but also includes code you've licenced under a more restrictive licence (i.e. "Just run it and do nothing else"), that's fine. The GPL does not cover this particular copy of the common code, and the hosting provider may not give copies of the executable or source code away, EVEN IF part of it is licenced elsewhere under the GPL.

That's my view of it anyway

Mark
Quote: Original post by Tinyn
Quote: Original post by GBGames
In the first case, I am told that I don't have the freedom to do what I want. In the second case, I can do whatever I want except take away the same rights from others.


Thats that sticking point. If I start Project B, and it uses code from Project A, making Project B use a more restrictive license (or completely closed) then A in no way effects the freedom of A. It might make me a complete dick, but it is not "taking away the same rights of others". Said others can always go grab Project A and its still free.


I couldn't quite follow what you mean, but I assume you're saying something like Project B will have a proprietary license while Project A had license under the GPL. If that's the case, it doesn't just make you a dick. It means you are infringing on copyright. You either agree to abide by the terms of the agreement, GPL or not, or you can't make use of the code in your own project. Simple as that.

When you close the source, you are not giving the freedom guaranteed in the GPL to others in kind. Yes, they can go check project A's source, but you are using that source and preventing others from looking at your code. This isn't the same as something under a license like BSD or MIT where you can change the terms of the license. The GPL requires you to abide by certain terms, and you would be in violation of those terms. When you distribute your project, you are also required to license it under the GPL.

You don't want to do that? Then don't use code under the GPL in your own project. It is as simple as that. Other people are perfectly happy to do so, because they want to guarantee that someone doesn't do what you just said. Some people use the GPL because they want to guarantee that someone else will also have the freedom they had with the software.

WineX/Cedega is an example of a project that was a fork of a project licensed under different terms. They promised to donate code at a later time. That time hasn't occurred yet. So the Wine project changed its terms so such a thing can't happen in the future. Some people use the GPL and similar licenses so that a project can't be forked, closed, and take away development from the original project.

Other people don't care about such situations. The MIT/BSD/etc licenses are perfect for their projects. Other people do care. And that's why if people are going to release their code "anyway" they might release it under the GPL instead of into the public domain or one of those other licenses. If you want to have different terms for Project B, then make sure Project A has license terms that allow it. Otherwise, you can't just sit there and claim that the code is available anyway. That's not how the license works and it isn't how copyright works.

-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Threads like these are one of the reasons why I really, truely dislike the GPL. Most people don't understand it. If I were ever to open source any of my code, I would release it under the zlib license. It's clear, concise, and it doesn't force your code that links against it to be open.
Quote: Original post by smr
Threads like these are one of the reasons why I really, truely dislike the GPL. Most people don't understand it. If I were ever to open source any of my code, I would release it under the zlib license. It's clear, concise, and it doesn't force your code that links against it to be open.


Interesting, what code have you released under this zlib license?
Advertisement
Quote: Original post by Anonymous Poster
Interesting, what code have you released under this zlib license?


I've never released any code under the zlib license. But if I ever considered creating an open source product, I would use the zlib license or simple release it as public domain.

Quote: Original post by GBGames
Other people don't care about such situations. The MIT/BSD/etc licenses are perfect for their projects. Other people do care. And that's why if people are going to release their code "anyway" they might release it under the GPL instead of into the public domain or one of those other licenses. If you want to have different terms for Project B, then make sure Project A has license terms that allow it. Otherwise, you can't just sit there and claim that the code is available anyway. That's not how the license works and it isn't how copyright works.


Maybe my previous post should have started out with "If the GPL didn't exist..." I thought the goal was if you want to make Project A free, you label it GPL, it then it will stay free. But thats not what it does. Under bsd/zlib/etc Project A is still free. Just because someone else uses it does not effect the freedom of project A. The viral nature of the GPL has nothing to do with the GPL's stated goal.

Ignoring copyright, if I post code in the net, every bit of common sense I think I have says I shouldn't have any control over it any more. Its out there and its gone. Proprietary companies get this, and thats why they keep it locked up, even though technically they could post it on their web page with a disclaimer saying "You don't have any rights or license to this'. Some open projects like Apache get this, and don't even try to control the code.

But the GPL has this notion that it can scatter its code all over the net, yet still excerise control over where and how it is used. Under copyright law this is true, but maybe either copyright is wrong, or maybe the GPL is, but the whole thing is just completely out of touch with reality. To back this up, while I'm sure someone can name a few GPL commerial products (like I dunno, MySQL), they can not name a single GPL commercial product that is aimed at a home user. The only case where the GPL allows commercial work that actually works is when it is used by a corporation can you can use litigation (or the threat of) to enforce it. Against the home market that doesn't work, and without the lawyers to violate common sense, it becomes pure sillyness.

The whole thing is such a mess it makes me doubt the sanity of anyone who doesn't want their license to be pure 'fire and forget' like BSD. And only then because last I knew there was some legal issues about how 'public domain' doesn't actually exist.


The server and client do not share code. They could but I didn't do them in that way.

It doesn't has any GPL code in it yet.

What I am worried about is that if I make the client aviable, since it has to work with the server, they could be considered as a whole since the game won't work without one of those 2 parts, thus, I would have to give the server code away.

Also, thanks to Kwizatz, ArmitageIII87, anonuser, Will F, markr and GBGames for their helpful posts.
Quote: Original post by smr
Quote: Original post by Anonymous Poster
Interesting, what code have you released under this zlib license?


I've never released any code under the zlib license. But if I ever considered creating an open source product, I would use the zlib license or simple release it as public domain.

As a spinoff of this comment... can't one release only a binary distribution of a lib and have it be GPL? GPL doesn't imply open-source does it (for the licensor)?

This topic is closed to new replies.

Advertisement