Turns out JME has a fancy little networking module. Oddly familiarly fancy. Let’s have a look at some source. Where have I seen this before? Oh yeah, when I wrote the goddamn code. See any similarities with this? Lars’ development cycle must go: copy, paste, duuuhr, rename some variables, remove the javadocs and the @author tag, write blog post: look everybody — I created a JME networking module! Lars mentions “pgi, Ractoc, and Creativ” helped with the module. I guess this rounds out the copy and paste team?
Looking in another JME source file, where they also removed the author tag, there is a “Thanks JGN!”. However, they blatantly copied a lot more than this one file from JGN, with no attribution in other files. Taking off my @author javadoc tags isn’t illegal — it is chickenshit — but not properly listing the BSD header? Oh, their code has a BSD header, but it only mentions JME and is missing the copyright from JGN. Looks like they are very meticulous when giving themselves credit.
Here is an excerpt from this JME blog post:
It’s been only four months since Lars firmly decided to seriously commit to the jMonkeyEngine project in any which way best suited to his skillset. He quickly set his mind to create a fully integrated networking system for jMonkeyEngine 3 from scratch, branded SpiderMonkey.
The best part is: they copied the wrong code. After writing the JGN serialization, I went on to write a fully fledged serialization lib, Kryo. If all you have to do is copy some code, you’d think you’d have extra time to figure out the right code to copy.
This isn’t the first time JME has embarrassed themselves on this blog. They previously spammed libgdx and Google Code, begging for help on the Android version of JME. Classy.