2012-01-28 12:27:26 UTC
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.
"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
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.