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. |
− |
| |
− | === Engineering Team ===
| |
− |
| |
− | The Engineering Team is maintaining several core projects that influence on the rest of Sugar:
| |
− |
| |
− | * sugar-artwork
| |
− | * sugar-datastore
| |
− | * sugar-toolkit (would be good to merge it with sugar-base)
| |
− | * sugar (Sugar shell, i.e., Sugar Window Manager)
| |
− |
| |
− | The area of responsibility of the Engineering Team is:
| |
− |
| |
− | * take care of technical standards (API, DBus interface, etc),
| |
− | * take part in reviewing patches for one of core projects,
| |
− | * take part in reviewing [[Features]].
| |
− |
| |
− | The team consist of developers who:
| |
− |
| |
− | * know code of core projects (some of them),
| |
− | * have a time to take part in reviewing process.
| |
− |
| |
− | So, Engineering Team members might not take active part in coding itself (this is a task for [[Features]] developers) but just do engineering work to support core projects.
| |
− |
| |
− | The team members list might not be constant, if members don't have enough time to take active part in regular work of the team, they need request for exclusion to not mislead other participants.
| |
| | | |
| === Platform Team === | | === Platform Team === |
| | | |
− | The mission of the Platform Team is creating infrastructure for Sugar ecosystem: | + | 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. |
| | | |
− | The Platform Team consist of:
| + | ==== Sugar Distribution ==== |
− | | |
− | * Release Manager,
| |
− | * Representatives of major Sugar deployments,
| |
− | * People who support and coordinate [[#Doer's_environment|doer's environment]].
| |
− | * People who take part in preparing [[#Sugar_distribution]], [[Bug Squad]], [[Documentation Team]], members.
| |
− | | |
− | ==== Tracked projects ====
| |
− | | |
− | Tracked projects are analogs of Sucrose components. The key difference is that Sucrose project itself is not a core project any more, it is an independent project (like other [[#Sugar_Universe|ones]]) and Platform Team is just tracking its life cycle to consider possibility of including its particular release to the [[#Sugar_distribution|distribution]]. It looks how GNU/Linux distributions package upstream projects.
| |
− | | |
− | Platform Team may consider possibility to support particular branches of tracked projects to fulfil deployments' needs.
| |
− | | |
− | ==== Sugar distribution ==== | |
| | | |
− | The major purpose of Sugar distribution is providing a set of releases of tracked projects that are being well tested in particular environment (a set of versioned dependencies). That should help Sugar distributors to deploy Sugar. In ideal situation, they need test Sugar distribution only on their hardware. | + | 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. |
| | | |
− | It is all about moving responsibility from developers [of particular tracked project] to Platform Team about how Sugar ''product'' looks and behaves.
| + | There might be two types of Sugar Distributions: |
| | | |
− | There are 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. |
− | * Regular, per 6 months, releases that are synced with regular releases of major GNU/Linux distributions. | + | * 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]]. |
− | * Long Term Support (LTS) releases that are synced with LTS releases of major GNU/Linux distributions (if possible).
| |
| | | |
− | Having LTS releases should simplify sugar deployments since, in most cases, 6 months is too short major releases cycle.
| + | 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. |
| | | |
− | ==== [[Platform_Team/Doers_environment|Doers environment]] ==== | + | ==== Doers environment ==== |
| | | |
− | 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 Sugar distribution is insufficient. | + | 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 universe === | + | === 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. |
| | | |
− | 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 [[#Tracked_projects|tracked project]] work in close interaction with the Platform Team.
| + | Sugar projects work closely with the Core Team (that generates ideas) and with the Platform Team (that provides the technical floor). |
− | | |
− | === Collaboration ===
| |
− | | |
− | It would be good to make clear [[Best_Collaboration_Practices|some statements]], using existed experience, about how collaboration might happen within Sugar community.
| |
− | | |
− | === Teams restructure ===
| |
− | | |
− | '''Development Team'''
| |
− | | |
− | * Replaced by Engineering and Platform Teams
| |
− | | |
− | '''Design Team'''
| |
− | | |
− | * Should Core Team be a home team for designers?
| |
− | | |
− | '''Deployment Team'''
| |
| | | |
− | * Should Platform Team be a home team for distributors?
| + | 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 === |