Custom fields schema
Daniel Berlin
dberlin at dberlin.org
Fri Jan 28 04:05:31 UTC 2005
>> Way to foster major
>> contributions!
>>
> Way to foster quality! Nobody worked together with the core team in order to
> perform the analysis stage of the development.I think it's unfair to skip
> this stage and to try to make the core team accept a suboptimal code without
> having either review or basic design stages.
I'm a usually silent observer here, but i've watched what is happening now
happen time and time again, and it's always the same arguments on both
sides.
I'll also note that one of the reasons i don't work with the core team
before i implement gcc features is because i have the distinct impression
(from watching the bugzilla bug reports and mailing lists for years
now) that some members of the core team believe it is their way, or the
highway, and i don't have time to theoretically masturbate over bug system
design. Unless some other design for one of my gcc bugzilla patches is
going to be wildly easier to maintain, it's just not worth the time. This
is not the same as saying i believe i should be able to contribute a bunch
of complete hacks. However, too often people here seem to delve into
design issues that are way too picky for a system of the complexity of
bugzilla.
Effectively claiming that we can't get to some good place starting
with sean's design and code, and incrementally improving it (IE
making the rest of it acceptable, committing it, and improving it as we go
along) is just not a good argument to me.
I've seen it done in every open source project i've ever worked
on[1].
You know what?
Unless the design just plain can't work, you can do this, and you know
what, it makes the users and developers a *lot* happier, because they have
*something*, instead of *nothing*.
Sean's design meets the requirements of being a sane custom fields
implementation. He is willing to conform his *code* in order to meet the
other design requirements of a custom fields implementation for bugzilla.
His existing design may not be the most performant, or whatever, but it
works, and it is a starting point.
These are just fields and tables in a database.
We can always migrate.
Or do you want to wait a few years for the next guy to try to make a
custom fields patch, and then we can beat him down too for it not being
theoretically perfect, when we could have spent the time turning something
we've got *now*, into what we wanted, by then.
--Dan
[1] Hell,we just, over the course of 2 years, added a new SSA based middle
end to GCC (which had no middle end, and for that matter, no well-defined
interface between the frontends and the backend).
The starting design was incrementally improved into something wildly
different. Yes it required some coding changes on the part of people
working on new optimizers. I was one of these people.
You know what?
It was better to have to change large amounts of my code because diego
decided some abstraction wasn't giving us the information or performance
we needed, than it would have been to sit there and do nothing while he
sat around for 3 years trying to design the perfect interfaces and
abstraction level. It never would have been completed had we done it that
way.
More information about the developers
mailing list