realnc wrote:Uh, what was the previous license?
"The MAME License" was previously a custom license based on the BSD-3-Clause license with additional terms prohibiting commercial use, distribution alongside unauthorised ROM images, and certain kinds of derivative builds. This caused it to fall afoul of OSI and FSF rules, since these terms are limitations which make it "not Free". These limitations also tended to hurt potential legitimate users (e.g. rights holders wanting to re-release classics) while doing nothing to stop software pirates and arcade game bootleggers.
This change also makes it easier for other F/L/OSS projects to leverage MAME code, and may help get MAME accepted by F/L/OSS software distribution services (such as main package repositories for major Linux distributions). MAME can also now more easily bring in changes and updates from other F/L/OSS projects themselves.
Note that MAME is a registered trademark, and there are still restrictions on use of the MAME name, logo and wordmark.
---
A few historical notes:
- MAME had no overall license from 0.01 (February 5 1997) to 0.21 (up through May 24, 1997), though individual pieces of code had their own licenses from their respective authors (which may have conflicted with each other)
- From MAME 0.22 (May 25, 1997) to MAME 0.26 (through August 9th 1997), MAME was under GPL 2.0, and GPL 2.0+ as of MAME 0.26. This relicense is debatable whether it was "properly done" (though it was certainly somewhat relicensed in a fashion standard for the time). At MAME 0.26 the team attempted to add additional non-commercial usage restrictions through some additional notes in the readme document.
- As of MAME 0.27 (August 10, 1997), MAME began under its own custom "MAME license", which we'll call "MAME License 1.0" (I don't think it was ever called that tho). All sorts of strings were attached as to usage and requirements, mainly things the developers thought would cover themselves (to paraphrase: "no commercial use", "no unauthorized redistributions", etc.). This document saw some adjustments from MAME 0.27 to MAME 0.94 (through May 2nd 2005). This license was NOT BSD-based.
- MAME custom license was rewritten to the custom BSD-based "MAME License", let's call it "MAME License 2.0", since May 3rd, 2005 aka MAME 0.95. This significantly stripped limitations from the license and brought it closer to being "true open source", but still had some restrictions, specifically against commercial use. A lot of the customization of the previous "MAME License 1.0" was either deleted or moved to a more "developers wishes" document. Again, whether this too was done with all past contributor/developer sign-on is debatable.
- so as of MAME Git revision 35ccf865aa366845b574e1fdbc71c4866b3d6a0f and the upcoming release of MAME 0.172, it's all under GPL 2.0 and higher, or individual files under their own licenses indicated in their headers, and the old license is completely gone.
- A few external projects that we have no control of remain under the "MAME License" and we hope they follow suit and take the initiative to contact all their own contributors to relicense in kind, ex. PinMAME (which is somewhat inactive these days anyways)
- During all this period, some developers dual-licensed their code: under the MAME license for distribution with MAME, under GPL or LGPL outside of MAME, and would either have this special permission in their code or if asked.
"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen
Stiletto