Need to do something

Simon Michael simon at joyful.com
Wed Oct 12 23:37:17 UTC 2005


On the question of centralized versus distributed oversight/control, I 
don't think should be either/or.

As an example, here's how a project using darcs can have unconstrained 
innovation at the edges, tighter control at the center, strong code 
ownership if desired, and why it works. I don't know how to do this in 
Squeak, but it illustrates some useful characteristics :

- there are as multiple repositories (in squeak, think images or update 
streams). Creating new ones is cheap. Anyone is free to commit changes 
to their local repo, or publish it and allow others to commit

- it's easy to migrate changes from one repo to another, selectively

- there's an official release repo, which gathers changes from the 
others, but with stricter QA oversight enforced by the owner.

- if necessary, more "official" repos can be set up to meet different 
needs or priorities.

- if the repo owner (or team) makes a mistake, discovering later that a 
change they accepted was actually a really bad idea, they can roll it 
back no matter how long ago it was made. Dependent changes since then 
will also be rolled back (the system tracks change dependencies)

Keeping full information about changes and their dependencies, instead 
of just snapshots over time, seems to work really well for release 
management.




More information about the Squeak-dev mailing list