Moving. This page has been prepared for moving to the Xubuntu Contributor Documentation. If you are about to make changes to this page, please consult the Xubuntu documentation team on #xubuntu-devel.
About this document
This document will describe the strategy, vision and direction of the Xubuntu project as well as act as a guide and a reference for the Xubuntu Team.
This revised version has been written by Pasi Lallinaho with the help of Elizabeth Krumbach and Simon Steinbeiß along with numerous people in the community. This version is based on the former Xubuntu Strategy Document by Cody Somerville et al.
We wish thank to Cody Somerville, Jono Bacon, Eero Tamminen, Nico Veenkamp and Lionel Le Folgoc for their contributions to this document. Some content, ideas, and inspiration were derived from existing Ubuntu documentation.
Xubuntu is a community-developed, Ubuntu-based operating system that combines elegance and ease of use. Xubuntu provides a light, stable and configurable desktop environment with conservative workflows. Xubuntu delivers a polished and unified product ready for end-users.
In addition to the technical aspects, the Xubuntu team focuses on contributor and user communities.
The target audience for Xubuntu consists of users who are interested in having an elegant, easy to use, polished and unified operating system. Xubuntu is a good option for those who want a stable, configurable and/or relatively light desktop environment too. Finally, Xubuntu is an appealing choice for users who prefer conservative workflows over the newest innovations.
Xubuntu does not target users with specific skill sets or aptitudes. We want Xubuntu to be a viable option for users who are new to Linux or the Ubuntu platform, but also be appealing to more experienced users. Xubuntu does not specifically focus on new users or users migrating from Windows, but according to this ease of use, it is a good alternative for those users as well.
Xubuntu does not explicitly target users with low, modest, or high powered machines but instead targets the entire spectrum. Xubuntu's extra responsiveness and speed, among other positive traits, can be appreciated by all users, regardless of their hardware.
While Xubuntu uses Xfce, it is not specifically targeted to Xfce enthusiasts or projects and software being hosted by the Xfce project or associating (officially or unofficially) with Xfce are not guaranteed for inclusion in Xubuntu.
The areas of focus
This part of the strategy document provides a transparent framework and a set of priorities for the whole Xubuntu development and its tasks, including but not limited to decision making processes, package selection and technical dispute resolution.
The areas of focus are presented in an abstract and simple form but are also concrete enough to be actionable. As the foundation of the Xubuntu vision, the specifications in the strategy document should not be confused with release-specific goals and priorities, but instead recognized as the principles which the release-specific goals are based on.
Focus 1: Usability
Usability is one of the most important parts of an operating system which is used on a daily basis. This is why Xubuntu should be easy to use and have an appearance that doesn't get in the way. The appearance should be an all-round experience, covering all user interfaces from booting to shutting down.
Xubuntu should be localized to allow users to work in their preferred language. Another important aspect of usability is configurability. We believe Xfce gives users the possibility to configure their system in a meaningful way; other applications should live up to this expectation at least moderately well.
While accessibility is not one of the main priorities of Xubuntu, it should be taken into serious consideration as long as it doesn't require unreasonable efforts to integrate, implement or maintain. At least common accessibility tools should be installed in the default Xubuntu installation.
Focus 2: Performance
The Xubuntu team should strive to make Xubuntu lightweight. This means every Xubuntu release should work moderately well on machines that date to a few years before the release date. This ultimately means that newer Xubuntu releases may not able to support older computers. However, it assures that the Xubuntu team is able to work on other improvements and provide a release that is able to fulfill the expectations for a modern operating system.
Users wanting the most lightweight system possible should be pointed at the minimal CD, more lightweight derivatives (such as Lubuntu) or other options.
At the start of the release cycle, the minimum system requirements should be re-evaluated to determine if they continue to be realistic.
Focus 3: Ready to use product
It is important for us to provide a polished and unified product that is ready for end-users. It is also a prerequisite to enabling Xubuntu as a useful, usable and effective desktop. Without the mentioned integration, the Xubuntu desktop will appear rough and unpolished which is unappealing to end-users.
The integration is accomplished also by selecting applications and libraries that work well with each other as well as by applying patches to assure a more bug-free system.
See the "Package Selection" section for guidelines on how to determine if an application fits in the Xubuntu stack.
Focus 4: Community
The Xubuntu community is an important force in creating Xubuntu and making it as perfect as it can be. It's essential that regular coordination between contributors work well. The infrastructure to allow good communication between the contributors as well as users is described more closely in "Xubuntu Community" and "Xubuntu Development".
Where possible and appropriate, the Xubuntu team should work together with other communities, including other Ubuntu teams and upstream. If cooperation at a given time is not possible but would be beneficial for both parties, the Xubuntu team should try to allocate some resources to the cooperation at a later time.
Xubuntu Project Lead (XPL)
The XPL is ultimately responsible for Xubuntu and ensuring that a quality product is able to be released on schedule. The XPL serves a term of four releases at a time, ending with an LTS release to allow long-term planning and major undertakings.
The XPL is chosen by a simple majority vote. All members in the Xubuntu team are eligible to vote. Nominations are to be made in the two weeks preceding the election. Nominations may be submitted by individuals nominating themselves or someone else with their consent. Anybody in the community can nominate, but the nominee must be an active member of at least one Xubuntu subteam (excluding Xubuntu users).
All nominees are required to provide a wiki page with relevant information for the voting. To read more about the requirements, see the processes page.
The voting should be arranged in a way that allows people in any timezone to vote. Ideally, the voting should be possible for 24 consecutive hours. Any voting method needs to fulfill the requirement to only allow members of the Xubuntu team to vote.
The XPL has a casting vote on any issue. Furthermore, in extreme cases, the XPL has a veto ability. The primary purpose of the veto vote is to prevent exhausting and interminable quarrels in the community. This authority is not to be used unless consensus has not been reached even after thorough, but not overly lenghty discussions. It's also encouraged to be in touch with other Ubuntu teams and ask for advice where applicable.
The Xubuntu team is a group of individuals who are primarily responsible for the Xubuntu development. The group is registered in Launchpad as xubuntu-team. The team is moderated.
The individuals wanting to join this team are required to meet the criteria described below prior to applying or they will be automatically declined. The XPL is responsible for moderating this team. From this group, the XPL can appoint specific team leads.
In case a team lead is in the minority when voting on an issue that concerns their area of expertise, the team lead should be given another hearing, after which the team should take extra care in deciding about the issue and may want to consider voting on it again after more discussion. If the XPL abstains from the vote, the team leader in question has a casting vote.
Becoming and staying a member
To be accepted to this team, applicants participants must demonstrate their motivation and ability to contribute to Xubuntu. This is to ensure that any Xubuntu team member has a sufficient understanding of the Xubuntu community and its operation. The different steps one must go through will also indicate that the candidate member is able to work within the guidelines, and more important, with other people and communities. To become a member, one must:
- Commit meaningful contributions to one of the subteams, after which one will be approved to the subteam for "probation" by a subteam administrator
- Demonstrate motivation to contribute perpetually, after which one will be approved to the Xubuntu team by the XPL
To stay a member of this team, the members will have to have desire to continue contributing in the future. Anyone with no contributions for more than a complete cycle (6 months) should deactivate themself from the team as well as all subteams and reapply if/when they are willing to rejoin. The team administrators should purge people with no contributions in more than 6 months from the teams occasionally.
Xubuntu users is a collection of users who use and/or are interested in Xubuntu. The purpose of this group is to identify and organize Xubuntu users. The users in this group are able to vote in the Xubuntu community meetings. The members in the Xubuntu users group are encouraged to give user support on IRC and the xubuntu-users mailing list as well as spread the word about Xubuntu anywhere they see fit, including but not limited to blogs, social media and conferences.
The direction of the development of the project is coordinated by:
- The Strategy Document
- Release-specific blueprints and specifications
- The Xubuntu community meetings
- The Xubuntu developer communication tools listed below
For Xubuntu to be successful, its members and community must have the right tools to enable useful and helpful communication and ultimately, to help the community grow. These communication tools include the following "core" tools:
- Mailing lists
- xubuntu-users for community support and user discussions
- xubuntu-devel for development discussion and coordination
- IRC channels
- #xubuntu for community support
- #xubuntu-devel for development discussion and coordination
- #xubuntu-offtopic for general discussion with a more relaxed mood
- Launchpad, for organizing teams as well as tracking and managing blueprints and bugs
- The Xubuntu pages in the Ubuntu wiki for development coordination
- The Xubuntu website for news, development articles and general information about Xubuntu
In addition to communicating with each other and the Xubuntu community, the Xubuntu team should communicate continuosly with other Ubuntu contributors, upstream and other projects related to Xubuntu. The team members should take part in the development discussion outside Xubuntu as well to create and maintain healthy relationships with other projects and their developers.
The Code Of Conduct (CoC) is one of the most fundamental documents in the Ubuntu community, including Xubuntu, and it functions as the base for a working community. Everybody and every communicating medium in the Xubuntu community is CoC-compliant at all times.
The Ubuntu Community Council can be asked to act as mediators/advisors where their expertise would be useful when the Xubuntu team and project lead requires assistance. The Xubuntu Team and XPL are encouraged to talk any other teams in the Ubuntu community if it helps resolving the issue.
When disputes occur, contributors are strongly encouraged to refrain from taking the disputed actions to avoid sabotaging the dispute resolution process.
Release and Support Cycles
The Xubuntu release cycle consists of 6 months from start to release, then an additional 9 month of maintenance for standard releases and 3 years of support for LTS releases. Although the Xubuntu project itself can not provide commercial support or commercial guarantees, the Xubuntu team will make every effort to conform with the acknowledged support period and provide security updates for Xubuntu packages.
The release cycle itself consists of 5 more or less overlapping stages, which are:
For more information about the specifics of the processes related to developing a release, see the processes page.
Seeds & Composition
The following packages and their technical dependencies are considered essential in composing an operating system that represents the goals set previously in this document:
- xfwm4 (Xfce4 window manager)
- xfdesktop4 (Xfce4 desktop)
- xfce4-panel (Xfce4 panel)
- xfce4-session (Xfce4 session manager)
- xfconf (Xfce4 configuration storage system)
- xfce4-settings (Xfce4 settings manager)
- thunar (file manager)
Unless the components mentioned above are deprecated and no longer work as they are intended, they should not be substituted or removed from the seed.
The xubuntu-core metapackage consists of the core packages as well as other important packages which contribute to the Xubuntu experience. The xubuntu-desktop metapackage depends on xubuntu-core and includes additional packages to provide the full, ready to use, Xubuntu experience.
When considering the package selection for Xubuntu, there are two main guidelines:
- The package must be in line with the mission statement
- The package selection process must be conducted as objectively as possible
While the Xubuntu Project Lead and the Xubuntu Technical Lead have the last word on package selection, it's recommended that the whole team is involved in the discussion, bringing up well thought out arguments both for and against. When appropriate, tests should be conducted to gather meaningful measurements.
Before seeding an application in Xubuntu, the following aspects should be considered:
- Usability and integration
- Resource consumption and size
When measuring if a package is right for Xubuntu, the decision should not be based on an analysis of the package alone, but the target package along with its dependencies. Any package that is considered for seeding should fulfill the following requirements:
- The package should use the GTK toolkit
- The package should not pull in heavy libraries, especially if they will run and/or start frequently
- The package should be well maintained upstream
The above guidelines can be omitted when there are extensive benefits to seeding the package, consensus between the Xubuntu Project Lead and Xubuntu Technical Lead as well as broad support from the Xubuntu team.