Squeak Explained

Squeak
Logo Size:175px
Logo Caption:Original 1996 logo by Tim Rowledge[1]
Screenshot Size:225px
Screenshot Caption:Screenshot of the Squeak–Smalltalk Morphic user interface.
Paradigm:object-oriented
Designers:Alan Kay, Dan Ingalls, Adele Goldberg
Developers:The Squeak Community
Latest Release Version:Web site: 202312181441.
Typing:Dynamic
Implementations:Squeak, Croquet
Dialects:Croquet, Newspeak, Pharo
Influenced By:Smalltalk, Lisp, Logo; Sketchpad, Simula; Self
Influenced:Etoys, Tweak, Croquet, Scratch
Platform:Cross-platform
Operating System:Cross-platform

Unix-like, macOS, iOS, Windows, more

License:MIT, Apache
File Ext:.image, .changes, .sources, .st

Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80's original developers, initially at Apple Computer, then at Walt Disney Imagineering, where it was intended for use in internal Disney projects. The group would later go on to be supported by HP Labs, SAP, and most recently, Y Combinator.

Squeak runs on a virtual machine (VM), allowing for a high degree of portability. The Squeak system includes code for generating a new version of the VM on which it runs, along with a VM simulator[2] written in Squeak.

Developers

Dan Ingalls, an important contributor to the Squeak project, wrote the paper[3] upon which Squeak is built, and constructed the architecture for five generations of the Smalltalk language.

Alan Kay is an important contributor to the Squeak project, and Squeak incorporates many elements of his proposed Dynabook concept.

User interface frameworks

Squeak includes four user interface frameworks:

Uses

Many Squeak contributors collaborate on Open Cobalt, a free and open source virtual world browser and construction toolkit built on Squeak.

The first version of Scratch was implemented in Squeak.[7]

OpenQwaq, a virtual conferencing and collaboration system, is based on Squeak.[8]

Squeak is also used in the Nintendo ES operating system.[9]

License

Squeak 4.0 and later may be downloaded at no cost, including source code, as a prebuilt virtual machine image licensed under the MIT License, with the exception of some of the original Apple code, which is governed by the Apache License.

Squeak was originally released by Apple under its own Squeak License. While source code was available and modification permitted, the Squeak License contained an indemnity clause that prevented it from qualifying as true free and open-source software.

In 2006, Apple relicensed Squeak twice. First, in May, Apple used its own Apple Public Source License, which satisfies the Free Software Foundation's concept of a Free Software License[10] and has attained official approval from the Open Source Initiative[11] as an Open Source License. However, The Apple Public Source License fails to conform to the Debian Free Software Guidelines. To enable inclusion of Etoys in the One Laptop Per Child project, a second relicensing was undertaken using the Apache License. At this point, an effort was also made to address the issue of code contributed by members of the Squeak community, which it was not in Apple's power to unilaterally relicense.

For each contribution made under the Squeak License since 1996, a relicensing statement was obtained authorizing distribution under the MIT license, and finally in March 2010, the result was released as Squeak 4.0, now under combined MIT and Apache licenses.[12]

See also

Notes and References

  1. Web site: Tim: Squeak Smalltalk . 2016-02-28.
  2. Book: Eliot . Miranda . Clément . Béra . Elisa . Gonzalez Boix . Dan . Ingalls . 2018 . Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages . https://doi.org/10.1145/3281287.3281295 . Two decades of smalltalk VM development: live VM development through simulation tools . ACM Digital Library . 57–66 . 10.1145/3281287.3281295 . 9781450360715 . 53116661 . https://ghostarchive.org/archive/20221009/https://hal.archives-ouvertes.fr/hal-01883380/file/hal.pdf . 2022-10-09 . live . 2020-11-09.
  3. Dan . Ingalls . Ted . Kaehler . John . Maloney . Scott . Wallace . Alan . Kay . 1997 . Back to the Future: the story of Squeak, a practical Smalltalk written in itself . ACM SIGPLAN Notices . ACM Digital Library . 32 . 10 . 318–326 . 10.1145/263700.263754 . free.
  4. Web site: Tweak: OriginalTweakMemo . Tweakproject.org . 2001-07-06 . 2011-06-12 . dead . https://web.archive.org/web/20111002012532/http://tweakproject.org/ABOUT/FAQ/OriginalTweakMemo/ . 2011-10-02.
  5. Web site: Tweak: Whitepapers . Tweakproject.org . 2011-06-12 . dead . https://web.archive.org/web/20111002012629/http://tweakproject.org/TECHNOLOGY/Whitepapers/ . 2011-10-02.
  6. Web site: How to use Model-View-Controller (MVC) . Steve . Burbeck . St-www.cs.uiuc.edu . 1997-04-04 . 2011-06-12 . dead . https://web.archive.org/web/20090801040629/http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html . 2009-08-01.
  7. Web site: Scratch . 2022-03-23 . wiki.squeak.org.
  8. Web site: Moving Immersive Collaboration Forward. 3 May 2011.
  9. Web site: Sheffield . Brandon . 2007-12-04 . Inside Nintendo's ES Open-Source Operating System . 2024-03-05 . Game Developer.
  10. Web site: FSF's Opinion on the Apple Public Source License (APSL) 2.0 . Gnu.org . 2011-05-07 . 2011-06-12.
  11. Web site: Clarification of the APSL: Press Releases OS Clarifies The Status Of The APSL . Opensource.org . 1999-03-17 . 2011-06-12.
  12. Web site: Squeak 4.0 released - now under MIT/Apache license . The H Open . 2010-03-16 . 2011-06-12.