August 2007


Aug 12, 2007: 15. More about Squeak


Continuing earlier BitsAndPieces - see e.g. About Squeak   - here is some more about Squeak that seems to me reasonable.

First, here is an anonymous writer, who toke up the 'Dolphin is dying' theme, and wrote as follows:

"Anyone who says Squeak is production ready has never used Squeak in production. Recently quite a prominent member of the Squeak community seriously considered moving to Java because he could not get uptimes bigger than a two days. It turned out Delays and Semaphores (!!!) were broken all time along. There are dozens of issues like this. One example is that the settings of the GC are tuned for memory sizes of about 1 MB. Don't even get me started about the 1 GB and 120 MB memory issues which tend to crash the image. Or the bugs in ClassBuilder, InterpreterSimulator, Decompiler, .... You need to have several Squeak images per CPU because there is a limit to the amount of punishment a single Squeak image can take. Squeak itself is heavily forked (Squeak, Croquet, Sophie, SqueakLand, SmallLand, ... ). All the code in the image in unmaintained. There are teams but most of the time they don't even integrate submitted fixes for bugs. Development of these packages has stopped. The same situation for the VM. The only VM that is maintened is the Mac VM. The Windows VM will only get new builds if the maintainer needs some fixes for himself. The Unix VM is unmainted. The maintainer of the main VM code publically stated he will do shit unless someone pays him. Squeak is fully of ugly shit code that has just been hacked in for abandoned experiments. That http server Seaside uses on Squeak? Unmaintained and has bugs with HTTP 1.1. That really is just a small list of issues Squeak has."

This got various reactions on the Squeak-list, under the header "Very bad about Squeak in blogosfere", among which there were two reasonable ones, by people who have done a lot for Squeak (and Smalltalk) and know it well.

Here is first Colin Putney's reaction to this:

"It's stated a bit harshly, but yeah, that sounds basically accurate.  The amazing thing is that, in spite of all that, Squeak is still such  a wonderful platform to work with. I do use Squeak in production, and  there are very few things I would trade it for."

and next Andreas Raab's, reacting to both of the above:

"Well, yes, but you can't deny that the guy's got a point. The
frustration he's expressing is something that everyone has felt over the years. And while there are various plain invalid points in his post (like the fact that Squeak has bugs - I'm *shocked* to hear that of course and would have never started three products if I'd known that ;-) the main emerging point is valid: The lack of quality and maintenance.
The problems he cites are all known, some of them even have fixes but there isn't enough traction in the community to make this all come together. And of course the forks don't exactly help because we still haven't figured out how to share code across the forks and consequently we have left numerous folks behind in the last versions (3.7: all those people who don't want m17n; 3.8: all those people who don't want traits) and absolutely no way (and interest) in re-integrating those forks. And as a result, you'll have the effect that Croquet has tons of bugs fixed but nobody knows it (because I don't care about peddling the goods). And I'm pretty sure the same goes for Sophie or Seaside or OLPC or any other serious project.

Leveraging those projects is what today is really, REALLY terrible at. But it is where the majority of Squeak production code gets written so if you want to get those fixes and enhancements that happen in these projects you need to find a ways of integrating them."

This seems to me all fair enough, and it also faces some real problems (instead of the more usual Smalltalk-reaction to criticism, which is to insist how very special and very good Smalltalk is, and especially how much better than Java). And both Putney and Raab know Squeak very well indeed, and did a lot for it.

It also points to a problem the developers of Dolphin ran into, which is that free (open source) software development, in being developed by "a user community" spread over the globe and communicating by mail, runs the risk that much of the subsequent development is thwarted by hobbyism, personal pet-projects, endless e-mails about trivia (several books the size of the phonebook could be filled with fatuous mails from the Squeaklists without any useful contributions that end with "just my 2 C" or "IANAL" (which doesn't refer to homosexual proclivities, but means "I am not a lawyer")), and in general endless e-mailing about anything whatsoever that does not contribute the least jot towards better code or better (or any!) code-comments for naive users.

Much of this is probably unavoidable, given what people are like, on average, and that most who contribute(d) to Squeak do so without any payment and in their own leisure time.

This also is a problem for other open source development, not just Squeak or Smalltalk, and it is difficult to see a good solution for it.

Or rather - and here is the reason for the justified bitterness of the Dolphin developers - it seems that the one solution that works best in principle, namely open source development of a product that also is commercial (because this can produce the money and the impetus to do the documentation and debugging that hobbyist programmers find so  distasteful or difficult to do, and that for most usually constitutes a reason to mail much about it rather than to do anything about it  themselves), does not work in fact, because the enthusiastic users of the product do not feel sufficiently moved themselves to invest financially in it.

Again, I have no solution, and merely note the problem. And as I indicated in my previous BitsAndPieces, it seems as if a good part of free open source development of programming languages turns out to assist Microsoft rather than oppose it - and that mostly for the reason I gave: Enthusiastic users of free software are willing to write endless mails about it, but far less willing to shell out a little money for it.

Perhaps there is a moral, though: If you hate Windoze (as Smalltalkers tend to write), you should be willing to pay - at least - as much as you had to pay for Windows to have it run on your computer, in order to  further open source development.

Maarten Maartensz


        home - index - top -