Hi foundation fellows!
--- Cees de Groot cg@cdegroot.com wrote:
Here's my second initial project proposal, mostly triggered by the meeting with Paul.
The first project must be a no-brainer, reasonably easy to implement, and a test of the (initial) environment. I propose CVS/Sourceforge, I know it's not optimal for St projects but it is there, it works, and we can use it to bootstrap up to a Squeak-specific SCM system.
When it comes to using CVS with Squeak Martin Kobetic is your man. :-) He is one of the CVSTProj members and he has done most of the fully functional CVS integration in VW/Squeak/Dolphin (but not the ports). Personally I have focused on the client/server protocol and that is not yet ready - but it might show up soon in Stable Squeak, who knows. Stable Squeak has as a semiofficial goal to be able to use CVS as a storage backend for the repository mechanisms.
Proposal:
Calling SqC's hand on SqF cooperation, I propose that we put the VM plus a very minimal core class library on SourceForge, and call that the official Squeak reference implementation.
My small revision to this proposal would be to start with focusing on the VMs and plugins and waiting a second with the "image"/class libraries. That will be a good chunk of work anyway since there are a whole range of ports. This way we might also get some good timing with the very imminent first "release" of Stable Squeak. More below.
Rationale:
As Paul indicated in his notes on our conversation, there are lots of parallels between Squeak and Linux - as Linux is tremendously succesful, we might just as well learn from it :-).
Both systems are an operating system, and both are applicable in a very broad range, both horizontally (from iPAQ to "SqueakNOS for System/390 ;-)") and vertically ("BusinessSqueak", "SchoolSqueak", ...). Like Linux, a worthwhile model could be to define a very basic core (kernel, libraries) and have third parties build distributions on top of that with added value. So a BusinessSqueak could be core+networking+Glorp+Swazoo (with a competing one core+networking+Comanche+SMS), a SchoolSqueak would have Morphic and eToys, etcetera. Keep in mind, that's the general direction I think it useful, the first step I propose here is just a very minimal first step. A side effect of this operation is that we force the issue of modularity.
Modularity is one - or should I say - THE main focus of the work being done in Stable Squeak. As my teaser for the next article said - StSq has an ENVY-killer in the making... Tremendously interesting.
Squeak-Core (as I propose to name this bit) would define the de-facto standard, which automatically opens up a clear, minimal target for competing and/or platform-optimized implementations. The first work, apart from maybe some refactoring, could be to write unit tests for this core so that alternative implementations could be validated.
These actions that you describe are exactly what StSq has been doing. They have broken down a minimal image with refactorings and written a whole bunch of unit tests for it.
The "Calling SqC's hand" terminology I used above is in response to Dan's message indicating SqC's support for the SqF effort ("great, Dan - prove it" ;-)). Handing over the responsibility for the core to the community and pledging to cooperate on this bit would make this support very concrete. As it would be a extremely minimal bit of Squeak, it is very likely to consist of very stable code so that the impact on SqC day-to-day operations is likely to be small. That helps us to focus on procedures around SqC/SqF cooperation, roles, responsibilities.
Goal:
Produce Squeak-Core v1.0 on SourceForge.
Steps:
- (in parallel with the other steps) setup a mailing list where we can discuss
the scope of Squeak-Core (probably VMConstruction plus stripped-down versions of Kernel, ST80, Collections, System - the goal is to have stuff in Core that must be present everywhere, no matter what the size of the platform or the application).
Why not just merge this mailinglist with the (nonexistant) "Stable Squeak mailinglist"? StSq is in dire need of one and I have been very close to setting one up - I have installed mailman but I haven't gotten around configuring it. You have done that so could you set one up? StSq would be grateful - right now we just have an alias "stsq@bluefish.se" which points to a bunch of people - a list is better and the connection with SqF should be good. StSq and SqF needs to "connect" I believe.
- Setup a SourceForge project or adopt an existing one for this goal.
There is one that was setup for the VM I think. I believe Stefan Rudlof did that a while ago and there was some heated discussion about it involving Andreas Raab and Ian Piumarta I believe - can't remember the issues though - but it sort of didn't catch on since Andreas and Ian did not really "support" it. (My memory may not server me right...)
- Setup a self-contained CVS changeset with some extra bits of code so that
e.g. the Help menu is extended with SourceForge CVS interactions ("update code from SourceForge", "commit code to SourceForge", "send patches to Squeak-Core project mailing list", etcetera).
Ok, this is where CVSTProj comes in. That project IS hosted on SF right now - go and take a look. The code is fully functioning and Martin Kobetic is the guys who knows the most of it. But it uses an external executable CVS right now. A coming version would use my protocol implementation but we haven't gotten there yet.
Take a code cut and stash it into SourceForge. Call it "1.0.0".
Start a machinery like the linux kernel machinery: Squeak-Core 1.1.x is
hacking, alpha, unstable, when there's a nice set of new features start stabilizing until a version can be called 1.2.0 which is the next "official" release, etcetera.
These things has been discussed at lenght on the Squeak ML. But I do not remember the results! :-)
As a sidenote - we are setting up a public new Swiki for StSq later today in preparation for the coming release.
If anyone is thinking of taking action on these things described above - do get in contact with StSq first (using stsq@bluefish.se for now) and check out what already is done!
regards, G�ran
PS. I am sort of taking the role of StSq-nag-person, the guy nagging everybody... :-) DS
===== G�ran Hultgren, goran.hultgren@bluefish.se icq#:6136722, GSM: +46 70 3933950, http://www.bluefish.se "Department of Redundancy department." -- ThinkGeek
__________________________________________________ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/