It’s been an interesting few days for the Mayan Electronic Document Management System (EDMS). Mayan’s developer, Roberto Rosario, made quite a stir when he spoke out against forks of his software which he believed to be violating the GPL. Reactions over Roberto’s claims and his resulting actions have been varied, and give interesting insight on the application of the GPL in the real world.
The issue started a few days ago, when Roberto took to Google+ and the Mayan blog to speak out against what he felt was the increasingly unfair way other individuals and companies had been profiting off of his project:
If you fork Mayan EDMS into a closed or private respository, stop and think about what you are doing because you going about it the wrong way. Likewise if you fork Mayan EDMS and the first patch you commit is to change the name, stop. It has come to my attention that there are a number of unauthorized forks of Mayan EDMS being offered for download as if the original version was being abandoned and at least one fork is being sold with a comercial license to add insult to injury.
As Mayan EDMS is a free and open source project, anyone and everyone is able to create a fork and modify it as they see fit. That being said, if the only purpose of the fork is to change the name so you can more easily sell service contacts for it, you can see how this could be considered a violation of the GPL’s spirit, if not the actual written license.
But beyond that , Roberto claims that at least one fork of Mayan has attempted to change the license to something that’s incompatible with the GPL. Say what you will about Roberto’s first complaint, but changing the license of Mayan to something incompatible with the GPL is absolutely a violation, and needs to be addressed.
While there was some debate about the legitimacy of Roberto’s claims in regard to GPL violations (especially since Roberto didn’t want to publicly name the forks in question), things really heated up when it came to his immediate reaction:
How will this affect the future of Mayan EDMS? It is too early to tell, what is certain is that the latest technologies being added to Mayan EDMS must be protected until they are ready to be released. Taking this into account and effective inmediately the development branch has been removed from the public repository until I figure out what to do or that it is finished and ready for public release as the next version of Mayan EDMS.
Roberto’s inbox was instantly full of emails claiming his original claim of GPL violation was in error, and that futhermore, his response of pulling the source for the development branch was itself a GPL violation.
So, who is right?
Understanding the GPL
This case has proved to be an interesting look at common misconceptions regarding the GPL and what it does and does not allow.
To begin with, the GPL absolutely does allow for forks of existing GPL software. In fact, that’s something that is strongly encouraged by the GPL. It also allows for the developer, or anyone else, to charge for the product being released under the GPL. So taking a GPL application, renaming it, and then charging to support installations of this newly named application is absolutely allowed.
However, what’s NOT allowed is taking credit for this new software. No matter what changes you make to a GPL application, the original developer(s) must be credited. This is, in actuality, the basis of Roberto’s claims. While he doesn’t approve of the outrageous licensing fees these third parties are charging for modified versions of his software, he does recognize it as one of their rights under the GPL:
I don’t mind people charging for their services in relation to Mayan EDMS or for Mayan EDMS itself, within the terms of the GPL it can be resold for a reasonable fee, in the same way I can download Ubuntu, burn a CD and charge a percent over the costs of the CD and the cost of the download, that same situation is allowed for Mayan EDMS. Reasonable is open to interpretation but $999.00 per seat license is not a reasonable fee if your are also changing copyrights, not releasing the source code and marketing it as an original product. That is callous, it is a copyright infringement and a GPL infringement.
Is $999 per seat a ridiculous cost for software which is available free of charge? Absolutely. But these companies are within the GPL to charge that, so long as they obey all other provisions of the license. If they are indeed violating the GPL by not crediting Roberto and claiming this renamed software to be their own creation, the actual dollar amount of the license fee is inconsequential.
Even more hotly debated is the issue of Roberto pulling the source for his development branch. Many have claimed (rather vocally), that Roberto is not allowed to withhold any source, as Mayan is licensed under the GPL.
This is simply not true.
For one, the GPL only covers released software. If I copied Mayan and edited it for my own personal use, I am under no obligation to then redistribute that software with my modifications, as it was never publicly released. Similarly, if the development branch of Mayan was never properly released to the public, its source doesn’t have to be available.
To put it another way, the GPL doesn’t have any authority on how code is developed, only what happens once it has been released. Nothing in the GPL obligates the author to include the community in his or her development process.
In addition, the GPL only has control over the users of said software; it has no control over the author of the software, as the author has the ultimate authority to do whatever they wish with the code. It is completely within the rights of a developer to decide on the spur of the moment that his GPL licensed software will henceforth be closed source (assuming that all code was 100% original, at least). It’s underhanded and bad for the community, but it’s still doable.
Not to say that this will ever be the case with Mayan, but it does go to show how the author can really do whatever he or she pleases, GPL be damned.
While it’s still too early to say what the long-term will look like for Roberto and Mayan, his latest blog post does mention some good that has come from this whole ordeal:
I am very happy to inform that 2 of the original non compliant products as well as many other individuals have come forward with the intent to comply with the GPL or reach some kind of licensing agreement.
In the end, this is all that really matters. People other than the original developers will profit off of free and open source projects. We all know it, and it’s just one of the things you accept when releasing your code into the wild. It’s also perfectly legal, and in many ways, legitimizes the open source movement.
As long as everyone is playing by the rules, it’s not something we need to fear. In fact, Roberto even mentions on his blog that these last few days have caused him to rethink his own personal attempts to make a profit off of Mayan, so we just might see the original author make out in the end.