Log in

View Full Version : Re: About GPL3 req's for open src?


xurai724
09-21-2022, 12:26 AM
To follow-up on the GPL3 req to share src code:

https://www.project1999.com/forums/showthread.php?t=394739

I'm not sure why this was closed (there was no staff comment), but if it's a GPL3 req to share the src code (and not the db), where can I find the src? It'd be cool to revive Red with some new rules, for example. I understand the db would be painful to recreate, but GPL3 grants anyone the chance to try.

xurai724
10-14-2022, 02:38 AM
Heya, just a friendly follow-up. Again, no obligation to share the DB since that's not GPL3'd! For any rare custom mysteries like a particular spawn time you want removed [although probably against GPL3], I'm sure no one would object that those would be reverted (with comments). I'd love to take a poke at the code the GPL3 license offers!

You guys said it yourselves - you're not even interested in Luclin, and clearly have no interest in pvp. It's a legal obligation to share, anyway, and without the db - we probably won't even get far. Why not at least give us the opportunity to try since bound by GPL3 to share it, anyway? The same opportunity p99 got by the same GPL3 license~ but with a nice headstart.

Perhaps toss us a repo link? Due to GPL3, whoever forks would have to share their code, too! You may find some cool results.

loramin
10-14-2022, 10:52 AM
The EQ emulator software can be found here:

http://www.eqemulator.org/
https://github.com/EQEmu/Server

The P99 modifications to it are not open sourced (ie. are not GPL3), and therefore the staff has no obligation to share it.

magnetaress
10-14-2022, 11:19 AM
loramin correct

Infectious
10-14-2022, 12:00 PM
Check out the wiki. It has a ton of great advice. I've done alot of work the past year getting everything up to date. Any questions Dm me.

xurai724
10-14-2022, 10:04 PM
I'd really like to start from P99's template, though - since GPL3 requires you open source your work (including modifications), there's no need to reinvent the wheel. The modifications are included - just not the db. Folks don't GPL3 so you make 1 word change to the README and close the source.

Kich867
10-15-2022, 12:41 AM
Pretty sure they aren't required to do anything, I'm not sure what you're talking about.

Gustoo
10-15-2022, 12:57 AM
I think the argument is that if everyone who made a change to GPL3 no longer was obligated to share their work, since it diverged from the original, the entire point of GPL3 seems to be negated.

I don’t know anything about it at all
Tho

xurai724
10-15-2022, 02:46 AM
I think the argument is that if everyone who made a change to GPL3 no longer was obligated to share their work, since it diverged from the original, the entire point of GPL3 seems to be negated.

I don’t know anything about it at all
Tho

Yep, this. As a developer, myself, I don't mess with GPL3 licenses unless my code is open source. If it was MIT license, P99 devs could do anything they want with it - close the source, etc.

GPL3, though? If you use it, you are legally obligated to share what you made with it open src; that's the point of the license; essentially "You use it, you share it". Since P99 is derived from a GPL3 license, P99 code should technically already have been open source from day 1.

Jimjam
10-15-2022, 03:17 AM
It’s okay, Rogean conceded the next two dragons so it is water under the bridge.

xurai724
10-15-2022, 03:24 AM
The GPL is a “copyleft” software licence[1] published by the US-based Free Software Foundation.[2] This means that where a program or other work licensed under the GPL is incorporated (see section 4 below) in a second work, then that second work (if distributed to others) must also be licensed on the terms of the GPL (or a compatible license).

In general terms, if you use GPL-licensed code in your program that you wish to distribute to others, then you must also license your program under the GPL.

For example, if a developer writes and distributes Program A that incorporates a third party’s Library B which is licensed under the GPL, Program A must also be licensed under the GPL. It should be noted that Program A does not automatically become licensed under the GPL just because it incorporates Library B, but it would breach the terms of Library B’s licence if Program A was distributed under a non-GPL licence.

or TL;DR: As soon as you distribute it, it needs to be GPL3. I'm not trying to sound douchey, just observant - currently, it's a closed license, as if the P99 devs own EQ's IP or have a private license (rather than GPL3).

That's why EqEmu is open source (https://github.com/EQEmu/Server#-windows) - it's not just out of the goodness of their hearts. They are GPL3'd, too (https://github.com/EQEmu/Server/blob/master/LICENSE).

Jimjam
10-15-2022, 03:57 AM
The server end stuff isn’t distributed though?

loramin
10-15-2022, 10:57 AM
or TL;DR: As soon as you distribute it, it needs to be GPL3. I'm not trying to sound douchey, just observant - currently, it's a closed license, as if the P99 devs own EQ's IP or have a private license (rather than GPL3).

That's why EqEmu is open source (https://github.com/EQEmu/Server#-windows) - it's not just out of the goodness of their hearts. They are GPL3'd, too (https://github.com/EQEmu/Server/blob/master/LICENSE).

This. I've been down this very same road before OP, and the issue is that P99 never distributes their fork of EQ Emu (they just use it to power their undistributed server).

Darksinga
10-15-2022, 12:34 PM
Trust me when I say, even with P99 open source, you won’t even be able to run the game without an exact copy of the database.

Before the server can even start, you will need every column in the DB to match, on its hundreds of tables.

The only thing it would be good for is to reverse engineer some features for your own version of the server, which would probably start at EQ Emu and be so drastically different you’d be better off to start from scratch.

Im not saying P99 shouldn’t go open source, but, just letting you know I highly doubt it would help your project.

Jibartik
10-15-2022, 12:54 PM
Ive always wanted to start with a titanium server, and just customise it, how difficult is it to figure out? Last time I tried I was like, f**************k this.

Kich867
10-15-2022, 01:37 PM
Yep, this. As a developer, myself, I don't mess with GPL3 licenses unless my code is open source. If it was MIT license, P99 devs could do anything they want with it - close the source, etc.

GPL3, though? If you use it, you are legally obligated to share what you made with it open src; that's the point of the license; essentially "You use it, you share it". Since P99 is derived from a GPL3 license, P99 code should technically already have been open source from day 1.

They're legally obligated? Hit up a lawyer dawg you got this! :rolleyes:

Jimjam
10-15-2022, 02:47 PM
Having server/client source but no db would sure make hacking creating my own empty server easier!

azxten
10-15-2022, 07:51 PM
The server end stuff isn’t distributed though?

Correct. Someone bumped my old post? Funny. The devs have a strict policy of never responding to me.

xurai724
10-16-2022, 09:48 AM
Trust me when I say, even with P99 open source, you won’t even be able to run the game without an exact copy of the database.

Before the server can even start, you will need every column in the DB to match, on its hundreds of tables.

The only thing it would be good for is to reverse engineer some features for your own version of the server, which would probably start at EQ Emu and be so drastically different you’d be better off to start from scratch.

Im not saying P99 shouldn’t go open source, but, just letting you know I highly doubt it would help your project.

Whether or not I am successful is moot -- and whether or not it's open source isn't necessarily "if" they should -- it's "when" since they are legally bound to share it.

(They were legally supposed to open src it from day 1 or they are making a silent assertion that they own the intellectual property of EverQuest -- or, at least, a private license that's !GPL3, which isn't the case. It's essentially a slap in the face to Daybreak's legal dept).

This. I've been down this very same road before OP, and the issue is that P99 never distributes their fork of EQ Emu (they just use it to power their undistributed server).

Distributions include releases - not just source. If this was the case, we could commercialize anything GPL3 and simply never release the src code.

I came up with a little toon to assist: ♫ If you bend the knee to GPL3, distribution or open source tree, you must share the code to prevent legal load. ♫

They're legally obligated? Hit up a lawyer dawg you got this!
Heck, not obligated to any of us -- just Daybreak. However, if they are aware of the breach and ignore it, it sorta casts Malaise on the devs. Since Daybreak has been on a frenzy loading up progression servers (including premium ones), a simple mgmt change could get P99 shutdown (and they've been having a ton of internal changes). Opening up the src would keep them safe, preventing a license breach.

xurai724
10-16-2022, 11:13 AM
preventing a license breach.

Resolving* a breach, rather (they're already in breach).

loramin
10-16-2022, 12:14 PM
Distributions include releases - not just source. If this was the case, we could commercialize anything GPL3 and simply never release the src code.

Read the FAQ on the GNU site itself (https://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods) (emphasis added):

A company is running a modified version of a GPLed program on a web site. Does the GPL say they must release their modified sources?

The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources. The situation is different when the modified program is licensed under the terms of the GNU Affero GPL.

Compare this to a situation where the web site contains or links to separate GPLed programs that are distributed to the user when they visit the web site (often written in JavaScript, but other languages are used as well). In this situation the source code for the programs being distributed must be released to the user under the terms of the GPL.

Is “convey” in GPLv3 the same thing as what GPLv2 means by “distribute”?

Yes, more or less. During the course of enforcing GPLv2, we learned that some jurisdictions used the word “distribute” in their own copyright laws, but gave it different meanings. We invented a new term to make our intent clear and avoid any problems that could be caused by these differences.

loramin
10-16-2022, 12:18 PM
And again, I'm speaking as someone who had the same misunderstanding, and was disabused of it in this long thread: https://www.project1999.com/forums/showthread.php?t=395987

PabloEdvardo
10-17-2022, 11:44 AM
This is a dangerous topic to broach simply because around here we don't complain or criticize the devs and their decisions. This is their project, their forum, and they prefer to keep it that way.

As a software developer and someone who at one time worked on the eqemulator codebase (prior to p99 even existing), I'm definitely of the belief that it should be kept open source including all custom derivatives, and that arguing the semantics over distribution in GPL would likely not hold up well in court.

However, the stable legal situation that p99 managed to carve out for itself means even if the situation is less-than-ideal to some of us, we appreciate knowing the project isn't being shut down tomorrow from a DMCA.

loramin
10-17-2022, 01:14 PM
This is a dangerous topic to broach simply because around here we don't complain or criticize the devs and their decisions. This is their project, their forum, and they prefer to keep it that way.

Your second sentence is 100% correct, but your first sentence is way off. As you can see from the thread I linked, the staff here happily let me spout falsehoods about the project for pages and pages, without intervention.

Eventually I understood my mistake and apologized, but the point is they are extremely open to letting people say just about anything in these forums, as long as it isn't a direct attack on them (and sometimes even then).

Honestly, I wish they moderated suff like hate speech more, but in general I have great respect for how much they allow people to say nearly anything here.

Chortles Snortles
10-17-2022, 11:27 PM
i bet you feel pretty silly right now

xurai724
10-18-2022, 04:12 AM
Read the FAQ on the GNU site itself (https://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods) (emphasis added):

First, this was misread:


The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them.


This is simply saying you can use it INTERNALLY within the company, or for private use. IF you release it, you must open src it. This is why GPL3 is called the "viral" license, since any GPL3 item in your repo turns the ENTIRE codebase GPL3. That's the point of GPL3.

Even then, the second paragraph actually applies to authoritative code like that:


Compare this to a situation where the web site contains separate GPLed programs that are distributed to the user when they visit the web site (often written in JavaScript, but other languages are used as well).


It's not just the server sending static info - the client is making requests to the server => they could either (A) distribute nothing, or (B) respond with data (a distribution). Combined with this note directly from the GPL3 license (rather than your GNU general philosophy of their collection of licenses not specific to GPL3):


For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.


It can't get much more clear than that. From the GPL3 license, itself.

This quote is directly from the gpl-3 license (https://www.gnu.org/licenses/gpl-3.0.txt) while your quotes were generalizing GNU licenses (there are multiple kinds of GNU licensing - it's easy to make a misconception if you quote from a GNU Generalization rather than directly form GPL3).

GPL3 is called a "viral" license because once you add a GPL3 item to your code, ALL code (including modified) becomes GPL3. If it's GPL3'd, you need to open src it. Heck, if you had a GPL3 README text file, your entire codebase becomes GPL3. Distributions include binaries and server responses (called "Object Code" in the terms). Very plain. Very clear.

loramin
10-18-2022, 11:25 AM
Look, regular law is hard, for lawyers. You're a non-lawyer, trying to grok highly technical law just by reading a few sentences ... and that doesn't work.

So don't trust me: trust the experts. Just google "gpl3 server loophole" and at the top of the very first link (https://www.mend.io/resources/blog/the-saas-loophole-in-gpl-open-source-licenses/) you will find (emphasis added):

When the copyleft AGPL was first published, many leaders in the open source community had something to say about the issue of a supposed loophole in the GPL open source license that allowed SaaS companies to integrate GPL open source libraries without sharing their code. This “loophole” was intentionally left in version 3 of the GPL due to the fact that letting users interact with a piece of software over the network does not constitute distribution.

Kich867
10-18-2022, 11:55 AM
I feel like this is just an elaborate troll. If P99 was actually legally obligated to do anything, instead of making a weird thinly veiled threat post on the forums, you could've just forced them to do it.

tristantio
10-18-2022, 09:07 PM
https://www.gnu.org/licenses/why-affero-gpl.html was made to get around the SaaS loophole - p99 server is SaaS and not distributed, sorry to deflate your balloon.

This is largely a failing on the licensing of eqemu itself (if it were AGPLv3, you'd likely have a current copy of p99 source available locally for the last 10 years).