Haze WIP : Political Roadblocks / Politics Over Progress - 模擬器

Ursula avatar
By Ursula
at 2011-05-14T16:22

Table of Contents


http://mamedev.emulab.it/haze/2011/05/12/political-roadblocks/

Political Roadblocks / Politics Over Progress

Mame 0.142u3 made big strides towards the MAME/MESS codebase merge, however,
unsurprisingly the move has since hit political roadblocks, and the majority
of the work I put into doing this for the release has once again been
reverted.

It’s a shame that in this day and age there are people involved in the teams
who have no interest in progress, no interest in advancing the project, but
just want to block changes and prevent progress being made entirely for
political reasons, and personal grudges.

At least one member of the ‘team’ (if you can still call it that) has
stated, explicitly, that he’s opposed to the changes because they would
allow me a way back into the project somehow. This isn’t even logical, the
official team is meaningless, and there is no reason to be a part of it
anymore anyway! The real MAME development is determined by who actually
contributes, who actually writes the code and improves the emulator, which is
something I’ve continued to do for years even with certain idiots holding
grudges against me, acting like I only do anything for personal benefit.

So yes, once again.. Emupolitics, fun, it’s the bane of the scene, and as
one other wise person, who has also stopped contributing due to similar
political nonsense once said, a huge cancer on the MAME project.

I hold a little hope that common sense will prevail, and that everything will
actually be moved to a single, public SVN, with single, public mailing least,
and clear public plans, but it seems too many people involved want to hold on
to some sense of elitism for that to happen.

If nothing changes then unfortunately the leadership changes will have been
nothing but a false dawn, which leaves me at something of an impasse.

If I continue to contribute, I’m doing nothing but feeding a political
machine, giving the ‘official’ team a false sense of value, if I don’t
contribute, actual arcade games are at risk.

I’ve tried hard to get the project to be more open, for everybody’s
benefit, I spent the majority of the time in charge of the project doing the
very same thing, bringing source updates, news, progress, and the ability to
contribute much closer to the average user, however it seems here my efforts
are in vain. There simply will be no progress towards making things better
for everybody as long as people on the teams wish to spite me, and go against
things, not for any logical reason, but instead just because they were my
ideas, or somehow reduce their own personal ‘status’ (meaning they would
have to actually contribute to still be considered a part of the project
rather than just being on a list)

I’ve tried to encourage people to contribute, the last 3 updates here point
out ways in which the project could be improved, ways in which people can
contribute directly, but again, I’ve got actual devs saying that they won’t
work on the things listed because some of them are ‘skeleton’ drivers I’ve
created, that I created them to steal all the fame, and all the glory, and
that if they get left in their current non-working state it serves me right
for creating them in the first place. Nonsense. Again, it just comes back to
the same problem, once the driver is public, at all, it’s no longer ‘elite’
to work on it, they no longer have some kind of exclusive right to work on
it because anybody could do it. Again, it’s just political nonsense, and a
way to try and spite me and make me look bad for doing a good thing. Are
these really people who should be involved in the project anyway, let alone
making decisions on it’s direction?

The same people continue to make claims saying that I overstate my own
contribution, that I don’t really do anything of note, yet I’m not even
sure what more I could be doing to counter that argument? I’ve still
involved heavily from day to day, from the smallest changes, to some of the
biggest ones, working with huge parts of the codebase, picking up and
updating long abandoned drivers, adding new things, getting people involved,
and trying to get things moving forward again (albeit evidently failing at
that part)

There are a lot of people who don’t contribute to the project because they
see it as some kind of political machine, not what it should be, an emulator
which emulates whatever it can. Unfortunately times like this simply
highlight that they’re correct, for some it’s just a political power game
to feed their own egos, regardless of what would actually be best for the
project in the long run such as making it more open and making decisions more
transparent.

Some food for thought there anyway. All I can say is, I’m sorry guys. I
tried.

“Politics Over Progress”

Throughout my life people have told me I should be more selfish, stand up for
what I believe in more, take direct action more. Maybe it’s time for that?
Doesn’t really suit me tho.

The Alternative Solution

Rather than merge all of MESS into the MAME tree (which some oppose due to
the structure), there is always the alternative solution, which would benefit
both projects even more quickly.

Step 1.
Make the current public MESS SVN the *single* active SVN, giving developer
accounts to any active developers who only currently have (private) MAME SVN
accounts. (That would probably be aaron, luca, and.. not many others)

Step 2.
Move mailing list accounts over to the more public MESS lists. In the past
this was a problem for MAME because a lot of private discussions took place
(rare boards to try and buy etc.) but that’s all handled by the dumping
union now, no reason to keep general discussion private. Transparency is good

Step 3.
Create an All.mak target (Micko already provided an example of this) which
can be compiled to produce the all in one binary. Then people could choose to
compile all.mak if working on stuff (to ensure they broke nothing in either
project) or continue to compile the mame.mak and mess.mak targets for
distribution. Choice, for everybody.

Step 4.
Continue as normal, but with a far more open project.

If any developers felt their egos couldn’t handle being part of a more
public project with steps 1 / 2, they would just find themselves being booted
off. You can’t really contribute to an inactive / dead SVN and inactive /
dead mailing list.

*edit* I see at least one developer has posted a counter argument to this,
manages to completely avoid the developmental benefits to doing this and
would rather drag it out (when really it would just be a simple 1 day switch
to get everybody working together) while at the same time is posting complete
lies and trying to take credit for some of my porting work. Check the last
HazeMD release, half the stuff he’s claiming credit for I did there.

The problem is some developers, now seem hellbent on proving that the source
tree merging was a bad idea, with weak arguments such as not knowing where to
look. If that solution has been completed there would be one place to look,
because there would no longer be a mame/mess separation at all. Judging a
solution from it’s partial implementation is the same as reviewing a game
while it’s still in Alpha, of course there will be transitional issues.
Likewise, an illusion that the projects need updating to some kind of
standard before it happens. MAME and MESS are judged on functionality, there
is already a mess of standards through the codebase come about through the
rapid change and deprecating of standards done by Aaron during his time in
charge.

Updating everything to one standard is never going to happen because there
will be a new standard before it gets done. Updating everything to the
standard of today doesn’t improve the emulation if done in a robotic sense
because at the end of the day unless significant work is done, it’s just
refactoring, so it makes sense that it’s just something which gets done over
time in a shared project, not a sticking point for SVN merges unless you want
things to simply never happen. What surprises me here is the dev involved has
had this happen first hand, he updated half the video implementations in MAME
to be devices (not that well IMHO, because he didn’t understand most of
them, another reason that trying to batch update everything is bad, most of
the Data East untangling I had to do was a result of this.) Anyway, when he
was about half way through updating it, those devices were suddenly declared
legacy, and would need updating again, and then again. It’s an endless
process, which can never be completed and as a result, it makes no difference
if working in a single source tree, or a combined one.

Furthermore, even in other areas, this kind of mechanical updating is bad for
the project, just because something has been made more modern, doesn’t mean
it’s been improved see comments such as the “segas24: Start untangling the
Vogon poetry Atari Ace left is his wake. Apply the new timing implementation
per cgfm’s analysis. Gain ground is going to be stuck in free play mode. [O.
Galibert]“ left in a recent whatsnew. A change made originally as a result
of this mass batch process attempt to update the code to some standard which
ended up taking more time to untangle than if it had simply been left alone
in the first place, much like the Data East stuff. It’s far better that one
person spends time updating something they understand, over time, taking real
advantage of the new core features where they would benefit rather than
somebody batch updating everything just to meet a standard.

I’m not even bothered that that’s not the solution chose, it was just one
possible solution towards the goal, one way to get things moving, one way to
show that the projects were just the same, and collapse them into a single
public SVN for the benefit of everybody. Action gets things moving,
unfortunately my concern is now that it will just be back to ‘as you were’

Just last night another potential developer was agreeing with me, that
without a public SVN it’s too hard to track the project, and therefore much
harder to follow changes and look to make an active contribution. This
repeats time and time again, developers are being thrown away over this. I’m
trying my best to get people involved, but the projects are too stubborn to
make the changes needed to support it. Right now I can only really contribute
at all because I’m privileged enough to have access to the private MAME SVN.
To me this isn’t fair, at all, I want to be on the same level as any member
of the public, and for any member of the public to be on the same level, but
as things stand that would make contribution near impossible.

Right now, all the public have are occasional batch syncs from MAME in the
MESS tree. This leads to poor SVN logs, and poor SVN history, as the changes
lose their context when they’re batch ported. It makes tracking down
regressions harder as changes often consist of multiple updates from MAME,
all things which having the teams work together in a single SVN would solve.
Working together however, seems too much to ask.

There _have_ been extensive discussions on these things over the last year,
if not 2, but ultimately they end up being blocked by egos and such, people
desperate to hold on to that last bit of power that a public project could
take away from them, people who aren’t passionate about the emulators in the
way I am, but care only for what the emulator can do for them. Sad, isn’t
it. It’s even more ironic that I’m being accused of refusing to take part
in discussions on lists over it, when the very people making the accusations
didn’t want me on the lists in the first place, one of the reasons for that
being I didn’t simply agree with everything being said and done. If the
lists were public, with open debate, so the public could see the reasoning
(and how pathetic some of it is) it might make more sense. Locking everything
up in private lists doesn’t. My attempts to discuss this in public (for
public benefit, and public input) instead are continually censored which are
why I’m having to post things here instead.

Maybe some people see this as controversial, the same way that me currently
supporting somebody adding proper 3d rendering to MAME is seen as
controversial. The problem is, right now, because of the lack of vision MAME
is becoming a laughing stock. Who wants to work on an emulator where you’re
not allowed to use 3d rendering? Why are all the best devs now working on
their own emulators, as opposed to in the past, when all the best devs came
to work on MAME?

If you look at other emulators, MAME and MESS are the only ones forcing such
artificial limits on the coders. Demul does Dreamcast, Naomi, even the Cave
SH3 games. Nebula (and other similar emulators) do NeoGeo, AES, NeoCD, CPS,
CPSChanger. WinUAE does all the Amiga range, as well as Arcadia (haven’t
checked to see if they’ve added Cubo32 recently). FreeDO will probably end
up adding support for the coin mechanism to run obatack. Retrocopy runs both
SMS and System E. FinalBurnAlpha has Megadrive support. SNES emus do SNES and
Nintendo Super System. NES emus do NES and VSNes. The Acorn Archimedies
emulators do the AA as well as the arcade games based off it (Erotictac,
Poizone) There is good reason all these emulators are far superior to MAME /
MESS for their systems, they have a better development philosophy and are
more attractive prospects to work on. Basically this artificial divide is
something of the stone age, and only exists in MAME.

Other developers, on other projects have seen that the only way to develop
good support for systems is to simply not care, not create this artificial
divide, and to support everything needed to have as many test cases as
possible. With the current divided MAME/MESS structure you don’t even have
this option, you have to compile two separate (yet 95% identical) projects
and schizoflip between them for each and every change you want to test. This
makes it *unattractive* to developers, and again, a laughing stock when they
can code in their own emulators to a better standard without having to worry
about silly political divides. Even the developers of some of the derivative
MAME builds have seen that it’s a bit of a joke, and merged in various parts
of MESS.

Let’s quote another mail I just got just today. “One common SVN that the ‘
normal’ people can actually follow would probably make matters easier.”

MAME and MESS need to stop being *unattractive* if there is to be real
progress. There are multiple parts to this. Being more open, encouraging
contributions, not applying artificial walls to development are just a few. I
can do my part, but other people need to start doing theirs, pull a few
strings, and flick a few switches if all of this isn’t to be for nothing.


科科

--

All Comments

RomManager MAME Dats v0.142u3

Yedda avatar
By Yedda
at 2011-05-14T12:36
http://www.emulab.it/rommanager/ RomManager MAME Dats v0.142u3 is released. RomManager is a mIRC script that allows you to display the status of your Emul ...

GameBoy Online (2011/05/14)

Rachel avatar
By Rachel
at 2011-05-14T12:27
http://www.grantgalitz.org/gameboy/ A GameBoy Color emulator written in JavaScript that strives for performance and near perfect compatibility. This is a ...

求可多人連線的街機模擬器(繁中)

Iris avatar
By Iris
at 2011-05-14T01:18
最近想研究一下模擬器 之前有玩格鬥遊戲雙人對戰的nfba 可是那個好像不能3-4人連線 例如 地獄神龍 三國志 求板上的大大能提供載點 PS:爬文爬1個多小時 都沒看到載點... - ...

吞食天地Ⅱ夏侯恩的復仇DX

Oliver avatar
By Oliver
at 2011-05-13T17:18
最終版發佈!不過因為是人家傳給我的,所以我也不太確定更新的部分,目前只知道 某些關卡(路線)小幅更動跟敵人強度修正等,需要的人快點下載吧! ______________________________________________________________________________ 下載: ...

(Multi PC) VICE 2.3.6

Carol avatar
By Carol
at 2011-05-13T17:09
2011.05.12 VICE v2.3.6 is released. VICE is a program that runs on a Unix, MS-DOS, Win32, OS/2, Acorn RISC OS, BeOS, QNX 4.x, QNX 6.x, Amiga, GP ...