From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-09-29 01:45:09
David Abrahams wrote:
> Kirill Lapshin <gclbb-jamboost_at_[hidden]> writes:
> > Add to this the fact that Vladimir is very responsive to user requests,
> > and V2 is in quite good shape at the moment, so why would I bother
> > hacking my way through the code if I could just ask on mail list? :)
> > Does it mean that V2 is bad? I don't think no.
> I'm sure you meant "I don't think so". I don't think it's bad
> either, and I hope I didn't give that impression.
> > Overengineered? I don't know enough to judge on this one, but it
> > might be the case. Lacks documentation? Certainly. Would more/better
> > documentation simplify life for users? Absolutely. For developers?
> > Not really sure.
> All of those factors you mentioned, including to some extent
> Vladimir's responsiveness (but please don't stop, we'd be lost
> otherwise!) contribute to a situation in which he is the only person
> really comfortable with the design of the system, even though there
> are at least a few people I know who are actually motivated to make
> significant contributions. That means BBv2 doesn't get many of the
> usual benefits of open-source software, among them the momentum of
> multiple contributing partners and a feeling of security for users
> that if one person goes away for any reason, the software will still
> have a life.
Answering Kirill, V2 is somewhat more complex that in should be. Dave has
raised the concerns about architecture already, I've agreed to them to a
certain degree, but nothing happened.
The problem is that the situation is like a deadlock. I can try to refactor as
I implement feature, which I actually do. Another alternative would be to
stop implementing features, and refactor to get a better architecture. Why
not? Because I have some reservations
- No features/user-level improvements for a next milestone is just not good
- I am not sure that archiecture improvement will have noticable effect on
involvement of other persons
- Even if I start refactoring, I might well refactor parts that *I* consider
messy, and in a way that *I* consider right. Which might end up even more
confusing for other people.
So, I did not have much motivation for a global refactorings. And because of
that nobody dares to write significant patches. Deadlock?
I don't know how to resolve this. I can try to raise priority of refactorings,
and there are some things that I wanted to improve for some time. But that
also requires that other interested parties review my refactorings or suggest
places to improve or help with this process. Without that, I might return to
the current mode of operation.
And, Dave, you say that "a few people I know who are actually motivated to
make significant contributions". Can you tell who are they? My impression is
that nobody has enough time. Some pretty simple and good ideas, like
separating the build system in 4 layers, were never implemented, for example.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk