Why not fork it?

Discussion in 'Bukkit Discussion' started by Exit151, Nov 3, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Exit151

    I have been reading up on a GREAT thread located heree: http://forums.bukkit.org/threads/wolvereness-got-letter-from-mojangs-attorney.316007/
    and there are a couple fellas who offer speculation that I think and agree with others is suburb. (LokiChaos, talking about you!)

    While so many questions pour through my mind and I debate which to post on threads and which to just keep searching for, I have to ask this:

    Regardless of whether the exact issue is Wolfe's 63 commits, or the legality of how he obtained his code (from de-compiling Mojang stock server as I read it) why not just fork the project, remove the code, and run with it? Tons of other projects put up server jar's that aren't clones of the stock server, why is this such an issue?

    A few notworthy things I think we have all learned from this, btw:

    1. You can contribute code to a community project (open source) and post stolen/de-compiled code without getting in trouble.
    2. You can contribute code to a community project and continue to own it, and/or it's ability to continually be used.
    3. The "license" system for code sucks, period. I'm not going to even pretend to understand the difference between an MIT license, a GPL, open-source, etc. Here's how life SHOULD be: Code is either closed-source, or open source. You either share or you don't, period. Wolfe is setting a precident here where any Joe Bloke can join a community project out there, submit a couple lines of code which he decompiled from any other closed-source project, and then turn around and as I call it now, "Wolfe it". (IE shut it down). Literally, nothing is stopping this from happening, it seems.

    I'm biased, of course. Wolfe is the one reason I'm not running a 1.8 bukkit server, and why I've got servers dead in the water cuz everyone wants their bunny/1.8 fix. So even though I know he's got nothing to do with me, he is ultimately responsible for my issues, as he is hundreds of others. We all take this personally, regardless. I don't know care whether it's about him proving a licensing point, I don't care if he's upset that he didn't get hired/offered a job, really doesn't matter. All I know is his stunt is costing us ALL tons.

    And what baffles me even more is that he's standing there saying, "I stole code, and put it in this project", and the company whose code "was stolen" doesn't, nor hasn't cared since day 1 (and even own the project), and yet we're still here?

    That's another pet peeve of mine. No, like the many others here I didn't know Mojang owned the Bukkit project. But, feel free to search the forums, it's there - The day some of the bukkit dev team were hired on by Mojang, and it was announced that Mojang now owned bukkit.. It's there, not hidden, right on these forums. So what, there's no logo on the bukkit website...

    I don't know. This (still) just plain sucks. Even if another server pops up (Sponge, Spigot, glowstone, etc), as others said, it isn't the same. You won't be able to just pop all your plugins in and run with a different jar. Sure, some will be converted, but that's going to wreak havoc on any and every plugin that's been running. 100$ compatibility with one systems plugin vs. another is just a pipe dream. It's gong to mean tons of in-game issues, systems not working correctly, etc. And that's AFTER enough of your "popular" plugins have been converted and IF they are 'backwards compatitable" so to speak (meaning the Sponge, for instance version can load the previous bukkit releases' data).

    Another thing on my mind.. Spigot is getting around the DCMA by releasing patches to the jar (? right?) but not releasing new jar's (or something along those lines?) Why couldn't bukkit follow a similar path, if not removing/editing/forking entirely? Why do we have to stagnate and be idle?

    And as much as it personally pains me, it would be remiss to point out something several others claim.. Is it true that all Mojang/Microsoft would have to do is file a counter-claim against him and all this would end... Many have mentioned it, I don't know if legally this is true, but it really makes you wonder, like I mentioned above, it's known that his work contains decompiled code, if it were so simple, why AREN'T they doing anything about it? Nothing makes moeny hand of fist faster than players being able to enjoy their game. Surely they'd want as many happy players as could be, right?

    I will also say Wolfe posted in that thread I linked to above, and for what it's worth, seems like a solid guy. In my two years with bukkit (as a server admin using the software), I've never heard of him. I don't know what drove him to do what he did, but I can only assume, hope and pray he did it for the right reasons. His posts were well written, and it seems as if he'd like to enlighten us all with details that he just can't, without incriminating himself, which I can respect. Like I say, it just sucks being caught up in the middle of what is the one good server package for Minecraft, and every day that goes by is one more closed step to servers being shut down. (I run free, for fun servers, btw - never charged a penny for one, I mention this so you understand my concern is about love of the game, not paying my bills, heck - wife will be happy if it comes to that, as there'll be a decent amount of extra money in our household should I shut the servers down, lol).

    Here's hoping to a quick and peaceful solution, sometime REAL SOON (please?) lol

    151
     
  2. Offline

    LokiChaos

    Since I have been invoked by name...
    I'll again disclaim that my musings on possibly why things played out when and how they did is just supposition. I am not claiming to speak for or know why any of the involved parties chose to act/react as they did.

    On the topic of your post. I want to correct a few misconceptions:

    1) You may not post stolen/decompiled code to open source projects. This is highly frowned upon, some FOSS projects even go so far as to forbid contributers from even looking at such code to ensure there is no possibility any code could be included. The Bukkit project has kinda played fast and loose with a lot of things, which is partly how this entire mess came to be. This should not be taken as anywhere a remotely normal behaviour in F/LOSS communities. Bukkit is somewhat a special case, as it has intimate ties to a proprietary product by its very nature.

    2) This is correct. Unless there is an explicit CLA (Copyright License Agreement) that signs the rights over to another person or legal entity the author is the one who holds the copyrights to written code. This is implicit and standard under copyright law. The chosen license (in Bukkit's case the GPL, in CraftBukkit's case the LGPL) is what gives the project and other devs the ability to use the contributed code.

    3) Copyright is a mess, applying it to code is mess. There are differences between various licenses. It /is/ more than an exercise in pedantry. There is far more to open vs closes source. "Open Source" only means that the source is available to others: it says NOTHING with regards to what others are permitted to do with that code. Some circles try to avoid the term "open source" as it is potentially vague. MIT and GPL are examples of "Free Software" licenses. Free software means you not only have the code, but the rights to modify and redistribute. I'm not going to drone on this point, I suggest reading:
    https://www.fsf.org/about/what-is-free-software
    https://en.wikipedia.org/wiki/Free_and_open-source_software
    http://opensource.org/definition
    You can checks links on those sites for the differences in the various licenses, but they are far from interchangeable and fulfil different goals all under the general one of "Free and Open Source Software" Most of this complexity comes from the legal framework of copyright, which as I said is a mess and one I really don't want to get into here.

    Most FOSS projects are not likely to run into this issue, for various reasons. Most FOSS projects are not so intimately tied to a proprietary product, and those that are generally add specific wording into the license to handle that fact. Projects that seek to clone the behaviour of proprietary products often do a lot a checking to ensure that no proprietary code leaks into them (see ReactOS and WINE as projects that go to great lengths to ensure it doesn't happen).

    CraftBukkit is again an exceptional case here. If you had a hypothetical FOSS project and it was found that a contributer used code they didn't have the rights to license, in most cases it can be relatively easy to excise the problem and re-code those parts. CraftBukkit is unique in that its entire existence depends on linking Bukkit with Mojang's Minecraft server. Pretty much the whole thing runs counter to the GPL's terms.

    The DMCA is over the inclusion of Wolverness' unique code, as that is the code he holds the copyrights to. He doesn't have the copyrights to anything derived from Mojang's code and would have no standing to issue a DMCA request over that portion of the code. The relevance of the proprietary code is it is the cause of the license violation. The GPL license is what gives everyone the permission to use the code. Since we're not following those terms: we are not granted permission to use the code.

    Bukkit, as a project, was pretty much dead before the DMCA. The staff were burnt out and too much work is required to update Bukkit and CraftBukkit for 1.8 and there was pretty much no one left to do the work (see EvilSeph's post). About the only impact on the DMCA is CraftBukkit isn't a ghostship product drifting on with no one to direct or update it. Regardless CraftBukkit has irreconcilable issues that forking will never rectify. Bukkit is still out there for someone to write a GPL-compatible server, but there is no possible way to combine it with Mojang's server as things current stand. You most likely wouldn't have Bukkit for 1.8 right now regardless of the DMCA.

    ( I may edit this later to address additional points )
     
  3. Offline

    ERROR372

    To add here. If you go to Craftbukkit's Github page, you'll find: https://github.com/Bukkit/CraftBukkit

    "This repository is currently disabled due to a DMCA takedown notice. We have disabled public access to the repository. The notice has been publicly posted."

    Unless there's a sneaky way to do it, I don't believe there's a way to fork either of the two repositories (Craftbukkit being the "completed" and Craftbukkit-Bleeding being the dev version, I think). While looking at his commits, it would not be impossible to replace, it would take time. And there's I believe only 1 dev staff around, and they aren't doing anything in terms of coding bukkit (obviously, it'd be near impossible with just 1 person). So, that's that.
     
  4. Offline

    pookeythekid

    TL;DR's please? xD
     
  5. That's another interesting point what would really count as "unique" :), but that would rather be interesting for attempts to recode the "necessary" parts.
    There still is Spigot. I am not sure if they are actually replacing or rewriting the/some code, but they seem to intend to release a 1.8 jar at some point, which means they are applying some legal technique other than plain binary patching, possibly writing most from scratch.

    A fork of CraftBukkit could be subject to further DMCA, though i'd like to see the person issuing a DMCA for small/generic things like "adding 1.5 blocks" or "private -> public".
     
  6. Offline

    rcade


    Nobody has to be sneaky. Bukkit and CraftBukkit were forked by over 1,000 other developers. If a programmer (or programmers) thought Wolvereness was wrong, they could fork the project and release updates.

    As a practical matter, it is impossible to remove all source code copies of a popular project from the Internet.
     
Thread Status:
Not open for further replies.

Share This Page