Pharo
Screenshot of the Pharo IDE |
|
| Developer(s) | The Pharo board and community |
|---|---|
| Initial release | 2008 |
| Stable release | 1.3 / September 20, 2011 |
| Development status | Active |
| Platform | Squeak virtual machine (Multi-platform) |
| Type | Integrated development environment |
| License | MIT license |
| Website | www.pharo-project.org |
Pharo is a fork of Squeak, an implementation of the object-oriented, dynamically typed, reflective programming language Smalltalk.
Appearing in 2008, Pharo focuses on removing unessential code from Squeak and serves as the reference implementation of Seaside, a web application framework for developing web applications in Smalltalk.[1] The name Pharo may be a reference to the famous Pharos lighthouse in ancient Alexandria. The Pharo logo shows a drawing of a lighthouse inside the final letter O of the name.
Squeak before version 4.0 shipped under the Squeak license, which was not an approved OSI open source licence,[2] Pharo has a policy that enforces contributors to agree to publishing their code under the MIT License. Many packages that are integrated into the Squeak base distribution are optional in Pharo. Unlike Squeak, Pharo ships with TrueType fonts bundled already (state: 2009).
Pharo is now organized as a benevolent dictatorship of the community members who previously felt that they did not have enough influence. The members of the Pharo board are Marcus Denker, Stéphane Ducasse, and Adrian Lienhard[3].
[edit] Emergence and fork from Squeak
Unrest in the Squeak community led to a fork of the Squeak project into the Pharo project in 2008. The issues were mainly about four proposed changes:[citation needed]
- Open development process
- The development process for the Squeak main image was perceived as not open enough to all community members.
- Clear MIT licensing
- The licence of Squeak was doubted to be an Open Source licence, and it was doubted whether the relicensing of Squeak to MIT violated the rights of contributors who had never agreed to its terms.
- Frequent updates
- The release process of Squeak was perceived as too infrequent.
- Slim stable core image
- The main release of Squeak offered a wide code range of vastly varying quality, while some community members preferred to have a stable and slim platform which can then be extended.
Squeak Smalltalk was used for two different purposes: as an implementation of EToys, which allows teaching children both programming and other subjects using computer programming (graphically), and as an environment for general Smalltalk development. While reusing the Squeak virtual machine, Pharo exclusively allows only the latter.
While Squeak kept stable releases for years, many community members needed code with integrated bugfixes faster than that. Especially the Seaside community had a fast update cycle and needed the language to react faster to bug fixes. Therefore, prior to Pharo, an unofficial release of Squeak was regularly released by Damien Cassou with recent bugfixes integrated. In a sense, Pharo emerged as the canonization of this process.
Pharo was partly forked to have a Smalltalk that is under an official open-source licence. However, shortly after Pharo's appearance, Squeak too was cleaned and licensed under the same MIT licence as Pharo, in 2010.[4]
[edit] References
- ^ Seaside homepage: "Seaside 2.9 is current implemented on Pharo that serves as a reference implementation."
- ^ Squeak Swiki: Squeak-L is not OSI compatible
- ^ Members of Pharo's board
- ^ The H Open: Squeak 4.0 released - now under MIT/Apache license
[edit] External links
- Pharo Project
- Pharo by Example (open source book)
- RoarVM, a multi- and manycore VM for Pharo