Team Development

Colin Putney cputney at wiresong.ca
Fri Nov 14 20:16:44 UTC 2003


Hi Brian,

Congratulations on your switch! A couple of years ago I was in the same 
position, and I'm very glad I went with Smalltalk. I'd recommend 
Monticello; it was designed with your situation in mind. Here are some 
thoughts to help you get oriented.

First, one of the design goals of Monticello was to support the same 
kind of concurrency that CVS allows. Members of the team should be able 
to work independently and merge their differing versions afterwards. As 
Monticello evolved, it moved further in this direction, in that it is 
now oriented towards *distributed*  concurrent development. Where CVS 
relies on a central server with a single canonical repository, 
Monticello is happy to work from several different repositories at the 
same time. Unlike CVS you don't set up a Monticello server; Monticello 
can use any storage area as a repository: memory, disk, or remote 
machines via HTTP or FTP. This lets Monticello projects begin and grow 
in a more ad-hoc fashion, without any investment in shared 
infrastructure.

I bring this up because distributed development is very important in an 
open source project like Squeak, but less so in the commercial world, 
so it might not be immediately apparent how and why Monticello works 
differently than CVS.

Second, one thing that Monticello does have in common with CVS is that 
it operates on snapshots of your program. Unlike most Smalltalk version 
control systems I'm aware of, it does not integrate with the 
development environment. It does notice if you change a package, but 
that's it. You can use whatever tools you like to write your program. 
When you've got it the way you want it, commit that version to a 
repository with Monticello. Monticello is a versioning tool, not an 
IDE.

Finally, Monticello is still under development, and there are a *lot* 
of things still to be done. If you have any ideas on how to improve it 
(or code, naturally) please share them. I'll go out on a limb by 
speaking for the rest of the Monticello team - we view Monticello as an 
experiment in development practices as much as software, and we're 
always interested in new results.

Cheers,

Colin




More information about the Squeak-dev mailing list