[Serdev] SER architectural decisions - was: So who/what is SER for, anyway?

Greger V. Teigre greger at teigre.com
Thu Jan 25 12:24:33 UTC 2007


> Greger's comment: The next discussion item I identified in Dragos' 
> post was the topic of architectural decisions and who make them and 
> when. I call the thread "SER architectural decisions"
> ----------------------------------------------
>
> To me, the whole thing looks like a pile of hacks. When was the last
> time that there was a overall design discussion? I think that modules
> and extensions just grew around, but nobody wanted or had the power to
> cut some dead branches, enforce some policies and specify some clear
> internal interfaces. If one person would take care of it end-to-end, OK,
> but it's not the case.
I don't really agree with that evaluation. If you look at SER 2.0, you 
will for example see a completely different data model, as well as many 
discontinued modules. There are many things that can be done, but I 
think most people agree that a total redesign is never a smart thing to 
do, it takes forever to finish.

I think SER 2.0 is a start, but there have been no public (serdev) 
discussions around design, until now. This means that the design 
considerations have been taken by the developers based on their 
experiences and the daily work they do. I think discussions like in 
these threads are absolutely necessary for SER as an open-source 
project. We have some very competent developers with lots of experience, 
as well as a big community with very diverse experience from using SER.  
But we still need a public process for discussing, prioritizing and 
making decisions.  On this area, iptel.org has still some consensus-work 
to do.  (And a good governing model can prevent hacks-on-hacks.)


To be honest, I also believe in a model where one person has an overall 
responsibility for end-to-end (like Linus for the Linux kernel). 
However, this person should only have the open-source project as 
priority and make final decisions where no consensus can be reached (or 
overrule in some special cases).
And all decisions should be made public. However, if there no developers 
without some outside motives (like commercial ones), we either have to 
let one commercial entity or some kind of technical board make 
architectural decisions. If not, there will always be criticism that 
some hidden motives are behind decisions.

So, Dragos, if you were that lead developer, which difficult decisions 
would you take?
And then, which interests do you believe would suffer under those decisions?
If none, that's good :-)
If there are, how do we organize SER so that good and balanced decisions 
are made?
g-)


More information about the Serdev mailing list