[Vm-dev] Squeak/Pharo VM fork history

K K Subbu kksubbu.ml at gmail.com
Mon May 18 09:24:41 UTC 2020


On 17/05/20 11:33 pm, Jakob Reschke wrote:
> What remains indisputable is that the CMake build system was not 
> promoted as the official one in the OpenSmalltalk repository. Many
> of the Squeak folks would also like to use CMake to build...

CMake and autoconf tools are not exclusive. Both will work in the 
typical 'configure && make && make install' sequence.

[I am just jotting down my own recollections below. please correct if I 
am wrong]

Squeak was developed on Darwin (Unix flavor) and then quickly ported to 
other Unix flavors (Solaris, HPUX) and Wintel because of portability of 
both its code and its CMake build scripts. GNU/Linux port appeared only 
around 2005 (2.5?) but quickly dominated over other Unix ports, 
especially when Etoys shipped in OLPC's XO. Its native toolset - 
Autotools - came to be preferred over CMake. Squeak VM continued with 
its CMake build tools in SVN while the newer Open Smalltalk VM moved 
towards GNU toolchain and github.

The choice of build tools affects only the platforms code maintained in 
github and not the VMMaker code. The platform champions get to pick 
their build tools. If there are sufficient supporters for a platform 
port, then its code is likely to evolve sustainably. When supporters 
dwindle, build rot is inevitable. That's life :-(.

So the real question is "Are there enough supporters to make a platform 
fork (either in build tools or OS flavors) viable in the long term?" If 
not, the fork will gets its seven days of fame and then rot slowly.

GNU/Linux and MacOS have a large supporter base, but ports like Solaris, 
FreeBSD may not. So Squeak/Pharo platform fork will affect them much 
more deeply than GNU/Linux or MacOS, particularly when it comes to 
hardware plugins like graphics or sound.

But a bigger risk is that if GNU/Linux starts dominating the ports, then 
Squeak/Pharo will become like other apps in the GNU stack with 
increasing dependencies on GNU toolchain and runtime frameworks. There 
is nothing wrong in building an app. It is just not a virtual personal 
computing system. It is just a balloon descending into its castle ;-).

Regards .. Subbu


More information about the Vm-dev mailing list