otland / forgottenserver

A free and open-source MMORPG server emulator written in C++
https://otland.net
GNU General Public License v2.0
1.59k stars 1.06k forks source link

Adoption of another license: Affero, BSD/MIT? #1811

Closed ranisalt closed 6 years ago

ranisalt commented 8 years ago

We currently use GNU GPL, whose requirement is if someone makes change to the source code and publishes a modified version of the server, those modified sources should be published alongside. This seems fine, but it does not cover if one modifies the server and does not publish, but rather hosts it, he is not required to publish source code too.

This leads us to lots of unfortunate situations: some servers support up to the most recent protocol, while we still didn't update to 10.9x properly (#1715); some claim flash client support while we are still discussing it (#1570); and while I can't guarantee, I'm pretty sure some servers might have huge performance fixes, which we do not have access to merge into TFS.

My suggestion is we "upgrade" the license to Affero GPL, which is essentially GNU GPL with the added requirement that if the modified software is hosted and publicly accessible, it's source must be published too. In other words, "network usage" is considered "distribution" for all purposes. It would solve this issue once and for all (provided it's an issue, of course).

Keep in mind it protects only the source code and not the scripts. This means no server will stop being unique just because it has to release sources, instead the entire community can benefit from beforementioned improvements.

Here's a good text explaining why/when to use Affero and here's the full text.

kornholi commented 8 years ago

do you really think this would change anything?

marksamman commented 8 years ago

I think GNU GPL is fine. Yes, it would be great if everyone who has made improvements to the server would contribute them, but I don't want anyone to feel forced to do so. I'm not opposed to people keeping changes to themselves.

We also can't relicense the source code without the permission from everyone who has contributed (including some @opentibia contributors), unless we rewrite the code of everyone who hasn't given us their permission to relicense. I also wouldn't be ready to dedicate time to chase people who violate the license, so @kornholi's comment is on point.

ranisalt commented 8 years ago

do you really think this would change anything?

Yes and no. No, because I don't we're even capable of watch over and legally pursue those who break the license, but yes everyone that keeps modifications to themselves will be oficially against the license, not just exploring some breach. It's more semantical than practical.

I think GNU GPL is fine. Yes, it would be great if everyone who has made improvements to the server would contribute them, but I don't want anyone to feel forced to do so. I'm not opposed to people keeping changes to themselves.

Yes, that's the point. I don't think GPL is fine because of that forcing people to publish, something we already can't control. A BSD or MIT license would suit best since it gives more freedom and people who contribute still would do so, it's not a license that guides us, yet it doesn't force anyone to do anything with the code :heart:

I like more the approach of "do what you want" and make people aware of how contributing voluntarily is nice rather than force by licensing :smile:

This is of course something to be discussed with Open Tibia guys too, but their repository seems abandoned.

Affero is compatible w/ GPL, though.

marksamman commented 8 years ago

Yes, I generally prefer BSD/MIT license over GPL because it gives the user more freedom, but out of respect to the contributors and @opentibia developers we shouldn't change the license without their permission and I don't think it makes much sense for BSD/MIT in a server project. I only see downsides with that such as people selling improved versions of the server and being able to provide trial versions in binary-only form. It makes more sense for a client project like OTClient where you distribute the binary to the end-users, which IIRC is already MIT.

djarek commented 8 years ago

I don't think changing the license would change anything. Even the GPL is blatantly violated in the community and usually no one cares about it (I've seen a lot of people upload obviously modified TFSes on otland.net without providing access to the source code). People in general don't have much regard for software licenses - changing the license would give us legal tools, but seriously, do we have the resources to do a "witch hunt"?