Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MAME is now Free and Open Source Software (mamedev.org)
580 points by Lord_Nightmare on March 4, 2016 | hide | past | favorite | 91 comments


I'm blown away that it was not free and open source already. I remember downloading it. I remember using it. I remember poking through the source at one point. If it was proprietary software, it had the worst marketing program ever. I had absolutely no idea there was any sort of paid alternative.


Not paid, quite the opposite. From http://wiki.mamedev.org/index.php/Is_MAME_Open_Source%3f (pasted here in case the page changes soon):

> MAME's License is a modified version of the standard BSD license. The primary modification is that we do not allow commercial distribution or use of MAME, in order to limit some of the obvious abuses of the code. Because of this modification, MAME's license does not fall under the definition of an Open Source (uppercase) license. This is one of the reasons you don't see the MAME source code hosted on sites such as SourceForge.

> Confusingly, MAME is often referred to as open source (lowercase), as its development shares much in common with other open source projects. However, in spite of its freely available source code, MAME may not be used in a commercial setting, as specified by its license.


> Confusingly, MAME is often referred to as open source (lowercase)

That's stupid. Open Source has a meaning, which is the OSD: changing case doesn't alter that meaning. You can get source code for Windows 10 too (if you work at the right university) that doesn't mean Windows 10 is open source any more than old-MAME was.


The phrase "open source" does predate the OSD.


No, everyone seems to believe that, but it does not. The phrase did not exist before 1998, when OSI published the OSD and Tim O'Reilly viciously promoted it:

https://books.google.com/ngrams/graph?content=open+source&ca...

http://jordi.inversethought.com/blog/5-things-we-have-forgot...

http://thebaffler.com/salvos/the-meme-hustler


That's an excellent set of references. I've posted the second one to New: https://news.ycombinator.com/item?id=11230832


The phrase "open source" predates its use in software.


That graph from Google trends seems to contradict that point.


Sounds like Copyleft licenses like GPL and LGPL.


Definitely more restrictive than the GPL. Crucially, a user of GPL software is allowed to do whatever they want. Even resell for money, and definitely use in commercial setting.


I'm striked by all this grey text!

> Crucially, a user of GPL software is allowed to do whatever they want.

Did you know FreeBSD allows you to build a full release into memory stick right from the source? No developer experience necessary! :-)

Its easy forget that with the GPL, you also pass on the burden of whomever distributes software provides a way to get the source. BSD encumbers you with no such strings attached.

The words "do whatever they want" and "definitely use in commercial setting" may be better set with an asterisk. GPL software is often available for free downloads and by second hand on CD's, notably with access to source code. Its popular among developers. Knowing that, it surprises me how often I see statements expressing GPL as if it were a brand new, moddable car with absolutely no string attached.

GPL software would provide a means to get the source code, but other open source projects do too. But if you hand someone that Ubuntu CD, they definitely can't "do whatever they want". Its obligating them to comply to terms should they distribute it.

> Even resell for money, and definitely use in commercial setting.

The obligations do not run over well with commercial or reselling.

I speak from personal experience and pain having dealt with GPLv2 in a commercial settings years ago. Ultimately business was lost do the the lack of flexibility we could give our customers. We had to deal with whether deploying our code on customers' servers created a distribution. Some customers will only accept running software if its on their servers, full stop.

Many of the most successful public tech companies keep their code proprietary. Not out of pulling one over on you, or to limit your rights, but out of competitive advantage. Many choose to release code at their discretion, often in permissive libraries.

> Except develop the software however they want. (greyed out as if it were incorrect)

My BSD licensed projects can't simply pull in GPL code. My could would then be a derivative, the license would also affect people using code of my distributed with GPL parts.

For GPL, the control over the distribution is uncharacteristically rigid in an open source software ecosystem of shared libraries built from source, developers contributing upstream on projects despite terms forcing reciprocity. The terms cascade downstream and steer the ultimate fate of the project - its not backwards compatible. You're walling yourself off to developers who can't comply with the terms GPL, and if you lose developers, you're losing potential contributions to the project.


> Crucially, a user of GPL software is allowed to do whatever they want.

Except develop the software however they want.


> > Crucially, a user of GPL software is allowed to do whatever they want.

> Except develop the software however they want.

I don't know where you got that idea from. You can develop the software however you like. That's a technical question. The only requirement is that people you distribute your software to must also get the source code.

The GPL's job is to protect user's freedom. The developers don't get any special treatment.


> > Except develop the software however they want.

> I don't know where you got that idea from.

Many employers won't allow GPL codebase.

The license isn't backwards compatible. I can't simply pull GPL code into my BSD licensed project. Even a snippet

You can't, say, simply copy and paste a struct out of git or even libgit2.

> You can develop the software however you like.

Heh, its notorious for causing roadblocks in development. Look up the stories on LLVM/Clang, ZFS in Linux.


>>> Except develop the software however they want. >> I don't know where you got that idea from. > Many employers won't allow GPL codebase.

Explain it to your employer better then. Or find a better employer. Not to mention they are almost certainly using GPL code /somewhere/.

> The license isn't backwards compatible.

GPLvX or later makes them pseudo-compatible (you can release a combination under a newer license). That works fine for most people.

> I can't simply pull GPL code into my BSD licensed project. Even a snippet. You can't, say, simply copy and paste a struct out of git or even libgit2.

1) Yes you can, it'll just become GPL licensed as a whole. 2) I don't think anyone would consider copying a structure as being a "significant portion" of the code. In fact, in C, structures aren't code at all, they're an API (the `struct` keyword generates no code). And I think we all agree as a community that APIs are not copyrightable (or else Linux and GNU would be the largest copyright violations on the planet).

>> You can develop the software however you like. > Heh, its notorious for causing roadblocks in development. Look up the stories on LLVM/Clang, ZFS in Linux.

ZFS on Linux / Dtrace are FUD. Given that Oracle already distributes DTrace with their Linux distribution, it's clearly dual-GPL licensed DTrace to their customers. If you agree that ZFS being included with Linux would be a GPL violation (I don't, because the spirit of the GPL is applied, and the binary itself is not a violation because CDDL allows sublicensing of the resulting binary), then distributing it as source that is compiled on the users' machine (DKMS) is fine. Not to mention that Oracle will not have standing to sue (their license has not been violated in the case of distributing CDDL code with the GPL -- the only people you can argue have their copyright violated are the the Linux kernel guys and I don't see why they would sue people for the dubious license under which the source code is distributed -- nobody seriously believes their whole work will be under the CDDL, only code that was ported directly from illumos's ZFS).

The LLVM/Clang thing was caused by technical decisions in GCC, where they believed that making something like LLVM's IR would allow people to make proprietary compilers based on their technology (which is a valid grievance if you care about preserving software freedom). The point is that it was a technical decision.

The only requirement you have if you use the GPL is to accompany your binaries with the source (or the other two provisions in the license which aren't as well-used as others).


It blows my mind to see how people are still misinformed. Is this result of some old FUD from 90s or what? I really don't know what causes this stigma to persist.


It's the idea that it's "forcing" the developer of proprietary software to make all of their software GPL if they are including GPL code in it. The thing that people fail to realize is that nobody is forcing said developer to use the GPL code instead of writing it themselves. They are not owed complete, unfettered access to relicense the code as they see fit just because it exists and the developer wants to use it.


> The thing that people fail to realize is that nobody is forcing said developer to use the GPL code instead of writing it themselves.

When used on an end-user application, GPL does a fantastic job. But in library use, it's a very viral license.

Say you wanted to write a KDE-native application back when Qt was GPL or commercial only. You couldn't do it by using GTK+ ... it wouldn't look quite right. You would have to pay money, or make your application GPL as well. And what if you couldn't pay?

It's not hard to imagine a world where the GPL truly took off, and everything from the top-level GUI toolkit all the way down to libc functions were all GPL'ed. You'd be forced to start from absolutely nothing to make even simple applications. Years and years of work just to get a basic desktop application going. And it would be entirely alien to the rest of the OS. That's not really an "option" anymore. Nobody would implement that much just to port to one OS.

No, we're not there. And no, we're never going to get there. Most library writers wisely choose the LGPL, and many others release everything under the BSD license. But if you take the GPL to its extreme conclusions, you can see why people consider it viral.


If GPL is viral then proprietary licenses are deadly radioactive material.

Say you wanted to write a streaming application and have popular films on it. You would have to pay money, and make your application follow the restrictive demands of the movie publishers. And what if you couldn't pay?

You'd be forced to start from absolutely nothing, with no proprietary movies at all. Millions and millions of licenses cost just to get a basic streaming application going, and it would entirely alien to an community where everyone share and share alike. That's not really an "option" for most developers of streaming services.

Proprietary movies is already in its extreme conclusion, and you can see why so many people consider proprietary licenses as deadly radioactive material that puts people in jail.


You're right, proprietary licenses are even worse for sharing. My only point was that the LGPL and BSDL are much more permissive (less viral) than the GPL for sharing library code.


Your gracious replies here are awesome!


That's bullshit. So you're entitled to the work of others, but others aren't entitled to your work? You must choose: use GPL and make your code GPL too, or release closed proprietary software and start from scratch. You want to piggyback off others' work but you don't want anybody piggybacking off your work. Well, you can't have the cake and eat it too.


> You want to piggyback off others' work but you don't want anybody piggybacking off your work.

Anyone who has ever written a program for DOS, Windows, OS X, Linux or BSD has piggybacked off others' work. Anyone who has ever used a compiler to build their applications has. By that logic, proprietary programs should not exist at all; except maybe the OS kernels.

And you're welcome to think that way. I don't care for proprietary applications much myself. But I think you're pretty far removed from the mainstream at this point to advocate for the destruction of sales for the entire commercial software industry.

> You must choose: use GPL and make your code GPL too, or release closed proprietary software and start from scratch.

And that's exactly what people do. It's made substantially easier because most of the critical libraries (C runtime, GUI toolkit, etc) aren't under the GPL.


I somewhat agree with your conclusions, but not with your reasoning.

Anyway, to me GPL and LGPL always was the same thing but in different contexts: GPL = Applications; LGPL = Libraries - a nice trick is instead reading Lesser GPL, read it Library GPL. It fells better.


I think the restrictions on linking are the primary objection people have, and I guess also the patent stuff in v3. I would like to see a license that is weaker than LGPL (static linking allowed) and stronger than BSD. (For example, some projects are licensed as GPL+linking exception.) Basically, I'd like a license that said distributed modifications to the source code for this project must be open, but everything else is a free-for-all.


I think you want GPL + classpath exception:

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

There's no distinction about static vs. dynamic linking, and no specific requirement like the LGPL to be able to relink the application (though the GPL's general requirement to produce useful source + build scripts for the library still applies).


I'm also fine if you pull out bits of my code and use them in your codebase, just as long as you release the changes to those bits. Probably function-level granularity for separating mine from yours would work, and I don't expect you to write wrappers. Also automatically doing stuff with my code is fine.


I'd expect that counts as modifying your library (to remove all but the lines of code I want to use), at which point I can avail myself of the classpath exception by being GPL-compliant for just those lines of code -- offering the complete corresponding source in the preferred form of modification.


I think you still have to ship it in a separate tree / binary, but I'm not sure. I don't think the exception means you can put my GPL function in your proprietary code and call it as long as you reveal the changes to my function. But I'm willing to settle for "who knows, really" :)

I worked a bit on Classpath but that was a long time ago. There are like, lots and lots of emails + irc logs to dig up about that little exception and what it means. Not having things tested in court is a problem, and the lack of funding for FSF lawyers is another.


Possibly, LGPL or MPL?

You can link it with whatever proprietary code you want, but keep the LGPL library free. As long as you don't want to link LGPL-licensed library statically, it's quite simple to comply with license terms.

There's also MPL (v2), that's weaker than LGPL, roughly operates on file-level (rather than LGPL's library-level).


I've seen projects use LGPL with a added static linking exception (as in allowing it).


I'm fine with static linking, it's even fine if you want to #include my source code. I never paid much attention to the MPL, will see, thanks.


I think it is part of new FUD that has been going around the last few years. I suspect it is being pushed by companies who want to use Free software and not contribute.


Most people don't know most things most of the time. It's not a result of anything - it's just that the default condition is to not know things, and you have to actively learn (and remember!) something to leave that default state.


You can actually even make proprietary modifications to GPL code within your organization - as long as you don't redistribute.


Edit: seems that I'm wrong. http://www.gnu.org/licenses/gpl-faq.html#InternalDistributio...

IGNORE WHAT'S BELOW. IT'S INCORRECT.

Well, IANAL, but, I believe, technically, such modifications still have to be under GPL-compatible license (or organization is violating original authors' rights). I.e. anyone within the organization, who had used the software, must be granted all the freedoms GPL requires to be granted. Whenever organization members actually exercise those rights are up to them, of course.

I don't think it's a bad thing. It's only fair - if your business relies on proprietary sauce that you really want to keep secret - some may still consider helping you (and they use BSD, MIT or LGPL) while some may not want it this way (and use GPL or AGPL).


I think this is wrong, distributing within an organization is not considered distribution under the GPL.


Yes, seems that you're right. At least GPL FAQ from FSF says so.

I've updated the comment.


I'm not sure if you can restrict your employees from distributing the code, though. I can see 2 situations:

1. Employee executes GPL binary on company's computer. I'd consider this binary to belong to owner of the computer - the company. So employee may not have the right to ask for the code.

2. Employee gets GPL binary from company, executes it in his computer. Is he forbidden to get access and distribute the source code? Can a company make restrictions around the GPL to its workers?


No, the GPL family of licenses do not forbid commercial distribution.


It's not a free software license, nor is it copyleft. So it's nothing like the GPL. It's just another proprietary license (like the first license Linux was placed under before Torvalds relicensed it under the GPLv2).


It was formerly under a miscellaneous collection of licenses that included many "non-commercial use only" licenses (common in the emulator world at the time, partly out of concern for drawing attention over commercial use, and partly because some contributors didn't want to see commercial MAME arcade cabinets).


> some contributors didn't want to see commercial MAME arcade cabinets

Naturally, the license didn't stop some companies. This included purpose-built ARM-based arcade boards running MAME, to which MAMEDev responded in the most MAMEDev way possible: by cracking their encryption and adding them to MAME as bootleg sets [1].

[1] https://github.com/mamedev/mame/blob/master/src/mame/drivers...


> partly out of concern for drawing attention over commercial use

I don't understand what you mean. Why is it bad to draw attention here?

> some contributors didn't want to see commercial MAME arcade cabinets

Why do you suppose that is? It's infuriating to see someone else make a lot of money with something you developed for free?

Surely the world would have been a better place if they allowed all commercial use. Someone would have put marketing money into MAME arcade cabinets, etc., and a lot more people would be using it and aware of it.


Games companies have a long history of being viciously litigious to emulator developers, one that still hasn't entirely faded (witness the number of ROM and abandonware sites that still studiously avoid anything Nintendo or ESA).

Non-commercial use clauses were and are common with emulation software because the perception is that this crosses a potential line into which such litigation becomes clearly justified, and there's legal history to back it up. Both Bleem and Connectix were essentially sued into oblivion for attempting to sell commercial console emulators.

It's also something of an ethical line in the sand. Copying or cloning old games that no one is making money on anymore for personal use is a gray area as it is, but crossing the line into trying to charge money for it was seen as exactly the sort of piracy people associate with shady companies in Hong Kong and bootleggers selling bad CD-ROMs at county fairs.

So it became pretty much standard practice for a lot of emulators and emulation sites to have explicit non-commercial use clauses in their TOS or licenses.


Some people were selling MAME and full romsets on DVD. A few people were distributing romsets for the cost of postage and a few DVDs, but others were selling it for larger amounts of money.

This meant the copyright holders were paying attention to MAME.

MAME didn't want to deal with the lawyers, and wanted to try to stop this piracy.


> I don't understand what you mean. Why is drawing attention is bad in this case?

The vast majority of ROMs are not licensed from the original authors, and are used in violation of copyright. Many people use emulators to run games they don't own; that holds even more true for arcade cabinet ROMs than for home game consoles. And most emulator authors have a passion for the games and systems, and don't actually want to see harm done to those companies; they often build emulators out of the desire to see games and systems preserved and made available to a new generation.

On top of that, many arcade machines already had commercial cloning going on; unlicensed or modded arcade machines with clones of the hardware and copies of the hardware were common.

So, developers didn't want to do anything that would come across as encouraging commercial use of unlicensed game ROMs.


Some of the people who wrote the games on ROMs get upset when they are available for free or sold on the Internet without paying them royalties.

The source code of MAME was done by reverse engineering the ROMs to figure out how they work and emulate the hardware in the arcade machines. MAME emulates a lot of processors and special chips and not all of the code was available for commercial use. It has to be rewritten so that it was different code.

If I recall MESS is included with MAME now as part of some merge. https://github.com/jsmess/jsmess

The JSMESS project has been integrated into the upstream MAME repository at https://github.com/mamedev/mame and this repository is now defunct. Follow the instructions at https://raw.githubusercontent.com/mamedev/mame/master/docs/e... to do an Emscripten compile with unmodified MAME source.


>Why do you suppose that is? It's infuriating to see someone else make a lot of money with something you developed for free?

The argument as I recall it from back then was that they did not want to hurt the arcade business, the manufacturers of arcade games would suffer if instead of purchasing their arcade machines, their potential customers would load up a PC with MAME and rig it to a coin-slot/cabinet.

Also the MAME (and MESS which is the same for computers and consoles/handheld) has a policy of not emulating arcades/etc until they are no longer supported/out of circulation.


> I don't understand what you mean. Why is drawing attention is bad in this case?

They probably didn't want commercial coin-op arcade venues setting up shop operating with MAME machines


> commercial MAME arcade cabinets

These are basically trivial now with Raspberry Pis, right?


Depends on the game you want to run and how much performance its engine needs. Some games would probably run fine on a Pi; some games would need a more powerful system. Some arcade systems supported by MAME have more processing power and specialized hardware than the Pi itself, even before taking into account the overhead of emulation.

But beyond that, a commercial MAME cabinet would require ROMs. People have built unofficial cabinets of questionable legality incorporating a pile of ROMs, but a commercial cabinet would require actually licensing specific games.


It's also worth noting that the main goal with the MAME project is preservation, which means that the focus is on the accuracy of emulation rather than the speed of emulation. There are other arcade emulators that offer faster emulation speeds for the games they support, such as Final Burn Alpha for Capcom and NeoGeo arcade games.


In particular, some of the 3dfx emulating machines etc are absolutely brutal on the CPU for emulation


Sorry, I downvoted you by accident, can someone else please upvote to correct this.


Done.


The Pi doesn't have the power to run some games.

I ran into problems with NeoGeo games.


Were they borderline performance issues, or were speeds off by an order of magnitude? Would they run acceptably on a Pi3 (about 1.5x a Pi2 and 10x a Pi1)? What about an ODroid-C2 (about 1.5x the speed of the Pi3)?

Nintendo64 and Playstation emulation on ARM SBCs is probably in a similar state, for a lot of games. Some games will run beautifully, some will be hopelessly slow.


Completely unplayable on a Pi2. When it didn't do the hardware bootup after 5 minutes, I gave up.

Maybe the ODroid could make it happen but the Pi2 simply cannot.


It had published source code, but a restriction against commercial usage, making it neither free software nor open source, according to the definitions of such things.


I believe it was open source, but the licenses were not 'free' enough to be called free software.


This is a misunderstanding of the term "open source". It also doesn't allow restrictions and means basically the same as free software, just with different political intentions.

The source was available. But it was neither open source nor free software. Now it is.


Your comment surprised me a bit, so I did some quick Wikipedia searching.

From what I can tell, "open source" does indeed mean "the source code is freely accessible." From Wikipedia:

> Generally, open source refers to a computer program in which the source code is available to the general public for use and/or modification from its original design. [1]

I think what you are referring to are "OSI Approved Licenses" (OSI = Open Source Initiative, which is an entity). The OSI defines its Open Source Definition which sounds very much like yours. Importantly, the following sentence can be found in the Wikipedia article describing open source licenses:

> One popular set of open-source software licenses are those approved by the Open Source Initiative (OSI) based on their Open Source Definition (OSD). [2]

Sure, "don't use Wikipedia as a reference". But we're dealing with colloquialism here, so I think it's actually pretty accurate. Colloquially, it seems that "open source" != "OSI approved". I have seen people capitalize "Open Source" in an attempt to indicate that they're referring the Open Source Definition, but this is confusing in my opinion, and it really would be more clear to just say "OSI approved".

[1] https://en.wikipedia.org/wiki/Open_source

[2] https://en.wikipedia.org/wiki/Open-source_license#OSI_approv...


The term 'open source' wasn't used before 1998 and the OSI popularized the term, so originally at least when people said open source they meant an OSI approved license. The term has become slightly less precise over time.

https://books.google.com/ngrams/graph?content=open+source&ye...


it was open and free, just not fully considered FOSS because it had non-commercial clauses on it's usage. Oddly, the MAME homepage still tries to give the impression that you can't use the software commercially. This is incorrect on all accounts. The only thing you can't do is use the MAME trademark, and their new logo isn't even registered yet, the only thing that is registered is a generic text moniker MAME. But that can't stop someone from forking the project and removing relevant trademarks and renaming it to a different product.


> Oddly, the MAME homepage still tries to give the impression that you can't use the software commercially.

What do you mean? I haven't really looked too deep into the site, but the homepage and download pages at least don't really say anything that would give me that impression.


Restrictions on distribution is not open or free in my book. The trademark issue I get, other projects have done it too, but that was OK because Open Source means you can always fork it. The non-commercial clause on redistribution is another thing entirely, going against the spirit of both Free Software and Open Source (Freedoms 0 and 2 for the further, Rules 1 and 6 for the later). And sadly, no, you can't fork your way from such a clause.


I think what Sleaker was trying to imply with this comment:

> it was open and free, just not fully considered FOSS

is that MAME was open (the source code was published, and updates were continually amended to that publication) and free (the developers of MAME did not charge a fee for using, reading or otherwise obtaining either the source code or compiled binaries). Whether or not there were additional restrictions on how you could use it (freedom of use) is somewhat tangental to their point.

Additionally, as you can observe, both "open" and "free" are lowercase variants of the words, where as you write "Free Software" and "Open Source", which are capitalized pronouns. Open Source and software that is distributed openly as source code are different, but they are cut from the same cloth. Being pedantic doesn't help anyone.


I'm not familiar with the project but it sounds to me more like they just relicensed it with a free as in freedom license. Not that it is just becoming open source.


It was actually a pretty herculean effort to fix the licensing in MAME. It's been at least a year since I got email asking for the licensing in my cores to be switched over. They had to get an OK from everyone involved, or rewrite portions of it.


This was way, way overdue. For much of its life, MAME was a total mess of license restrictions. Just knowing that a file was in MAME didn't really yield much reliable information about how it was licensed. Some parts of the code were under seriously weird terms, including e.g. an assertion of the "right" to change the license terms retroactively (said license also refers to the code as "copywritten"...).

Kudos to the team for sorting it out, and to all the old contributors who agreed to relicense their code where necessary.


Nice. Maybe we'll see some legal "arcade collections" from publishers who can now ship their own versions of MAME.


This. Tho I may complain about companies (Capcom, etc.) who would try to extract "more money that they are worth" it would indeed be lovely to see them offer a reasonably priced arcade bundle with some of their games.

Sadly tho, I don't think that this was a gating issue at all for the companies :-(

Very nice job to the team at Mamedev tho! Congrats on what must have been a long and tiresome journey to get to this point!


Capcom have already re-re-...-re-released Street Fighter II for every platform, I don't think anyone will buy Street Fighter II Original Arcade Edition.


I've often wondered about all the Classic Video Games that are already on services like Xbox Live Arcade. Are these in-house emulators, or rewrites of old games?


I've heard about two ways - emulator, or where source is available a port. Haven't heard about full rewrites, though I'm sure they exist, especially because the rewrites can be written a lot more sloppily than the originals, given the completely overpowered hardware they're being made to run on.


The limits on legality have much more to do with the ROMs. MAME being truly open source doesn't change that in the slightest.


It does for the publishers of the games, that still own the rights on the ROMs. Now they can package them with MAME and relatively easy bring out a PC port.


Or if they'd just sell ROM sets. Sell me packages of your ROMs at a reasonable price and I'll buy them and put the silly anxieties about copyright behind me. They wouldn't even have to do any work themselves to do this. They could download their own ROMs off Bitorrent and ROM sites and just sell them.


I'm curious why they changed from noncommercial permissive to GPL2+ instead of GPL3.

If their goal is to prevent misuse of the project by unethical profit-minded entities, GPL3's anti-tivoization language would have ensured that even if a company profits from building or running a MAME-based cabinet (which is good!), they wouldn't be able to deprive their customers' freedom to fix or upgrade the software that runs it. (As they now can!)

It's even worse for the permissively-licensed parts of the code, which can now be used to build locked-down proprietary cabinets that users can't even inspect. I'm glad they got at least part of the project covered by copyleft.

The "common questions" on their site contains some confusing claims, too:

> Q. Can I include MAME with my product? > A. Yes. You can use 3-clause BSD compliant files but project as whole is under GPL-2.0 license so in case you wish to use those part you need approval from specific developers.

You'd only need permission if you didn't want to comply with the terms of GPL2. There's nothing in GPL2 that requires permission for inclusion with a product.

Maybe that's just leftover from before the license change?


Because of the number of GPLv2 only projects they don't want to lose license compatibility with


I found this (GPLv3 is Apache compatible): https://github.com/mamedev/mame/commit/24276fc7dbf8090f1952c...


I love Mame. I use it to play several games that aren't available otherwise.


Off topic, but does anyone know why I get a '403 Forbidden' error when opening this site from China?


Same to me,maybe you should turn on vpn or use some tools like http://git.io/d8s.


China is mostly blocked from MAMEdev.org/MameTesters due to an annoying chap or two that used to hassle developers. Since at least one of the core team is based in China it's an annoyance.


I'm curious: when would it make sense to use deblocus instead of Shadowsocks?


If you're up to version 0.171 maybe it's OK to use something like 1.7.1


Wait... It... Wasn't?


Oh yeah


Now I can't get this out of my head, darn it!

  You coax the blues right out of the horn, Mame,
  You charm the husk right off of the corn, Mame,
  You've got that banjoes strummin'
  And plunkin' out a tune to beat the band,
  The whole plantation's hummin'
  Since you brought Dixie back to Dixie land.
https://youtu.be/mjZ7UwHaY8g




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: