3 ms·
That is a misleading headline. MAME always was open source, but it was distributed under its own custom license, which forbade distributing it with ROM images.
by fsk 11y ago
That is a misleading headline. MAME always was open source, but it was distributed under its own custom license, which forbade distributing it with ROM images. For example, if Nintendo wanted to distribute its Arcade/GB/GBC/GBA/NES/SNES rom images wrapped with MAME, the current license forbids that.
The reason for that restriction is that the MAME devs were concerned about getting sued by the copyright holders.
That's like saying "Nethack isn't open source", because it has its own custom license rather than one of the more traditional licenses. A lot of older projects have their own custom license, because they started before there were a couple of standardized popular licenses.
They plan to switch to a more traditional license. I think they picked the GPL.
Their plan is to get permission from all the authors, and rewrite the code of people who don't give permission.
Some of the core contributors are POed and refuse to give consent, and they left the project.
I'm not sure how rewriting works, since the hard part really was figuring out how to emulate the rom correctly. If you change the variable names, refactor it, but keep the same core logic, does that count as "different"?
- mjg59 11y agoNo, the reason it wasn't open source wasn't that it had its own custom license, it was that that custom license didn't meet the Open Source Definition. The license didn't forbid distributing it with ROM images, it forbid any form of commercial distribution or use. That's clearly not open source.
- fsk 11y agoI thought there was such a restriction, I read the license and there isn't. http://mamedev.org/legal.html http://mamedev.org/legal.html I thought "open source" just meant "you can read the source". Some people take a stricter definition. I.e., if Microsoft chose to distribute the source code for Windows, but not allow people to sell binaries or modifications, that would be "open source".
- Nursie 11y agoShared Source was the way MS did this. "Open Source" seems to be a mark granted to a license by the OSI - http://opensource.org/about http://opensource.org/about But I don't know if they have any legal control over the term as a trademark or anything, or if they just give their approval and grant the use of their logo. Interestingly enough (for me anyway) the BSD style licenses don't seem.to meet their definition of "Open Source" but are approved anyway...
- mjg59 11y ago> But I don't know if they have any legal control over the term as a trademark or anything, or if they just give their approval and grant the use of their logo. The term's entirely uncontrolled. > Interestingly enough (for me anyway) the BSD style licenses don't seem.to meet their definition of "Open Source" but are approved anyway... Hm. In what way?
- Nursie 11y agoWell their "Open Source Definition" here - http://opensource.org/osd http://opensource.org/osd - seems pretty copyleft-ish to my reading, particularly clauses 2 and 7. I'm not trying to say BSD licensed stuff isn't open source, or anything ideologically driven at all (god forbid I start another license flamewar). Just seems a minor inconsistency. I may well just be reading it wrong.
- maxerickson 11y agoThe notable feature of copyleft is that it applies to derivatives. So for 7, some software that incorporated BSD licensed code under some additional terms might not meet the open source definition, but the BSD source project would. Copyleft requires that a derivative project be available under the same terms as the original work (or so, I guess some licenses might be mixable or whatever).
- mjg59 11y agoAh, right. It's possible to release BSD-licensed works in such a way that they're not open source, yes. But if you do receive the source code, the license grants you all the freedoms you require to be able to satisfy the open source definition.
- mjg59 11y ago> I thought "open source" just meant "you can read the source" It's occasionally used to mean that, but it's not the common definition.
- ekianjo 11y agoThere is no common definition, unlike Free Software which is very clear on what it stands for.
- wodenokoto 11y agoI don't know who decides the term "open source", but looking at the wikipedia article, availability for commercial use, does not seem to be a core concept of the definition, but rather that source code is available and that people are allowed to modify it. http://en.wikipedia.org/wiki/Open_source http://en.wikipedia.org/wiki/Open_source
- detaro 11y agohttp://opensource.org/ http://opensource.org/ Their definition usually is accepted (and the MAME project refers to it in its roadmap when describing why they weren't open source before)
- mjg59 11y agoThe first sentence uses the phrase "Universal redistribution", and forbidding commercial redistribution isn't terribly universal.
- ekianjo 11y ago> it forbid any form of commercial distribution or use. That's clearly not open source. I dont think you have a clear understanding of FOSS / Open Source. Having commercial restrictions does not make it less Open Source.
- detaro 11y agorefactoring certainly doesn't count, since it still is the old code, just changed. The "proper" way is clean room development: one party writes an abstract specification (that describes what the result is, not how the program gets that result), another party that never has seen the original code writes something that matches the spec.
- userbinator 11y agoThe practical matter is whether the end result is "distinguishably distinct" - but emulating hardware accurately doesn't leave much room for "independent thought", so if you gave a sufficiently detailed specification to 10 programmers of the same skill level and prevented them from knowing or communicating with each other, chances are they would come up with very similarly structured code. I am somewhat reminded of some of the GNU projects' sources, which look as if the author(s) were trying really hard to make it look "original", at the expense of being simple and straightforward. It would certainly not be a good thing if MAME took this direction.
- maxerickson 11y agoThere have been sweeping changes to the abstractions used in the emulation, in the sense that all (most of?) the drivers were upgraded to use the new abstractions. So I would assume they tend to be consistent (I used to pay attention to the whatsnew files, I haven't studied the code at all). If I understand correctly, the machine drivers are very close to being abstract specifications of the hardware.
- paulsutter 11y agoDespite all the fun debating the meaning of "open source", it's still a legitimate headline because it describes the article's position clearly. From the article: > MAME's source code has long been freely available, but it's never technically been open source. Instead it's been available under a modified BSID license that prohibits, among other things, commercial use of the code.
- orionblastar 11y agoThe rewrites they have done before when people left the project and refused to let their code be used anymore. They usually renamed the ROM images because they merged ROMs of different versions of the machine like US, EU, USA, Japanese, Asia versions. I've followed MAME for a long time, had to keep getting new ROMS with new versions of MAME. Older ROMs got unsupported. I used to know a company that restored arcade machines and would dump the ROMs to contribute to MAME. They would also do conversions to convert an arcade machine from one game to another. My brother built his own MAME Arcade machine, until his sons scavenged the parts to build their gaming PCs. In some nations the ROMs have fallen into public domain because they have a different copyright law. In the USA the DMCA extends copyright for older software. I think Microsoft had their Microsoft Arcade and Return of the Arcade that emulated some old arcade machines like Pacman, Asteroids, etc. The MAME and MESS projects merged, so they do arcade machines and video game consoles and computers all in one code base. I think it is good that they did it because code from one platform can be modified to support a different platform. When Commodore was rebooted for example and they made a Linux based CommodoreOS they used emulation to run Commodore ROMs and Disk files on CommodoreOS. But the man behind it died, and the company went out of business. He even made PC clones in Commodore 64 and Amiga cases to run CommodoreOS. Basically I would like to see computer companies use the code to run emulators to run their old software on modern platforms and then charge for the ROMs. On Steam there is a Sega Genesis emulation that does that, you can buy a package of games and it downloads the ROMs and runs them in an emulator.
- dang 11y agoWe changed the title to say "completely open-source"—not sure what that means, but it's language from the article—in an attempt to make it less misleading. If anyone suggests a better title, we can change it again.