On 10/31/05, Jonathan S. Shapiro <address@hidden> wrote:
If you are asking "What would shap do if *he* were the architect?", then
yes, I would begin from scratch -- but I already have done this.
If you are asking "What does shap think the Hurd group should do?", then
I would say: figure out what your real objectives for the system are,
and from this decide what approach to system architecture is
appropriate. However: several of the truly innovative features that we
have been considering are the same ones that led me to start from
scratch.
Well, from my viewpoint, I rather like the idea of a persistent
system. I spoke to someone briefly on the matter, telling him
that I didn't yet have all the details, and even though I didn't have
all the details yet, he seemed to think the idea of a persistent design
was pretty innovative. He and I both agree that a system that can
recover itself to within a few minutes is potentially a very good way
to keep people more productive when bad things happen to the
system. I will wait until we start to get more into the next
phase of design discussion before I talk about the "but what if" aspect
of this viewpoint.
And now we arrive back at something I tried to say way back at the
beginning of the month: my views about how to do system architecture are
fairly mature and fairly carefully reasoned. This makes them easier to
describe in a coherent way, but conversely it makes them much harder to
dislodge in the ears of the listener. There is a real risk in any
extended architecture discussion with me that the listener ends up drawn
to my view -- simply because it *is* carefully thought out and
reasonably cohesive. [I am certainly not alone in this property --
Jochen had it too, and others do as well.]
Personally, as long as we have a way to get most POSIX applications
running on the Hurd, I do not mind a new design. I'd be very
interested in helping put in comments when I can and doing coding any
free chance I get, which, for a while, will be consumed mostly by the
device driver framework.
What I would like to keep in mind as we progress is that we need to
show real progress. Perhaps a staged delivery lifecycle could
help here? Delivering little pieces of the OS at regular
intervals could help keep the program on track and show end users that
we really are getting work accomplished.
--