As you may be aware, the Bukkit project recently went through some massive internal issues and changes. Sadly, not two weeks later, the continuation of it is at stake again. This time, the cause is a DMCA takedown notice submitted by Wesley "Wolvereness" Wolfe. In this post, I'm going to try to explain exactly what's going on, and speculate what will happen. Note that this dispute is very much in a legal gray area, and so nothing is certain at the moment. Again: do not take anything in this post as fact.

The dispute began early Thursday morning when dl.bukkit.org was suddenly made unavailable. The only hint given was an HTTP 451 response code (Unavailable for Legal Reasons). Later in the day, a document was made available which contained the full text of the DMCA notice which forced the downloads to be taken down. In essence, it describes that Craftbukkit is technically in violation of its LGPL license. The reasoning behind this is that non-free code (the vanilla Minecraft server) is contained by the same bytecode blob (the Craftbukkit binary), which is not permitted per Craftbukkit's license. Therefore, Wolfe appeared to have every right to issue it.

Here's where things get hairy: earlier today, Mojang COO Vu Bui created a post on the Bukkit Forums explaining Mojang's stance on the matter. Many people were of the (somewhat unreasonable) impression that Mojang had issued or otherwise endorced the DMCA notice, which apparently couldn't be farther from the truth. Contrarily, they disagree with Wolfe's claim, stating:

"The official Minecraft Server software that we have made available is not included in CraftBukkit. Therefore there is no obligation for us to provide the original code or any source code to the Minecraft Server, nor any obligation to authorize its use. Our refusal to make available or authorize the use of the original / source code of the Minecraft Server software cannot therefore be considered to give rise to an infringement of any copyright of Wesley, nor any other person."

This refers to the fact that the official server is not included in Craftbukkit; instead, a decompiled and partially deobfuscated version is shaded in. But the LGPL license doesn't say anything about decompiled code, so it's unclear whether the project is in violation.

Let's assume for the moment the claim is legitimate. There are a few potential solutions, though none are particularly plausible. The first and simplest is for Wolfe to redact his DMCA notice, which is extremely unlikely. The second is for Mojang to make their server code open source and place it under an LGPL license. This is not only a terrible business decision, but Bui has specifically stated that this will not happen. The third is for Mojang to completely rewrite the portions of code contributed by Wolfe. Given the upcoming modding/plugin API, this is also hard to see happening. And the fourth, of course, is to simply let Bukkit die and hope Mojang hurries up with aforementioned API.

But it looks like it won't be over that quickly. Spigot, a highly popular downstream of Craftbukkit, has also been issued a DMCA, and intends to fight it to the best of their ability. They are currently accepting donations to cover legal fees as well as using a portion of previous donations placed in a savings account. As of writing this, md_5 has announced that they will be sending a counter-notice tomorrow.

So where does this leave us? The answer is, no one knows. Bukkit may not be able to recover, and Spigot may very well be fighting a losing battle. Should Spigot somehow manage to evade the DMCA takedown, they may find themselves a bit overwhelmed as well with the update process as well as the rapid expansion of the community. If Spigot goes, then most Minecraft servers will likely not receive 1.8 features until a future Minecraft release that includes the plugin API, which may be a while. Like, a long while. It'll be interesting to see where this leads.

As a developer of Bukkit plugins, this situation affects me on a more personal level. As you may know, I've been planning to release the newest versions of MGLib and TTT for quite some time now. However, dates have been deferred an absurd number of times due to general and performance bugs that have arisen, as well as the fact that the testing process is all but impossible to properly coordinate, and as such, we're limited to one session per week at most. I believe they are mostly ready at the moment, but I want to wait to see where this situation goes before actually releasing them on BukkitDev. I'll be sure to update this post should a development (hehe) occur or my stance change.

Also know that if Bukkit does actually die, I'll most definitely be porting my plugins to Mojang's API just as soon as it becomes available. I can't imagine it would be too difficult to accomplish, but I'll be sure to give it a shot.

If you'd like, you could check out the megathread over on the Bukkit Forums regarding the entire situation. It may provide insight as it develops. Additionally, be sure to keep an eye on md_5's thread on the Spigot Forums, as he is dealing with the DMCA as well as Mojang (non-inclusively) directly. He's been providing more transparency than anyone else, and has been updating the thread fairly regularly.

Update #2: A new alternative to Bukkit called Sponge has arisen. You can find its FAQ here. It'll be interesting to see whether this takes off. Personally, I'll be contributing as much as I can to it. Given Bukkit is effectively dead now, I intend to push a final release of my plugins, and then when the time comes, port them to Sponge or whatever API opens the next chapter.