(WIP) David Haywood's Homepage - 模擬器

By Jacob
at 2013-10-23T13:35
at 2013-10-23T13:35
Table of Contents
2013.10.22
Haze把自己的立場跟MAME的歷史作一個簡單的歸納,有興趣的人可以看一下。
"So why did this annoy me so much?"
History of MAME driver ownership
With a project like MAME it is widely accepted that large parts of the
project are about representing factual knowledge, with that being a key area
many hundreds of people have contributed to over the years.
For this reason MAME has typically avoided trying to impose any kind of
ownership system / individual licensing over drivers. Naturally key
contributors to each driver have been credited in the driver, as a reference,
so that anybody with something to add or contribute, or with a query about a
certain piece of hardware has a point of contact, but that has never implied
any kind of absolute ownership over things, any kind of driver ownership was
always informal, and subject to change depending on activity levels, often
simply being a case of whoever worked on things most recently being your
go-to point.
This worked for multiple reasons, first of all it gave the sense that people
were contributing to the community, and to a project that exists on levels
beyond ‘people’. You weren’t giving your bug fixes, and time spent
refactoring code etc. to one specific developer you were giving them to MAME,
to help advance MAME and make MAME a better resource, a better document, a
better point of reference.
Secondly, it helped keep developer egos tempered, stopped any individual
thinking they were more important than any other because we always considered
the work to be the product of the team and contributors to that. Every
contribution to be equal. Who wrote a certain bit of code didn’t really
matter, if you could help make it better than your work was of equal value.
It avoided arguments like the one we have now where people are being made to
decide what level of contribution counts as ownership.
Thirdly, it meant MAME was a unified front, code could freely be moved
between any drivers in the files, that we showed strength in solidarity,
strength in showing that the purpose of MAME was greater than any petty
personal will. It avoids creating conflict within the source, people aren’t
going to be rewriting things just to avoid the license somebody slapped on a
different file in MAME, all drivers are valued as an equal part of MAME
because all drivers are available on the same terms under the same license.
MAME evolves, most of the good work in MAME has come from the smaller fixes
that have driven this slow evolutionary process. Alone each one of those
fixes might not have been a big thing, but slowly over time they mean most
drivers have been almost entirely replaced. This is a process that transcends
any level or concept of ownership.
Maybe you can now see why the whole idea of individuals owning files was
never really encouraged. Doing so has no real benefit to the project, and is
only liable to cause conflicts, inflate egos, and make some of the people
doing the really important work feel of no actual worth. It does not really
fit the model of MAME where most of what we’re working with is factual.
There was always something of a gentleman’s agreement when contributing to
MAME; if you were part of the MAME team then you submitted code under the
MAME license for the benefit of the team and everybody on it. In the past if
you didn’t then the code you submitted would have been rejected, to keep
that solidarity I mentioned. Just because you technically could mix BSD and
LGPL drivers in the source didn’t mean it was a good idea, or that code
submitted under such terms would be integrated into the project; the intent
was simply so that compatible libraries could be used to support the project
(such as the XML parser, Jpeg decoders etc.) where the code was never going
to be mixed directly with MAME drivers, and was of no interest or value to
the project beyond the support role it provided.
For reference this is why I haven’t been going through the source myself
asserting my right to things, even when I know I’ve worked on them. I’m
sure this can be used against me, but I maintain that anything I’ve worked
on is the product of everybody who has worked on it, not something owned by
me. I stick very much with the original principle of MAME development and ‘
ownership’ I do not really consider the files to be ‘mine’ in a formal
sense, I consider them to be files that exist for the benefit of this world,
contributed towards and made available for non-commercial use under the MAME
license.
Chip in the Windscreen
At one point the previously mentioned agreement appeared to be thrown out the
window. Aaron Giles was in charge, and instead of submitting files under the
common license he started submitting files under his own BSD license. First
the core / framework as he rewrote each part, then various drivers, and other
things he seemed to be rewriting for no other reason than to be able to slap
a difference license in them. While it might have been almost acceptable on
the framework files (because there is a fairly distinct separation between
framework and drivers) I didn’t feel it was in any way acceptable in the
actual drivers and device emulations. Aaron was violating the basic informal
agreement of the MAME submission process. Yes, he was entitled to do so, but
it never felt right, and lead me to think one thing and one thing only.
“who the hell does Aaron Giles think he is?”
I have tremendous respect for Aaron and his long-term work on MAME (including
many years of paying for hosting etc. out of his own pocket) and feel pained
to be saying this, but I don’t believe the way he has strong-armed files
with a BSD license into our codebase to be the least bit ethical. One person
is not above the team, and regardless of his level of contribution I feel his
unwillingness to accept these informal rules to show a complete lack of
respect.
I think if anything it is simply a sad lesson on what happens if you give one
person too much power, a cliché for sure, but an appropriate one because it’
s taken things getting this far for anybody to challenge him on it despite it
being deeply disharmonizing. What started off like a tiny chip in the MAME
structure with one or two driver files relicensed (and therefore
semi-incompatible with the rest) has rapidly escalated into a full crack
right through MAME as a land-grab to claim rights over drivers was started,
it feels like a cancer within MAME.
In effect what was proposed, and really riled me was Aaron and others
basically seeming to think that using a loophole in the license and general
nature of MAME is perfectly acceptable; that by deeming the many of the
factual contributions to be ‘non-creative’ or ‘mechanical’ work files
could be easily relicensed without having the consult the majority of people
who have contributed to them. Who uses loopholes to their advantage in this
way? Typically not people who are spoken favorably of.
I find it ironic, because lately Mamedevs have been really pushing for
modernization, refactoring etc. of code, expressing how it is one way to get
into MAME, and expressing how important it is that it gets done to help take
MAME to the next level. Apparently such changes are also ‘non-creative’ and
‘mechanical’ and thus wouldn’t count towards any kind of ownership.
The ‘crack’ extends beyond the actual driver codebase tho, right through to
creating formal tiers in the levels of submission. Suddenly the ‘main’ devs
on each driver are the only ones who really matter, they have ownership of
the files, if you submit something to them then instead of submitting to the
MAME project you’re submitting to them, in code you ultimately have no say
over, code they can relicense again if they please. This is not a good
situation. The feeling of equality is destroyed, and when such a large amount
of MAME is not based on the actual emulation code, but the facts and other
work that might be deemed ‘non-creative’ I don’t really think that is fair
on the people who have contributed, especially not to be changing it at such
a late stage. This does not fit well with a model where code mostly evolves
either.
People have always been free to contribute to MAME knowing that nobody else
is going to be making money out of their contribution. You could say they’ve
always contributed knowing that somebody else could take the knowledge
conveyed in their contribution and build something else out of it, but I
doubt many contributed thinking it would be Mamedev trying to change the
terms.
What we’ve been left with is the situation I described in the previous post.
This could be alleviated slightly if a rule remained in place that all files
contributed to MAME had to also be available under the MAME license or would
simply be rejected (thus any code from them could be taken and put in
MAME-only licensed files) but that would not alleviated the problem of people
being unable to contribute to files that had been dual-licensed if they did
not agree to wanting their work sold. This means that across a wide part of
the code-base there will now forever be conflict and again this is why I’ve
said that from this point the project looks dead.
Maybe better would to be insist that all files in MAME are MAME license once
again but also make it clear to devs that they can self-publish their
submissions under their own license, on their own sites, if they want. That
way MAME is still MAME and shows the same solidarity we’ve always shown but
individuals who feel the need to be individuals rather than exclusively team
members can also publish things for use outside of MAME under different
terms. The thing is there’s nothing stopping people from doing that already,
it makes sense and is non-disruptive to the team / project.
The Personal Side
This upsets me on a personal level too because in some ways I feel guilty for
where we’ve ended up. It was a long time ago now, but I was the one who
handed MAME to Aaron, I felt he would make a good leader of the project, that
he understood the team ethos, that he understood the value of people’s
contributions, be them big or small, drivers for hardware from major
manufacturers or the painstaking work in getting a random bootleg or obscure
piece of junk working. I’m not sure I was correct, his statement that
removal of my work from the project would be a small short-term loss
indicates he has little grasp of what has actually been put into this project.
I also feel guilty because there are many times where I’ve made myself too
easy-a-target, you could possibly even count these posts as doing that, there
will be people quick to use them against me, make me out as the disruptive
influence in this. I think that played a role in me being removed from the
development team in the past, I was the one who always challenged ideas if I
didn’t think they were great, but in fighting too hard for what I cared in
other areas while challenging the views of the current leadership it was
always easier to remove me.
With it looking ever unlikely that I’ll have anything to contribute to this
project again I may present you with one further personal update on what MAME
meant to me because I’m not sure it’s something anybody has really ever
understood. This however is not the time for that.
Other Musings
The funny thing is, I think there should be a fully open ‘use however you
want’ emulator out there, maybe even one with all the coin-transfer/memory
logic people want for actual commercial settings, or even built-in timer
logic so they could run console games on a timer too (something like that
would certainly work in a museum) but it’s too late to turn MAME into that;
it is not a natural course of evolution*, it is not a move based on technical
reasons*, or the hardware we emulate*.
(*like say emulating consoles because we already emulate the same hardware
for arcades would be)
Should a project actually exist, done in a clean way, from scratch, with
potential commercial users and a true OSI license in mind from the start I
would actually happily contribute to it, transfer my knowledge across, help
build something new. However trying to use MAME as a starting point and grab
as many drivers as possible is not a clean way, and doesn’t have any of the
benefits a proper clean approach would have. Doing things that way would
create no divide, no disharmony within the team. People would be contributing
from the start under clear terms, there would be no additional legal
uncertainty from trying to relicense code, no pressure within MAME for people
to be destroying existing drivers for the sole purpose of relicensing, it
could even provide healthy competition. That would be a good thing.
MAME is a fantastic resource, but has a number of weaknesses anyway, there
are times I think doing a rebuild from the ground up with what we know now,
for example, the knowledge of exactly how demanding some systems are to
emulate in terms of timing, bus conflicts etc. while keeping in mind you also
need performance. I guess the irony there is the actual MAME core would
probably be the least suitable place to start with that (because that’s
where some of our current problems come from) you’d probably want to start
with a 100% compatibility emulator for one of the popular 8-bits and build up
from there. If anything my only concerns over the viability of UME come from
my constant wonder if our emulation core / framework will ever be quite up to
the task.
Speaking of UME I’m sure some could accuse me of being hypocritical here,
and saying I’ve been trying to do the exact same thing with UME as Aaron
etc. have been doing with this licensing rework; trying to strong-arm it in
when some people don’t see the benefit. I would like to point out a few key
differences however. UME was about unification, bringing everything together,
greater sharing within the project, greater strength by being able to envelop
many more interest groups. The license reworking instead creates a massive
divide through the project, essentially splitting MAME in half over a
completely non-technical issue. It makes it harder to share code within MAME,
it weakens the project for the benefit of the few who want to be able to use
it in a commercial setting. The real difference is I would not propose, push,
or support something I felt could actively harm MAME.
Final Few Words
I’ve tried to make sure this doesn’t come across as a personal attack, even
if due to trying to explain my viewpoint there are inevitably areas where
that cannot be done without it coming across as one. While I’ve highlighted
Aaron as (IMHO) one of the key propagators of this problem there are others
who have been pushing it lately too, so I urge that there is no mass hatred
directed at any one individual here. I mention Aaron mainly due to his
aggressive attitude when it comes to this, deeming any code that needs
replacing to be a ‘small short term loss’ and his accusations that I’m ‘
holding the project hostage’ over this, apparently trying to use any bad
feeling people have towards me to his advantage.
You’ll note that this write-up generally avoids the nature of the changes,
and avoids talking about why allowing MAME to be used in a commercial setting
annoys me. That is intentional. What annoys me most about this situation is
not that aspect of the change, but the complete lack of respect shown in the
way it’s been done, the complete lack of understanding about the history of
MAME, how the project evolves, what has kept it ticking all these years. What
annoys me is the fragmentation this creates within the project, the fact that
it signals what a number of people have been predicting for a while, the
implosion of the team, a situation where every developer now seems to think
they’re bigger than the team, and that their ownership of a piece of code is
more important than any other and more important than the improvements others
might want to make to it; that being able to claim individual ownership
within MAME is more important than allowing actual progress. To me this is
more about seeing the heart violently ripped from a project I love. A lot of
MAME development was about goodwill. That is gone.
The Future?
There’s never a good time to leave a project, and that is what has always
kept me coming back in the past. I know that if I don’t finish things often
they end up being left unfinished, and that’s not good for the overall goal
of preservation (I’ll forever have to live with a guilty conscious if the
one chance we had to do something doesn’t get done because I’m not
involved.) I leave this time with (for example) rtw having a partial trojan
for the IGS game ‘The Gladiator’ in addition to several other PGM games he
purchased because I was interested in running tests on them. I feel guilty
that he spent money on those if they’re not going to be used for purpose (I’
ve asked him to mail the team asking for someobody else to pick up where I
left off) I also leave with ANY looking for a board to extract the Carket
Ball MCU data (should be a brain-dead simple task for somebody once a board
is acquired, but will anybody do it?) These are just the current ones. Going
back a bit further there is much work to be finished with the Fruit Machine
stuff I started (many thousands of hours already invested in that, most of
the tedious work has been done even if some would consider it ‘non-creative’
) is somebody going to pick that up, having them all working would make a
huge positive difference to MAME.
I don’t *want* to leave the project, but I’m tired of being walked all
over, tired of having suggestions I make to actually help the project shot
down while seeing things like this pushed through and destroying whatever
outward notion there was of ‘team’ and whatever level of integrity the team
have (if they claim all this relicense process to be legal I’d say that is
0) Essentially leaving MAME is the last thing I want to do because it means
everything to me, it is my life, and I believe that it represents one of the
most important causes on the planet as far as our recent cultural history is
concerned, but the situation is so dire now it feels like have no choice at
all. By staying and continuing to contribute I’d only be fueling the fire
and if this license change goes through only contributing to a project I no
longer even believe to be legal.
I’m fighting on behalf of everybody who has ever contributed to MAME. From
my point of view I could, if I wanted, stamp my ownership down on a vast
chunk of MAME (I glanced over the drivers and found that I’ve made
significant contributions to at least one driver file under every letter
starting from a and ending at z) but that isn’t what this is about, this is
about the fundamental breakdown of the MAME development process, and how what
’s happening now represents just another stage of that.
So this is my conundrum now, by leaving I’m most likely going to be harming
MAME, but by staying I also feel I’d be harming MAME by making it look like
I support these actions when I clearly don’t. There doesn’t appear to be a
valid path forward. This is tearing me up.
______________________________________________________________________________
來源:http://mamedev.emulab.it/haze/
--
ポーラステーション
http://perryt0517.wordpress.com/
--
Haze把自己的立場跟MAME的歷史作一個簡單的歸納,有興趣的人可以看一下。
"So why did this annoy me so much?"
History of MAME driver ownership
With a project like MAME it is widely accepted that large parts of the
project are about representing factual knowledge, with that being a key area
many hundreds of people have contributed to over the years.
For this reason MAME has typically avoided trying to impose any kind of
ownership system / individual licensing over drivers. Naturally key
contributors to each driver have been credited in the driver, as a reference,
so that anybody with something to add or contribute, or with a query about a
certain piece of hardware has a point of contact, but that has never implied
any kind of absolute ownership over things, any kind of driver ownership was
always informal, and subject to change depending on activity levels, often
simply being a case of whoever worked on things most recently being your
go-to point.
This worked for multiple reasons, first of all it gave the sense that people
were contributing to the community, and to a project that exists on levels
beyond ‘people’. You weren’t giving your bug fixes, and time spent
refactoring code etc. to one specific developer you were giving them to MAME,
to help advance MAME and make MAME a better resource, a better document, a
better point of reference.
Secondly, it helped keep developer egos tempered, stopped any individual
thinking they were more important than any other because we always considered
the work to be the product of the team and contributors to that. Every
contribution to be equal. Who wrote a certain bit of code didn’t really
matter, if you could help make it better than your work was of equal value.
It avoided arguments like the one we have now where people are being made to
decide what level of contribution counts as ownership.
Thirdly, it meant MAME was a unified front, code could freely be moved
between any drivers in the files, that we showed strength in solidarity,
strength in showing that the purpose of MAME was greater than any petty
personal will. It avoids creating conflict within the source, people aren’t
going to be rewriting things just to avoid the license somebody slapped on a
different file in MAME, all drivers are valued as an equal part of MAME
because all drivers are available on the same terms under the same license.
MAME evolves, most of the good work in MAME has come from the smaller fixes
that have driven this slow evolutionary process. Alone each one of those
fixes might not have been a big thing, but slowly over time they mean most
drivers have been almost entirely replaced. This is a process that transcends
any level or concept of ownership.
Maybe you can now see why the whole idea of individuals owning files was
never really encouraged. Doing so has no real benefit to the project, and is
only liable to cause conflicts, inflate egos, and make some of the people
doing the really important work feel of no actual worth. It does not really
fit the model of MAME where most of what we’re working with is factual.
There was always something of a gentleman’s agreement when contributing to
MAME; if you were part of the MAME team then you submitted code under the
MAME license for the benefit of the team and everybody on it. In the past if
you didn’t then the code you submitted would have been rejected, to keep
that solidarity I mentioned. Just because you technically could mix BSD and
LGPL drivers in the source didn’t mean it was a good idea, or that code
submitted under such terms would be integrated into the project; the intent
was simply so that compatible libraries could be used to support the project
(such as the XML parser, Jpeg decoders etc.) where the code was never going
to be mixed directly with MAME drivers, and was of no interest or value to
the project beyond the support role it provided.
For reference this is why I haven’t been going through the source myself
asserting my right to things, even when I know I’ve worked on them. I’m
sure this can be used against me, but I maintain that anything I’ve worked
on is the product of everybody who has worked on it, not something owned by
me. I stick very much with the original principle of MAME development and ‘
ownership’ I do not really consider the files to be ‘mine’ in a formal
sense, I consider them to be files that exist for the benefit of this world,
contributed towards and made available for non-commercial use under the MAME
license.
Chip in the Windscreen
At one point the previously mentioned agreement appeared to be thrown out the
window. Aaron Giles was in charge, and instead of submitting files under the
common license he started submitting files under his own BSD license. First
the core / framework as he rewrote each part, then various drivers, and other
things he seemed to be rewriting for no other reason than to be able to slap
a difference license in them. While it might have been almost acceptable on
the framework files (because there is a fairly distinct separation between
framework and drivers) I didn’t feel it was in any way acceptable in the
actual drivers and device emulations. Aaron was violating the basic informal
agreement of the MAME submission process. Yes, he was entitled to do so, but
it never felt right, and lead me to think one thing and one thing only.
“who the hell does Aaron Giles think he is?”
I have tremendous respect for Aaron and his long-term work on MAME (including
many years of paying for hosting etc. out of his own pocket) and feel pained
to be saying this, but I don’t believe the way he has strong-armed files
with a BSD license into our codebase to be the least bit ethical. One person
is not above the team, and regardless of his level of contribution I feel his
unwillingness to accept these informal rules to show a complete lack of
respect.
I think if anything it is simply a sad lesson on what happens if you give one
person too much power, a cliché for sure, but an appropriate one because it’
s taken things getting this far for anybody to challenge him on it despite it
being deeply disharmonizing. What started off like a tiny chip in the MAME
structure with one or two driver files relicensed (and therefore
semi-incompatible with the rest) has rapidly escalated into a full crack
right through MAME as a land-grab to claim rights over drivers was started,
it feels like a cancer within MAME.
In effect what was proposed, and really riled me was Aaron and others
basically seeming to think that using a loophole in the license and general
nature of MAME is perfectly acceptable; that by deeming the many of the
factual contributions to be ‘non-creative’ or ‘mechanical’ work files
could be easily relicensed without having the consult the majority of people
who have contributed to them. Who uses loopholes to their advantage in this
way? Typically not people who are spoken favorably of.
I find it ironic, because lately Mamedevs have been really pushing for
modernization, refactoring etc. of code, expressing how it is one way to get
into MAME, and expressing how important it is that it gets done to help take
MAME to the next level. Apparently such changes are also ‘non-creative’ and
‘mechanical’ and thus wouldn’t count towards any kind of ownership.
The ‘crack’ extends beyond the actual driver codebase tho, right through to
creating formal tiers in the levels of submission. Suddenly the ‘main’ devs
on each driver are the only ones who really matter, they have ownership of
the files, if you submit something to them then instead of submitting to the
MAME project you’re submitting to them, in code you ultimately have no say
over, code they can relicense again if they please. This is not a good
situation. The feeling of equality is destroyed, and when such a large amount
of MAME is not based on the actual emulation code, but the facts and other
work that might be deemed ‘non-creative’ I don’t really think that is fair
on the people who have contributed, especially not to be changing it at such
a late stage. This does not fit well with a model where code mostly evolves
either.
People have always been free to contribute to MAME knowing that nobody else
is going to be making money out of their contribution. You could say they’ve
always contributed knowing that somebody else could take the knowledge
conveyed in their contribution and build something else out of it, but I
doubt many contributed thinking it would be Mamedev trying to change the
terms.
What we’ve been left with is the situation I described in the previous post.
This could be alleviated slightly if a rule remained in place that all files
contributed to MAME had to also be available under the MAME license or would
simply be rejected (thus any code from them could be taken and put in
MAME-only licensed files) but that would not alleviated the problem of people
being unable to contribute to files that had been dual-licensed if they did
not agree to wanting their work sold. This means that across a wide part of
the code-base there will now forever be conflict and again this is why I’ve
said that from this point the project looks dead.
Maybe better would to be insist that all files in MAME are MAME license once
again but also make it clear to devs that they can self-publish their
submissions under their own license, on their own sites, if they want. That
way MAME is still MAME and shows the same solidarity we’ve always shown but
individuals who feel the need to be individuals rather than exclusively team
members can also publish things for use outside of MAME under different
terms. The thing is there’s nothing stopping people from doing that already,
it makes sense and is non-disruptive to the team / project.
The Personal Side
This upsets me on a personal level too because in some ways I feel guilty for
where we’ve ended up. It was a long time ago now, but I was the one who
handed MAME to Aaron, I felt he would make a good leader of the project, that
he understood the team ethos, that he understood the value of people’s
contributions, be them big or small, drivers for hardware from major
manufacturers or the painstaking work in getting a random bootleg or obscure
piece of junk working. I’m not sure I was correct, his statement that
removal of my work from the project would be a small short-term loss
indicates he has little grasp of what has actually been put into this project.
I also feel guilty because there are many times where I’ve made myself too
easy-a-target, you could possibly even count these posts as doing that, there
will be people quick to use them against me, make me out as the disruptive
influence in this. I think that played a role in me being removed from the
development team in the past, I was the one who always challenged ideas if I
didn’t think they were great, but in fighting too hard for what I cared in
other areas while challenging the views of the current leadership it was
always easier to remove me.
With it looking ever unlikely that I’ll have anything to contribute to this
project again I may present you with one further personal update on what MAME
meant to me because I’m not sure it’s something anybody has really ever
understood. This however is not the time for that.
Other Musings
The funny thing is, I think there should be a fully open ‘use however you
want’ emulator out there, maybe even one with all the coin-transfer/memory
logic people want for actual commercial settings, or even built-in timer
logic so they could run console games on a timer too (something like that
would certainly work in a museum) but it’s too late to turn MAME into that;
it is not a natural course of evolution*, it is not a move based on technical
reasons*, or the hardware we emulate*.
(*like say emulating consoles because we already emulate the same hardware
for arcades would be)
Should a project actually exist, done in a clean way, from scratch, with
potential commercial users and a true OSI license in mind from the start I
would actually happily contribute to it, transfer my knowledge across, help
build something new. However trying to use MAME as a starting point and grab
as many drivers as possible is not a clean way, and doesn’t have any of the
benefits a proper clean approach would have. Doing things that way would
create no divide, no disharmony within the team. People would be contributing
from the start under clear terms, there would be no additional legal
uncertainty from trying to relicense code, no pressure within MAME for people
to be destroying existing drivers for the sole purpose of relicensing, it
could even provide healthy competition. That would be a good thing.
MAME is a fantastic resource, but has a number of weaknesses anyway, there
are times I think doing a rebuild from the ground up with what we know now,
for example, the knowledge of exactly how demanding some systems are to
emulate in terms of timing, bus conflicts etc. while keeping in mind you also
need performance. I guess the irony there is the actual MAME core would
probably be the least suitable place to start with that (because that’s
where some of our current problems come from) you’d probably want to start
with a 100% compatibility emulator for one of the popular 8-bits and build up
from there. If anything my only concerns over the viability of UME come from
my constant wonder if our emulation core / framework will ever be quite up to
the task.
Speaking of UME I’m sure some could accuse me of being hypocritical here,
and saying I’ve been trying to do the exact same thing with UME as Aaron
etc. have been doing with this licensing rework; trying to strong-arm it in
when some people don’t see the benefit. I would like to point out a few key
differences however. UME was about unification, bringing everything together,
greater sharing within the project, greater strength by being able to envelop
many more interest groups. The license reworking instead creates a massive
divide through the project, essentially splitting MAME in half over a
completely non-technical issue. It makes it harder to share code within MAME,
it weakens the project for the benefit of the few who want to be able to use
it in a commercial setting. The real difference is I would not propose, push,
or support something I felt could actively harm MAME.
Final Few Words
I’ve tried to make sure this doesn’t come across as a personal attack, even
if due to trying to explain my viewpoint there are inevitably areas where
that cannot be done without it coming across as one. While I’ve highlighted
Aaron as (IMHO) one of the key propagators of this problem there are others
who have been pushing it lately too, so I urge that there is no mass hatred
directed at any one individual here. I mention Aaron mainly due to his
aggressive attitude when it comes to this, deeming any code that needs
replacing to be a ‘small short term loss’ and his accusations that I’m ‘
holding the project hostage’ over this, apparently trying to use any bad
feeling people have towards me to his advantage.
You’ll note that this write-up generally avoids the nature of the changes,
and avoids talking about why allowing MAME to be used in a commercial setting
annoys me. That is intentional. What annoys me most about this situation is
not that aspect of the change, but the complete lack of respect shown in the
way it’s been done, the complete lack of understanding about the history of
MAME, how the project evolves, what has kept it ticking all these years. What
annoys me is the fragmentation this creates within the project, the fact that
it signals what a number of people have been predicting for a while, the
implosion of the team, a situation where every developer now seems to think
they’re bigger than the team, and that their ownership of a piece of code is
more important than any other and more important than the improvements others
might want to make to it; that being able to claim individual ownership
within MAME is more important than allowing actual progress. To me this is
more about seeing the heart violently ripped from a project I love. A lot of
MAME development was about goodwill. That is gone.
The Future?
There’s never a good time to leave a project, and that is what has always
kept me coming back in the past. I know that if I don’t finish things often
they end up being left unfinished, and that’s not good for the overall goal
of preservation (I’ll forever have to live with a guilty conscious if the
one chance we had to do something doesn’t get done because I’m not
involved.) I leave this time with (for example) rtw having a partial trojan
for the IGS game ‘The Gladiator’ in addition to several other PGM games he
purchased because I was interested in running tests on them. I feel guilty
that he spent money on those if they’re not going to be used for purpose (I’
ve asked him to mail the team asking for someobody else to pick up where I
left off) I also leave with ANY looking for a board to extract the Carket
Ball MCU data (should be a brain-dead simple task for somebody once a board
is acquired, but will anybody do it?) These are just the current ones. Going
back a bit further there is much work to be finished with the Fruit Machine
stuff I started (many thousands of hours already invested in that, most of
the tedious work has been done even if some would consider it ‘non-creative’
) is somebody going to pick that up, having them all working would make a
huge positive difference to MAME.
I don’t *want* to leave the project, but I’m tired of being walked all
over, tired of having suggestions I make to actually help the project shot
down while seeing things like this pushed through and destroying whatever
outward notion there was of ‘team’ and whatever level of integrity the team
have (if they claim all this relicense process to be legal I’d say that is
0) Essentially leaving MAME is the last thing I want to do because it means
everything to me, it is my life, and I believe that it represents one of the
most important causes on the planet as far as our recent cultural history is
concerned, but the situation is so dire now it feels like have no choice at
all. By staying and continuing to contribute I’d only be fueling the fire
and if this license change goes through only contributing to a project I no
longer even believe to be legal.
I’m fighting on behalf of everybody who has ever contributed to MAME. From
my point of view I could, if I wanted, stamp my ownership down on a vast
chunk of MAME (I glanced over the drivers and found that I’ve made
significant contributions to at least one driver file under every letter
starting from a and ending at z) but that isn’t what this is about, this is
about the fundamental breakdown of the MAME development process, and how what
’s happening now represents just another stage of that.
So this is my conundrum now, by leaving I’m most likely going to be harming
MAME, but by staying I also feel I’d be harming MAME by making it look like
I support these actions when I clearly don’t. There doesn’t appear to be a
valid path forward. This is tearing me up.
______________________________________________________________________________
來源:http://mamedev.emulab.it/haze/
--
ポーラステーション
http://perryt0517.wordpress.com/
--
Tags:
模擬器
All Comments

By Joseph
at 2013-10-28T09:47
at 2013-10-28T09:47
Related Posts
A'CAN

By Callum
at 2013-10-22T21:58
at 2013-10-22T21:58
fc東吳三代傳 王猛

By Robert
at 2013-10-22T06:17
at 2013-10-22T06:17
Dolphin 4.0.1

By Michael
at 2013-10-21T22:36
at 2013-10-21T22:36
PS2 沉默之丘3(Silent Hill 3)簡易圖文攻略

By Frederica
at 2013-10-21T20:54
at 2013-10-21T20:54
(Multi-system) BizHawk v1.5.2

By Sandy
at 2013-10-21T20:46
at 2013-10-21T20:46