Page 1 of 1

License

Posted: 03 Dec 2011, 23:05
by Alige
I am pretty lost with all the things related to license. I already searched on the internet about GPL and everything else but I am quite lost about TMW.

1) Is everything in TMW, under the GPL license or what? And also what would that mean?
2) Would someone be alowed, according to laws, to sell the client over the internet? And also, why?
3) What would be the things to do, about license stuff, if someone would like, lets say create a client for iphones, ipods and ipads and sell it on the app store?

I think it would be great if everyone could learn from this topic.

Regards,
Ali.

Re: License

Posted: 03 Dec 2011, 23:13
by argul
1) Read this http://www.gnu.org/licenses/gpl-2.0.txt

2) Yes you are allowed to sell the software. (But you'd need to deliver sources)

3a) An iphone client could be created from scratch (only graphics/sound are then gpl), so you may have the chance to create a client which does not rely on any gpl'd software, so you can do whatever license you like.

3b) Assuming you don't want to do it from scratch: You are using/modifying gpl so you need to redistribute using gpl.

Re: License

Posted: 03 Dec 2011, 23:17
by Crush
Ali-G wrote:I am pretty lost with all the things related to license. I already searched on the internet about GPL and everything else but I am quite lost about TMW.
That surprises me. There is really a lot of material about the GPL online which should answer your questions.
Is everything in TMW, under the GPL license or what?
Yes.
Would someone be alowed, according to laws, to sell the client over the internet? And also, why?
Yes, the GPL allows you to take a fee for distributing. But doing so isn't a sustainable business model, because when you sell it, you have to license it to your customer under the GPL. That means you have to give everyone you sell it to the sourcecode and the right to also distribute it. That means your customers can underbid you.
What would be the things to do, about license stuff, if someone would like, lets say create a client for iphones, ipods and ipads and sell it on the app store?
Porting the Mana client to the iOS platform isn't trivial. As far as I know you must program applications for that platform in Objective-C and none of the libraries the Mana client uses is available on that platform.

Creating a new client from scratch without using the original source would be easier. When you don't use any of the original code of the Mana client, you are no longer forced to license it under the GPL and can choose your own license terms.

When one would sell GPL software on the app store, you would have to do what you have to do with all GPL software:
1. make the customers aware that they buy software licensed under the GNU GPL
2. make it possible for the customers to get the sourcecode
3. allow the customers to compile the sourcecode and resell the app (although when you trademark the name of the application, you can force them to use a different name. The Mozilla Foundation, for example, is using this loophole to protect the Firefox brand)

Re: License

Posted: 03 Dec 2011, 23:29
by Alige
Crush wrote:Yes, the GPL allows you to take a fee for distributing. But doing so isn't a sustainable business model, because when you sell it, you have to license it to your customer under the GPL. That means you have to give everyone you sell it to the sourcecode and the right to also distribute it. That means your customers can underbid you.
Crush wrote:Creating a new client from scratch without using the original source would be easier. When you don't use any of the original code of the Mana client, you are no longer forced to license it under the GPL and can choose your own license terms.
Oh, but if I create my own IOS client (which means in a private license), by myself, and that it forces the player to join a server made by myself too, but with some content from TMW, I guess he cannot do what you just described since he would need to use the client I made. Am I right?

Re: License

Posted: 03 Dec 2011, 23:43
by Crush
Ali-G wrote:Oh, but if I create my own IOS client (which means in a private license), by myself, and that it forces the player to join a server made by myself too, but with some content from TMW, I guess he cannot do what you just described since he would need to use the client I made. Am I right?
So you have a completely different software which is only connected to TMW/Mana by the content it uses?

In that case the GPL would only apply to the content. Your users have the right to use the content from TMW under the GNU GPL and all content based on it ("derivate works") would also be GPL.

Re: License

Posted: 04 Dec 2011, 00:01
by Alige
As I currently understand, I can have a private license to what I make myself, which would be for example the client for the IOS. However, all the content in the server, since it is GPL, could be taken. But since the person will not have the client, he won't be able to use the content for iPhone. I guess that it is good that way.

Well, my next objective is to create this new client! :)

Thanks a lot Crush for your precious help, you have been very helpful and informative as always.
Ali.

Re: License

Posted: 04 Dec 2011, 00:57
by o11c
Please note that it is illegal to use GPL code on iPhone, unless you wrote all of it or otherwise acquired permission to use it outside the terms of the GPL. You can't even look at the GPL code when writing your program.

And I don't think well of your chances of writing the network layer without looking at either the client or the server.

Re: License

Posted: 04 Dec 2011, 02:33
by Crush
Ali-G wrote:Well, my next objective is to create this new client! :)
Thanks a lot Crush for your precious help, you have been very helpful and informative as always.
Good luck with that. Keep in mind that the original client took several years to develop by dozens of contributors. When you go commercial, don't think that anyone will give you any help without wanting a slice of your income.

By the way, my help is only free for open source projects. When you are commercial, my hourly rate for consulting, support or programming is 50€ (and that's cheap - the company I work for takes 64€ from our customers for every hour I work).
o11c wrote:You can't even look at the GPL code when writing your program.
I think that interpretation of the GPL is a bit too strict. There are a lot of open source programs which implement protocols and file formats of proprietary programs (instant messenger, word processors etc.). Why shouldn't proprietary programs be allowed to do the same thing?

Re: License

Posted: 04 Dec 2011, 02:56
by o11c
Crush wrote:
o11c wrote:You can't even look at the GPL code when writing your program.
I think that interpretation of the GPL is a bit too strict. There are a lot of open source programs which implement protocols and file formats of proprietary programs (instant messenger, word processors etc.). Why shouldn't proprietary programs be allowed to do the same thing?
I'm not saying you're not allowed to implement the protocol proprietarily. I'm just saying it has to be done without being a derivative of GPL code.

A good example is the .rar compression format. There is GPL code to decompress 1.x and 2.x formats, but not 2.9 or 3.x, because although the source is publicly available, derivative products cannot use another license. However, reverse engineering the binary is always possible - this is probably how sometime this year they finally implemented it: http://www.fsf.org/blogs/licensing/free ... extraction And this took how many years, as one of the FSF's high priority projects?

Re: License

Posted: 04 Dec 2011, 12:27
by argul
You can also write a library, which is gpl and does the network handling.

The non-gpl'd client itself would just link to the lib and you're fine :)

Re: License

Posted: 04 Dec 2011, 12:42
by Crush
argul wrote:You can also write a library, which is gpl and does the network handling.

The non-gpl'd client itself would just link to the lib and you're fine :)
No, a pure GPL library may only be linked by GPL software. You can only do that with code licensed under the LGPL (Lesser GPL or Library GPL). The LGPL is identical to the GPL except that it allows to be linked as a library by non-gpl software. Also, because the LGPL is less strict than the GPL, you can not relicense GPL code as LGPL without the consent of the author.

Re: License

Posted: 04 Dec 2011, 12:50
by argul
Crush wrote:
argul wrote:You can also write a library, which is gpl and does the network handling.

The non-gpl'd client itself would just link to the lib and you're fine :)
No, a pure GPL library may only be linked by GPL software. You can only do that with code licensed under the LGPL (Lesser GPL or Library GPL). The LGPL is identical to the GPL except that it allows to be linked as a library by non-gpl software. Also, because the LGPL is less strict than the GPL, you can not relicense GPL code as LGPL without the consent of the author.
Right, I forgot the small detail! ;)