Another Haze rant:
http://mamedev.emulab.it/haze/2013/10/22/so-why-did-this-annoy-me-so-much/
Since I don't have a lot of time these days, and since Haze has gone all-in in his attempts to make me into a monster intent on project/world destruction, even going so far as to post internal quotes from me out of context and without my permission, let me set a couple of things straight.
1. The MAME license is dumb. I should know, I wrote it (well, the non-boilerplate parts of it anyways). It was not written by a lawyer, contains language that is vague at best, and was done strictly to appease a subset of MAME devs a number of years ago when we last had a licensing discussion.
2. We are never going to enforce the license we have today. Apart from its questionable legality in the first place, nobody on the team cares enough about violations that they will pay out-of-pocket and add tons of stress to their lives in order to stop somebody from doing something we don't like. All we get is pointless whining about stuff with vague requests that we wish the magical fairly lawyers would get involved on our behalf. Not gonna happen.
3. It could be argued that our license today at least tells others how we would like the code to be used. Fair point. But that really don't belong in the license, because its being there only weakens the license overall, since it is untested and legally unvetted. We can still ask people to please not sell it commercially, outside of the legal framework of a license. It would have the same net effect (i.e., be completely unenforced), and would let us use a standard, lawyer-approved OSI license.
4. Using a standard, lawyer-approved OSI license, whether it be BSD or LGPL, has a number of advantages, namely that it has actually been written by people who know what they are doing, it has well-understood meaning to others, it would allow our code to be hosted on SourceForge or similar sites, and it would enable easier code sharing in both directions.
5. I did in fact say that IF there was a majority decision to move the project under a standard OSI license, that we could in theory go forward in spite of the objections of the non-majority by excluding the work they did and reimplementing it. Of course, it would suck to lose a lot of that work, but if there had been a strong agreement from the majority, then there was a way to make it happen. As it turns out, there was not a strong enough agreement to move forward in this agressive a manner, so the point is moot.
6. It is a common misconception that we can copyright our code to "The MAME Team." But the MAME Team is an amorphous, ever-changing, and non-legal entity. Thus, copyrights on the code in MAME can only be held by individuals. Because of this fact, and because there is disagreement on how the code should be licensed, there is never any hope of ever untangling the licensing mess until the files that make up MAME are attributed. Attribution is an annoying and messy business which I hope can eventually be automated.
7. It's easy to point and laugh at museums/academia as one of the many reasons why having a standard OSI license would be good. After all, what have they done for us? But honestly, why WOULDN'T we want them to use MAME/MESS as their starting point? What's to be gained by holding them back? What happens instead is they end up having to glue together dozens of other emulation platforms, some better, many worse, than MAME/MESS for dumb licensing reasons. Instead of a single emulator with a common interface, patrons, students, and researchers have to struggle with a half-assed concoction of random emulators. Nobody really wins in the end.
8. Beyond that, I personally think the project is a perfect fit as a PLATFORM for emulator development, not just for the end user. It was my goal during my tenure as project lead to push the core architecture toward a general platform that is reusable and easy to build upon. This is exactly why I prefer all my code to be BSD licensed, as I don't want any excuses for people not to build on it. And having rearchitected a majority of what constitutes the core over the last 15 years, we're not far away from having the core be entirely BSD in spite of the MAME license on the rest of the core.
In my ideal world, MAME/MESS are BSD (or LGPL) licensed and people freely make use of and build upon the work we've done. Since that ideal doesn't exist, I hope that instead we might be able to make the core and a subset of drivers approach that ideal.
|