Difference between revisions of "Taxonomy"
(New page: Benjamin M. Schwartz has proposed a taxonomy for the various Sugar components to remedy an ongoing naming problem. "I think Sugar has a naming problem. There are a lot of different digit...)
Revision as of 16:16, 16 May 2008
Benjamin M. Schwartz has proposed a taxonomy for the various Sugar components to remedy an ongoing naming problem.
"I think Sugar has a naming problem. There are a lot of different digital objects being produced by this project, and referring to all of them as Sugar is becoming increasingly confusing. For example, the discussion about "Sugar on Windows" has been all but incomprehensible, because each author means something entirely different by the term "Sugar". Similarly, the recent proposals for "inclusion in Sugar" are extremely confusing, since these components will not be required to run Sugar.
"To resolve this, I am going to attempt to list a number of important, distinct digital objects that this work has produced. I will also introduce cutesy codenames. I hope that the Sugar developers will adopt a clear set of distinct names, and I do not care if they choose these names or other names."
- 1 Component: The abstract design of the interface
- 2 Component: The base Sugar environment
- 3 Component: A set of demonstration activities
- 4 Component: The interface, plus a set of demonstration activities
- 5 Component: The base Linux distribution being used by Sugar
- 6 Component: A complete disk image for Sugar
Component: The abstract design of the interface
Codename: Sweet (the taste of sugar)
Description: "Sweet" is the abstract design of the interface's appearance and behavior, independent of any code actually implementing this style. The mockups at http://wiki.laptop.org/go/Designs represent this component's second major release, or perhaps 2.0-alpha.
Component: The base Sugar environment
Codename: Glucose (the fundamental, simple sugar used by all life forms)
Description: Glucose is the minimal system that must be added to a standard Linux distribution in order to enable Activities to run. This includes all the python code and graphics files that implement the shell, as well as the Journal. Glucose's dependencies may include xorg-server, xulrunner, squeakvm, rainbow, etc. Some of these dependencies may be marked optional by distributions. Glucose does not include any Activities except those like the Journal that are non-optional.
Component: A set of demonstration activities
Codename: Fructose (the main sugar in fruit, which is how we're supposed
to get our sugar.) Description: The Sugar developers will need some example set of activities with which to demonstrate Sugar. This set is Fructose. The packages in Fructose should be selected to make the resulting environment as impressive as possible for a potential client or user. Packages should therefore be stable, polished, and exercise the widest possible range of features. Fructose may also serve as an example for people constructing their own Activity sets.
Component: The interface, plus a set of demonstration activities
Codename: Sucrose ("table sugar", the kind you buy in the store. It consists of glucose and fructose, combined.)
Description: Sucrose consists of both Glucose and Fructose. It therefore represents a complete example Sugar environment, ready to be installed through a package manager. The purpose of Sucrose is so that prospective deployers can install the "sugar-sucrose" package, and immediately say "Wow! Look at all the cool capabilities that this system has!".
Component: The base Linux distribution being used by Sugar
Codename: Ribose (the sugar used by all lifeforms to control their hardware, in the form of RNA. It's important, but not sweet.)
Description: Ribose is the set of hardware-centric software components that have been developed throughout this project. It includes the XO kernels, OHM, any init-script customizations, etc. Ribose should be construed as including all components necessary to boot the system, enough to install Glucose if it has not yet been installed.
Component: A complete disk image for Sugar
Codename: A starch (starch is composed of multiple sugars bonded together.)
Description: We often distribute complete disk images for Sugar, ready to boot. These images are composed of multiple elements of the above stack. ~ For example, the current Joyride images are composed of Ribose (the non-graphical work) and Glucose (the shell) but not Fructose (the activity package). Each image series should be named separately, to minimize confusion. For cutesy codenames, we could have a development build ("glycogen", a starch used to produce Glucose) and a stable build ("cellulose", an extremely stable starch).