On Tue, 21 Dec 2010, Sven Van Caekenberghe wrote:


On 21 Dec 2010, at 19:16, Levente Uzonyi wrote:

a) removing unessential code from Squeak (Squeak, having started as a 
children.s education project, has accumulated a fair amount of cruft over the 
years),
b) clearer licensing (MIT license),
c) more frequent updates (think Ubuntu versus Debian), and
d) being a reference implementation for the Seaside platform (perfect, exactly what 
I need it for)."

b) and c) are clearly false. a) ignores the fact that you can unload quite a lot of 
"cruft" from Squeak making it comparable to Pharo-Core.

I might be wrong, and I known that Squeak has been changing lately, but Pharo 
seems to have been the driver here, putting these issues on the map.

The modularization of Squeak is an old idea (a). One such effort is Pavel's KernelImage project which dates back to 2006: http://lambda-the-ultimate.org/node/1873

The idea of relicensing Squeak (b) dates back to 2003 or earlier. Apple relicensed the original Squeak code in 2006 under the Apache license. AFAIK the MITification process started in 2006 or 2007: http://c2.com/cgi-bin/wiki?SqueakRelicensePush. According to wikipedia the driving force was adding EToys to OLPC.

I think that in case of the update frequency (c) Squeak was the driving force. Why? Let's see the timeline:

21 March 2008: Squeak 3.10 released
21 May 2008: Pharo forked Squeak 3.9 (the date may not be exact)
30 May 2008: First Pharo snapshot uploaded to gforge
02 July 2009: Squeak's new developement process announced (aka 3.11 
developement cancelled)
31 July 2009: Pharo 1.0 Beta announced
16 March 2010: Squeak 4.0 comes out (same as Squeak 3.10, but with MIT license)
29 March 2010: Squeak 4.1 feature freeze announced
16 April 2010: Pharo 1.0 released
26 April 2010: Squeak 4.1 released (the first artifact of the new process)
16 May 2010: Pharo 1.1 Beta announced
26 July 2010: Pharo 1.1 released
08 December 2010: Pharo 1.2 Beta announced
13 December 2010: Squeak 4.2 feature freeze announced

Pharo's developement cycle restarts after a beta. Squeak's developement cycle restarts after the release. So:

Artifact        DW      RW      WSPR
------------------------------------
Pharo 1.0       62      99      N/A
Pharo 1.1       41      47      14
Pharo 1.2       29      >31  >21
Squeak 4.1      38      42      5 but irrelevant
Squeak 4.2      33      >34  >34

DW = Developement weeks (number of weeks between cycle restart and feature freeze/beta)
RW = Release weeks (number of weeks between cycle restart and release)
WSPR = Weeks since previous release (number of weeks between releases)

What I wanted to show is that the release of Pharo 1.0 was not urgent at all (DW and RW are both _more than a year_) until Squeak 4.1 came out. After the release of Squeak 4.1, Pharo 1.0 and 1.1 was released ASAP.

So yes, I think you're wrong, just like Dmitri.


Levente


Sven




Reply via email to