Jump to content

  • Log In with Google      Sign In   
  • Create Account

- - - - -

Project Zomboid attacked by Zealot.

Posted by , 19 May 2014 · 1,208 views

LGPL Java Reverse Engineering Project Zomboid
Recently, Project Zomboid was made victim from LGPL licensed code, EasyWay Game Engine and gnu.trove.

The game used both codes in a moment, but no LGPL code was being used any more. Unfortunately, probably due to simple lack of code clean-up, these libraries were still being shipped with the game...
This guy found out and asked for the modified version of the engine; he also reverse engineered their game, but since they didn't provide means of reassembly, this reverse engineering is legal (there was no external and accessible .jar). He even posted out some Java snippets of the game's actual source code¹ :
DebugLog.log("LOADED UP A TOTAL OF " + OpenGLState.totalTextureID + " TEXTURES");
So, now, he threatened to start a project with the decompiled source code. Well, technically, he can't do that, since the libraries were, LGPL and not GPL, and therefore it wasn't viral and the source code's license was still intact. But he can pretty much create an open source project with "similar" code, and this would be dangerous for the commercial game if he really do this.

And now I ask you guys: Why did that happen?
Because they didn't read my blog post about LGPL: http://www.buildandgun.com/2014/02/little-game-programming-love-lgpl.html
That's why! haha

Project Zomboid looks like a great game and I feel really bad seeing it go through a license issue. Now their developers had to spend time removing the LGPL code while they could be adding an awesome new feature!

You, sir, just made Project Zomboid lose time, hence lose quality. Success! I guess...

TheIndieStone have my sympathy and I'll buy this game in early access. I wasn't going to, but now I will.

¹This code was made public by the reverser inside a TheIndieStone controlled environment (their forums) and they didn't censor it out, so I guess it is OK for me to post it here. But if it offends anyone, ask and I'll remove it.

I've read the thread. Apparently both the guy who complained and the developer don't know the difference between LGPL and GPL. No one made the distinction so he was asking for the sources as if the libs were GPL licenced.


He can create an open source with "similar code" regardless of the LGPL anyway... (Minecraft clones anyone?).


Although what it isn't clear to me is if the dude has actually any say in the matter. I mean, the ones who could actually make demands are Trove and that game engine authors right? Not some random dude in the internet.

Yes, it looks like the complainer was actually reading the licenses on-the-go and all of a sudden realized it wasn't GPL, but lGPL.

The problem is that as he had legal basis to access the code, he can clone it very easily without using it directly. Paraphrase it and he's good to go. Anyway, it is a lot of work, I doubt he'd be up to it.

About he having a say or not, he does. The LGPL gives the rights to the users to "use how they want", so anyone that uses (as in bought a license to the game) could ask for the linking objects and any modified source code for the LGPL.

So, in theory, Trove and EasyWay wouldn't be able to do anything against it, but us as users would. If they had shipped the jar files separately, they would not have had this problem. But this looks like just lack of code cleanup and that they didn't even realized they were still shipping these until this problem arose...

Well, I guess no one won anything with this in the end, but for that guy that now owns a legal copy of the game's code.

To be honest, I avoid LGPL too. Just the indication of GPL is enough to frighten me off. LGPL is somewhat confusing, many projects even include a dual license model (either use GPL or LGPL ...) which contributes to the confusion too.


Open source is good, but there are other licenses which a better suited for included libs, eg MIT.

Absolutely. There are much better licenses to use than LGPL.

MIT, zlib and BSD are some examples of licenses that are actually adequate for libraries and engines. LGPL has many downsides.

GPL on the other hand, even though it is ridiculous to use it on a library or engine, I can see its value.
It is intended for final products, complete pieces of software or OSs that want to avoid possible monetized spinoffs or even conversions to proprietary. Examples of GPL being correctly applied could be GIMP, the Maratis3D editor (as the engine is zlib) and some Linux OSs. But yes, a quick look at Ubuntu and anyone can see that GPL wasn't exactly successful on that...

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

0 user(s) viewing

0 members, 0 guests, 0 anonymous users

Latest Visitors

My Contacts' Journals

January 2017 »

2223 24 25262728

Google Shared Items