[squeak-dev] 3.11 and the trunk

Andreas Raab andreas.raab at gmx.de
Wed Aug 19 06:12:13 UTC 2009


Folks -

This is going to be lengthy, so I apologize beforehand. But we're in an 
unfortunate situation right now, an impasse between the board-approved 
3.11 proposal and the new kid in town, the trunk. I'm trying to get out 
of this impasse, so here are some thoughts.

First of all, I made a mistake. After my discussions with Matthew (both 
on- and off-list) I fully expected that 3.11 was dead when Matthew told 
me that he would stop working on it. Keith had been pretty much 
invisible in the discussions up to that point so I had (incorrectly) 
assumed that he wouldn't have any attachment to the 3.11 label and 
consequently I didn't spend any time on thinking about the relationship 
between 3.11 and the trunk. Obviously that was wrong. So apologies again 
for misinterpreting the situation.

That out of the way, I have to admit that I only realized today just how 
different the goals of the 3.11 proposal were from what I have been 
reading into them the entire time.

Quoting http://installer.pbworks.com/Squeak311Proposal:
	"The technical goal of Squeak 3.11 development is to provide a tool 
chain to enable many contributors to add code to the base without 
bottlenecks. The validation of this goal being the production of a new 
3.11 image built using this tool chain."

What I had missed (literally until today) is that the goal of this 
proposal is not to create a new version of "Squeak the software", the 
goal of the proposal is to develop a set of tools. The creation of a 
3.11 release artifact in this proposal is just a validation step and not 
given much further thought (just check how detailed the description of 
the tools is and how vague the description of the release artifact itself).

I never got this before. And I'm sure many others didn't. And I'm not 
even sure the former board fully realized that they were ordering a 
kitchen instead of the entrée.

But suddenly things make sense that previously didn't. It does explain 
for example the contents of http://ftp.squeak.org/3.11 (which had 
puzzled me endlessly). Since the goal of the proposal wasn't to create a 
3.11 image we find nothing that's labeled 3.11 in the directory. Instead 
we find different Squeak versions that the tools were applied to. Makes 
sense once you understand that the proposal isn't trying to create a new 
release of Squeak but rather a set of tools.

The trunk development on the other hand is all about Squeak the 
software, the content. I don't care about tools any more than that I 
need them to get the job done, and if I can beat Monticello into 
submission and have it give me an incremental update stream with minimal 
fuzz I will do that and concentrate on what I consider the important 
part: Squeak.

In order to get out of our current impasse, I first and foremost need 
people to understand this: The trunk is not about tools or 
infrastructure and the 3.11 proposal is not about content.

And perhaps that is also showing the way out. What if we left the tools 
work to the tools and the development work to the developers? What I 
mean is that we can use the tools that have been developed in the 3.11 
process, for example, to do continuous integration from Mantis. All the 
bits are there (well, were there, now that Bob got pulled, so perhaps 
this won't work) but the tools infrastructure can certainly be used to 
take part in the content development which happens in the trunk.

The result of which would be two parts: A loadable set of tools, 
developed in the 3.11 process, just as stated in the 3.11 proposal, 
applicable to different Squeak versions, just as illustrated by the 
content of the 3.11 directory. But in addition to the tools we also get 
a rich Squeak 3.11 release artifact the result of work that the tools do 
using Mantis, and the work that the developers do using the trunk.

In practice, this would mean we should start the integration process 
sooner rather than later, and I'm willing to spend a bit of time in 
setting up a server, which, using the tools developed already, find new 
stuff on Mantis, load it, test it, provide feedback and recommendations. 
Possibly even push it straight into the inbox. The fixes already 
screened and marked pending should go into into the trunk ASAP.

Does this make sense? I think it's really important not to miss the 
difference in goals between the 3.11 proposal (developing tools for 
Squeak) and the trunk (developing Squeak itself). And I think we can do 
both at the same time without being in an endless heated conflict.

Comments welcome.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list