MAME is going completely open-source to be a 'learning tool for developers'
gamasutra.com
gamasutra.com
Does MAME own all contributions? Could they change the license to require license fees? If not, why can they change the license after the fact?
VLC went through a similar transition (from GPL to LGPL); jbkempf's blogposts about this experience may be of interest to you:
- http://www.jbkempf.com/blog/post/2012/How-to-properly-relice...
- http://www.jbkempf.com/blog/post/2012/How-to-properly-relice...
- http://www.jbkempf.com/blog/post/2012/How-to-properly-relice...
Tell any lay person on the street that MAME wasn't free software, and they'd ask you how much it cost. Tell them it wasn't open source, and they'd assume it meant the source wasn't available (if they even knew what source code was.)
But it just devolves into endless arguing over semantics. The ideology gets to be so strong that it's almost like religious dogma. And that's really not helping anyone.
Simply stating that MAME was non-commercial would be understood by everyone, and from there you'd be in a perfect position to then explain to people why you felt that all software should be allowed to be sold by anyone for profit. Distro CDs shipping with it, game museums having MAME cabinets set up, etc. Playing word semantics is just going to annoy people not already steeped in the FOSS world.
(for what it's worth, I also agreed to relicense my code that's inside MAME to GPLv2 for this new effort, so please don't consider me an enemy of GPL or anything.)
Given that this issue is still happening after decades... I think it deserves to be addressed.
They could even get trademarks on those terms, unlike the failed attempt to trademark "open source".
> I think it deserves to be addressed.
We've gotta get people to budge on this, and see things from the other side. Find a way to do that and I think you could achieve world peace =)
I'm curious to why people thought I deserved downvoting. I think it's a reasonable question. When ever I hear "Free Software" said to the layman, it's ALWAYS followed up by "free as in freedom." Then they describe what that "freedom" means to them.
It'd be easier to have just one step of clarification than multiple.
It's the L in FLOSS.
if MAME is released under MIT/BSD then it can be freely put in consoles, gameboy, psp, etc.
At most, source code to those custom tools which contain GPL licensed code.
>if MAME is released under MIT/BSD then it can be freely put in consoles, gameboy, psp, etc.
MAME (as a project) is now to be released under GPLv2 unless I'm missing something, but there is also a lot of BSD licensed code in MAME which can be used in proprietary projects.
That said I don't think the MAME code is of particular interest to game developers, as it's basically cpu and video/sound chip emulation coupled with drivers.
Sounds to me that it has long been open source, but not Free software.
Same goes for the sister project MESS (which has now merged with MAME) that is targeting consoles and computers.
I wonder how strict they are on that aspect of things, because in Japan you still have a number of arcades with games from the 80s and 90s. Isnt that considered commercial circulation ?
Note that such games actually run on some kind of emulators, too. No idea what they use, but they clearly do not use the original hardware anymore.
By that logic you wouldn't be able to emulate anything, since there are certainly places where old machines are active (as in, coin-operated).
I think the policy regarding emulation is something like 2-3 years after manufacturing of said arcade machines have ceased, but I think that is also on a case-by-case basis, as in sometimes they wait quite a bit longer, shoot'em ups from Cave comes to mind.
And if you're suggesting that there's another meaning of "open source": that ship sailed a long time ago, and attempting to use that term for any other purpose can only lead to confusion.
To be fair "open source" is a bastard wording in the first place. It was created by people who did not understand the Free Software movement and did not want to relate to RMS. The only true legal term is Free Software, Open Source is close to meaningless without a license attached to the term.
There are also multiple online posts about building your own, maybe I'll do that to be even more open. This is the one that I stil have bookmarked: http://www.koenigs.dk/mame/eng/stepprojectmame.htm
Wonder how that works with the BSD-3-Clause?
You can put whatever you want in your license. You can say it's based on GPL and add an non-commercial layer on it. You don't have to restrict yourself to licenses already written.
> (will be BSD3 for core files and BSD3,GPL2 or LGPL2 for drivers/emulators)
Doesn't GPL effectively prohibit combining it with a closed source commercial product? That suggests you still won't be able to bundle all of MAME with a ROM.
Well yes, since if you sell it to someone you need to offer them the source code should they want it.
However the incentive here (as I understand it) was to allow MAME to be used in museums and the like where they charge an entry fee (thus commercial use), and not in order to make it easy for people to create closed source commercial forks of MAME.
(The older license was more permissive in my opinion; but a TiVo product was less likely if it couldn't be sold for profit.)
Though weird why don't they at least consider GPLv2 or later as it's give a choice for anyone who may want to maintain GPLv3 forks.
That to me feels like more of a problem with the App Store than with the GPLv3.
But, I know that idealism tends to get in the way of pragmatism. I understand why they wanted GPLv2.
> Though weird why don't they at least consider GPLv2 or later as it's give a choice for anyone who may want to maintain GPLv3 forks.
I might say GPLv2-3, but I'd be worried about saying "or later", when I don't know what the GPLv4 will hold. Yet at the same time, if I did end up liking it, I'd hate to then be stuck on v2-v3 only. Very tough problem.
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"?
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".
"Open Source" seems to be a mark granted to a license by the OSI - 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...
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?
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.
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).
It's occasionally used to mean that, but it's not the common definition.
Their definition usually is accepted (and the MAME project refers to it in its roadmap when describing why they weren't open source before)
I dont think you have a clear understanding of FOSS / Open Source. Having commercial restrictions does not make it less Open Source.
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.
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.
If I understand correctly, the machine drivers are very close to being abstract specifications of the hardware.
> 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.
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.
This whole code base is now forever useless. All of that effort is officially gone to waste.