Hard to tell what's going on here - but it looks like the developer of a mod (Bukkit) has a large enough userbase, that he's using that as leverage and trying to blackmail Mojang to open source the official Minecraft Server.
Looking at the actual DMCA request [1], it's definitely weird. The argument seems to be that:
* Wolvereness's contributions to CraftBukkit are licensed under the GPL, and therefore may only be redistributed on that license
* CraftBukkit itself is released under the GPL
* ...but Wolvereness claims that CraftBukkit includes Mojang's Minecraft server, which is proprietary (apparently this is disputed by Mojang themselves, though)
* Therefore CraftBukkit's GPL license is illegitimate, and the CraftBukkit developers' right to use Wolvereness's contributions is terminated.
Even if the factual claims in the DMCA takedown are correct (which is hard to verify now that the repository is offline), it strikes me as an abuse of the process. When you file a lawsuit, you have to demonstrate that you have standing because of some adverse effect that specifically affects you. By that logic, Wolvereness shouldn't be able to use a third party's copyright to enforce a takedown.
The GPL states that any derivative work created by combining the GPL'd work and another work must be licensed under a GPL-compatible license.
Violating any clause of the GPL revokes your copy of the license. So if I'm a company that distributes GPL'd binaries without providing corresponding source (a legal term in the GPL that means the preferred version of the source that a developer would edit, so decompiled code does NOT satisfy the license), I lose that license and am violating the copyright of the original author.
In this case, Wolvereness' code has been incorporated into a derivative work, with other code (the Mojang decompilation) that isn't licensed compatibly with the GPL.
Note that the form of the copyrighted work (the Mojang Minecraft server) is irrelevant. Mojang's copyrighted work is there, whether it's decompiled or in binary form or in any other form. The work is the same, much in the same way a vinyl record, a digital file, and a live performance all can contain the same copyrighted work.
I don't think this is weird at all; this is a very straightforward case of GPL incompatibility. If Wolvereness wanted to include an exception for linking to the Mojang server, he could have done so using the infrastructure in the GPLv3, or with a special exception in the GPLv2. Mojang has definitely violated the GPL, and as such they have no claim to Wolvereness's license. Wolvereness is the party with standing here.
Didn't he implicitly include a GPL exception when he contributed his GPL code to a project that was not GPL?
If I'm understanding this correctly, CraftBukkit purports to be GPL, but includes disassembled, deobfuscated code that they did not own and was not available under a GPL compatible license.
No. There's no such thing as an "implicit" GPL exception.
You're right that the original CraftBukkit project equally violated the GPL, but now that Mojang is distributing it, they're the ones liable for the violation.
> No. There's no such thing as an "implicit" GPL exception.
You don't think a court would use some equitable doctrine such as estoppel to find that if I explicitly contribute my code to a project with the intent that they include it and distribute it, I am giving them whatever licenses is necessary to allow that?
(I'm going by US law here, which may not necessarily be applicable in this case although if someone is issuing DMCA takedown requests then presumably at least some of this is under US law).
A non-exclusive copyright license in the US does not need to be explicit or be written. It can be implied.
One court noted, "An implied license can be found where the copyright holder engages in conduct from which the other party may properly infer that the owner consents to his use" [1].
I'd say that a copyright holder submitting his code to a project for inclusion in the project allows the project to properly infer that the copyright owner consents to the project using his code, and so supports an implied non-exclusive license to use the code.
That implied license would be revocable, so if the author changes his mind he can tell the project to stop using the code, but would almost surely not be able to sue for damages over the past use. (Major exception: if the copyright holder was paid for the contribution, that might make the license irrevocable).
Implied non-exclusive licenses are limited in scope, but as far as I have been able to tell there is no good objective way to tell what the scope is. If I post a comment on a forum (let's assume nothing in the TOS that I purportedly agreed to said anything about copyright), it is generally believed that I am granting them in implied non-exclusive license to display my content on the forum, and giving an implied non-exclusive license to other forum posters to quote my post in theirs without limit. But what if the forum wants to publish a "best of" book and include my post? Does the implied non-exclusive license cover that?
In "Goldstein on Copyright" (one of the top two references on US Copyright law--the other being Nimmer), he says of the various cases on implied licenses and their scope, "The fact patterns of these cases suggest a close connection between implied copyright licenses and the doctrines of laches and estoppel", so I think I was on the right track suspecting that estoppel could play a role. Unfortunately, for more info that cite a section in the book that was not covered in the Google Books preview I was reading, and much as I would like owning a copy of Goldstein, it is way over my law book budget (it's almost $1000...about 1/3 the price of Nimmer).
[1] Field v. Google Inc., 412 F. Supp. 2d 1106, 1115-16 (D. Nev. 2006)
Who would the author be granting a license to? The project had no legal entity at the time of his contributions and the fact that some of the developers were later hired by Mojang doesn't imply that Mojang can arbitrarily re-license the original author's code.
Further, the actual license that the original author used was the GPL. I think it'd be very difficult to say that there was an "implied license" that was somehow not the GPL.
Even if the GPL did work that way, I believe he actually contributed his code to Bukkit which is a seperate project that doesn't contain the decompiled code from the Minecraft server at issue here. That code then got reused in CraftBukkit.
This seems to be accurate, except for #4. It does not make their license "illegitimate".
It's true that he can terminate his right to use the contributions (particularly if no CLA was signed granting rights), contrary to their assertion that he can't because he knew what the licensing was.
He can also sue for copyright infringement in previous versions.
But that's it.
At least in the US, the only one who could sue for copyright infringement is a copyright holder. That means, in this case, the folks who own copyright to CraftBukkit. Right now that includes him. They could remove his contributions, but that would not put them in compliance for the versions already distributed, and they could be sued for those.
(For the curious, Breach of contract wise, third party beneficiary arguments around the GPL have repeatedly failed, AFAIK, so others trying to get source as beneficiaries have not succeeded).
Just to be clear, if they did remove his contributions they must also make so none of the left over code is a derivative work. That would be a task beyond even a security audit.
Mojang is not in a very business friendly situation right now. The only 100% not-lawsuit-libel approach is to either open source minecraft or rewrite the entire thing. They are still open to lawsuits related to the existing distributions but the traditional settlement is a combination of stopping to infringe and medium cash payment.
This is why, when folks say "CLA's are not necessary, you'd just remove the code" (like bradley kuhn recently did), i think they are very very wrong :)
A few relevant facts about the political landscape involved:
Bukkit is used by a large number of Minecraft fans to run servers, due to the availability of plugins and other improvements in the modded server.
The developer in question contributed significantly to Bukkit, and has stated that without the full Bukkit product being open sourced (including the base Minecraft binary it's based around), it's a copyright violation to be using his contribution.
This is legal, because of the nature of his code licensing, however, it is not a demand that the Bukkit team can comply with, as they don't hold the original Minecraft code. As such, their only option is to comply with the take down (and not use that code) until such time as Mojang releases the source to the Minecraft code that Bukkit uses.
Mojang is under no obligation to do so, because they're not using any of the dev in question's code, as he only contributed to Bukkit.
However, Mojang risk upsetting a large portion of their tech savvy and more active user base (including YouTubers and streams), because relying on Bukkit servers is common in those circles.
One piece I think you're missing in this description is that Mojang aqui-hired[1] part of the Bukkit team but left Wolverness (the DMCA takedown originator) out. Wolverness had contributed 10s of thousands of lines of code to the project.
So Wolverness isn't just using the popularity of Bukkit as leverage. Rather, Mojang is redistributing his code without having sought his permission.
Of course, Bukkit itself was a derivative work of the Minecraft Server (the decompiled java bytecode) in violation of that piece of software's license, so the whole matter seems to be a tangle of license violations.
In any case, Mojang is (or WAS, rather) distributing Wolverness's copyrighted code without his permission, and so are apparently in violation of his copy rights. I think that's where the leverage comes in. Wolverness seems to be hoping that it will be easier for Mojang to relicense and release Minecraft code to make it compatible with his bukkit code than to work around his code.
[1] Reportedly. I've seen various, partially contradictory characterizations of how this happened, but there seems to have been at least some sort business deal between Mojang, and a subset of the Bukkit team not including Wolverness
The issue of license violation is that someone had to claim damages. Mojang could have, but didn't - and you could argue in a court benefited greatly from this state of affairs (selling Minecraft licenses).
The fact that Mojang now wants to distribute GPL code without providing full source would, I suspect, stand badly against that since a claim of license violation has been made now. Generally, you can't ignore copyright by yelling "two wrongs make a right".
Well, yeah, I agree. I'm not saying that Mojang hasn't likely been willfully ignoring the license violation, just that Bukkit seems to infringe on the letter of the official Minecraft Server license. And yeah, I don't think that that has any bearing on the copyright claim.
Incidentally, the link has been changed since I began commenting. I find this assertion from the now-linked post to be odd: "Additionally, we believe that Wesley has no right to prevent the continued use of his contributions to the project – which he gave freely, knowing them to be subject to applicable open source licenses. We believe these licenses continue to bind all those who contributed to the Bukkit Project." This doesn't really address the primary charge from Wolverness, to paraphrase, that essentially the bukkit and related projects are distributing code incompatible with its license and therefore are not permitted to distribute the copyrighted code contained in the bukkit project without express permission. If the license for the code is not adhered to, then you don't have permission to distribute the copyrighted material... So one party is saying that the license was broken, and the other party responds by saying that there was a license. That's kind of a non sequitur.
One of the missing bits of context here is that because of the licensing and EULA issues, a few weeks ago all the then-active Bukkit developers decided to shut down development and end the project. Mojang then announced that they couldn't do that because it wasn't their project to close down since Mojang had secretly acquired it several years back. (All of the current Mojang employees who were formerly Bukkit devs had stopped participating in development and weren't following the discussions.)
Did they say what, exactly, they had "acquired"? Obviously they could continue distributing and developing the GPL/LGPL source, and depending on whether the name is trademarked they could keep calling it Bukkit.
Does Mojang own the issue tracker, the website, etc.? In that case, sure, they can keep those going, although without any developers I don't see the point.
That is a very good question which I don't think they've ever really answered. The domain seems to be registered to Curse, who formerly owned Bukkit and presumably still provide hosting for it. They certainly don't own the copright on most of the code, and probably have no more right to use much of it than anyone else. Stuff like trademarks and the Github project? Who knows.
Plus Mojang keep contradicting themselves about the relationship between Bukkit and them.
That's interesting. It seems strange to secretly acquire a public GPL project from a subset of its developers. It seems like perhaps all they bought was the option to carry over the name and a fraction of the code if a fork became necessary. Or perhaps to cripple the project in case of disputes.
>Of course, Bukkit itself was a derivative work of the Minecraft Server (the decompiled java bytecode) in violation of that piece of software's license, so the whole matter seems to be a tangle of license violations.
Yes this is an interesting issue, I find it hard to believe that decompiling Java code would possibly count as a clean-room implementation, even if you later rewrote everything.
Back when I did clean-room reverse engineering (which was admittedly long time ago), it was one guy (whom I never even spoke to) who disassembled code and wrote down what how it functioned, this was then sent to me and another programmer and we made an implementation based upon his descriptions (which of course contained no code whatsoever).
If I can ask a slightly off topic question: where on the clean-versus-not spectrum do you find coding based on information from a wiki, which may be derived from inspecting the code or using the item, but does not contain code itself?
Based upon my experience this would count as clean-room reverse-engineering as long as the person/persons who wrote the information in the wiki (if it was derived from inspecting code) is in no way involved in writing the actual code based upon said information.
Granted it was like 7 years ago I did clean-room reverse engineering last, but AFAIK there's been nothing new in how this is applied.
--EDIT-- fixed spelling.