User:Alsroot/Sugar Architecture: Difference between revisions
| Line 43: | Line 43: | ||
Core Team generates ideas and is not restricted by any releases and distribution schedules (it is [[#Platform_Team|Platform Team]] task). It identifies the major trends for Sugar. The area of responsibility of the Core Team is not only a limited set of Sugar components but any project of Sugar [[#Sugar_universe|universe]]. The team takes part in discussing/improving [[Features]], the consolidated opinion of the team is critically important for [[#Tracked_projects|tracked projects]]. Particular project might agree or disagree (and follow another way or try to dissuade Core Team by their particular implementations), but the Core Team is exactly what Sugar face is for non-sugar community. | Core Team generates ideas and is not restricted by any releases and distribution schedules (it is [[#Platform_Team|Platform Team]] task). It identifies the major trends for Sugar. The area of responsibility of the Core Team is not only a limited set of Sugar components but any project of Sugar [[#Sugar_universe|universe]]. The team takes part in discussing/improving [[Features]], the consolidated opinion of the team is critically important for [[#Tracked_projects|tracked projects]]. Particular project might agree or disagree (and follow another way or try to dissuade Core Team by their particular implementations), but the Core Team is exactly what Sugar face is for non-sugar community. | ||
=== Platform Team === | === Platform Team === | ||
The mission of the Platform Team is | The mission of the Platform Team is support Sugar ecosystem from technical side: | ||
* Take care of technical standards (API, DBus interface, etc) to let all Sugar components/activities interact smooth. | |||
* Providing as-unified-as-possible runtime and development time environments for all Sugar doers, regardless of what platform they are using. In other words, Platform Team makes everything to let ideas, generated by Core Team (as well as any other ideas), happen within the Sugar [[#Sugar_Universe|community]]. | * Providing as-unified-as-possible runtime and development time environments for all Sugar doers, regardless of what platform they are using. In other words, Platform Team makes everything to let ideas, generated by Core Team (as well as any other ideas), happen within the Sugar [[#Sugar_Universe|community]]. | ||
* Work closely with GNU/Linux distributions, that provide sugar packages, and Sugar deployments to fulfill their needs and coordinate related efforts within Sugar community. | * Work closely with GNU/Linux distributions, that provide sugar packages, and Sugar deployments to fulfill their needs and coordinate related efforts within Sugar community. | ||
* Release a product - Sugar Platform distribution. | * Release a product - Sugar Platform distribution. | ||
==== Sugar Distribution ==== | |||
==== Sugar | |||
The major purpose of Sugar distribution is providing a set of | The major purpose of Sugar distribution is providing a set of core Sugar components to give people read-to-use environment where they can download and launch any Sugar activity. | ||
There might be two types of Sugar Distributions: | |||
* Stable release based model, is the basis for Sugar deployment distributions when Sugar Distribution is a set of stable releases. | |||
* | * Rolling release model, is intended directly to Sugar doers when Sugar Distribution is the singular and all time developing (that doesn't mean ''unstable'' branch for the first model, just [http://en.wikipedia.org/wiki/Rolling_release another purpose] model) environment. It is the basis for [[#Doers environment|Doers environment]]. | ||
The content of Sugar Distribution is the Glucose and some first-time-usage activities, like Terminal, Log and Browse. The Platform Team doesn't code these components, just work closely with these components maintainers to prepare the Sugar Distribution. It is all about moving responsibility from developers of particular Sugar Distribution project to Platform Team about how Sugar final environment will behave for users. | |||
==== | ==== Doers environment ==== | ||
Sugar | Stable Sugar Distribution is a startup kit for Sugar doers. The real doing starts where new code is involved, e.g., by getting new versions of activities or preparing and sharing new code. Thus, where read-only nature of Stable Sugar Distribution is insufficient. | ||
The key features that any Sugar doer needs, are: | The key features that any Sugar doer needs, are: | ||
| Line 112: | Line 75: | ||
* share the code on more regular basis, i.e., uploading changed code to the server. | * share the code on more regular basis, i.e., uploading changed code to the server. | ||
=== Sugar | === Sugar Universe === | ||
Thats the matter of Sugar, i.e., what makes Sugar useful. The variety of Sugar software projects, Glucose projects, libraries and activities. | Thats the matter of Sugar, i.e., what makes Sugar useful. The variety of Sugar software projects, Glucose projects, libraries and activities. | ||
Sugar projects work closely with the Core Team (that generates ideas) and with the Platform Team (that provides the technical floor). | |||
Most of them are being developed and supported by individuals (mostly activities), the rest are using management model which is most useful for them. All of them are self organized structures and have their own release schedules and roadmaps, though [[#Sugar Distribution|Sugar Distribution]] projects release new versions in close interaction with the Platform Team. | |||
=== Progress === | === Progress === | ||