Pharo
Encyclopedia
Pharo is a fork
Fork (software development)
In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

 of Squeak
Squeak
The Squeak programming language is a Smalltalk implementation. It is object-oriented, class-based and reflective.It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers...

, an implementation of the object-oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

, dynamically typed
Type system
A type system associates a type with each computed value. By examining the flow of these values, a type system attempts to ensure or prove that no type errors can occur...

, reflective
Reflection (computer science)
In computer science, reflection is the process by which a computer program can observe and modify its own structure and behavior at runtime....

  programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...

.

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. The name Pharo may be a reference to the famous Pharos
Pharos
Pharos may refer to:Lighthouses:* The Pharos of Alexandria, a tower built on the island of Pharos that became one of the Seven Wonders of the Ancient World* The Pharos, either of two Roman lighthouses built at Dubris...

 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
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....

, Pharo has a policy that enforces contributors to agree to publishing their code under the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

. 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
Benevolent Dictator For Life
Benevolent Dictator For Life is a title given to a small number of open-source software-development leaders, typically project founders who retain the final say in disputes or arguments within the community....

 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.

Emergence and fork from Squeak

Unrest in the Squeak community led to a fork of the Squeak
Squeak
The Squeak programming language is a Smalltalk implementation. It is object-oriented, class-based and reflective.It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers...

 project into the Pharo project in 2008. The issues were mainly about four proposed changes:
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
EToys (Programming Language)
Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.Etoys is a media-rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.- Brief...

, 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK