It's been a several years since I've used Smalltalk or kept up with the community, but I always noticed that the sharing was not nearly as granular as other environments, and the open source development always seemed sparse. That never really made sense to me -- there's lots of talented programmers who want to share what they are doing and are excited about their projects, and the environment is pleasant and rewards self-motivated programmers. But it's hard to share a small piece of code with other people -- at least it was in the environments I used -- and it felt hard to cooperate intimately on limited-scope projects.
I think that was likely true even a few years ago, but there's been a steady influx in recent years of people (myself included) with fairly "traditional" open source values, and there are now several very active repositories of open source Smalltalk code being shared and collaboratively developed. These are:
For VisualWorks, Cincom's Public StoRE repository; there's an index here.
For Squeak, there's SqueakMap (roughly equivalent to Freshmeat, it just lists package releases), and SqueakSource (roughly equivalent to SourceForge, it provides collaboration tools for OSS development).
Take a look, you may be surprised by what you find.
In the same comment, Ian also writes:
Hmm... I used the term crude up there, without thinking about it; a kind of freudian slip. I suspect GUI users (i.e., Smalltalkers) feel the same about the command line and our quaint ASCII files. An interesting symmetry behind the divide.
I certainly understand the equation of GUI with crude, and to some degree even the equation of Smalltalk with GUI, but I don't think it makes sense to make the transitive leap and call Smalltalk crude - the crucial difference being that in Smalltalk, every tool provides first and foremost a rich object API, and only secondarily (and sometimes not at all) a GUI interface. Smalltalk isn't a GUI environment so much as an OO shell with some nice UI wrapped around it, one where you can always drop back to the shell by using a Workspace if you prefer. What we (you know, the arrogant Smalltalkers) find crude about command lines isn't that they aren't "graphical", it's that they are neither extensible nor transparent: how do I subclass cvs? Can I (easily) throw a breakpoint into grep to understand why it's not turning up the results I expect? Emacs takes you some of the way towards what I'm talking about, but not nearly far enough.