StrategyDocument

Revision 31 as of 2014-01-12 23:45:12

Clear message

Introduction

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

Mission Statement

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

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 Community

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.

Xubuntu Team

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 Developers

The Xubuntu Developers has stricter criteria than the other subteams, since a membership in the team implies upload rights. In brief, the criteria to join this team are:

  • Sustained and positive contribution via packaging to Xubuntu
  • Appropriate skill and trustworthiness to be entrusted with upload privileges to Xubuntu and related packages
  • Willingness to assist in merging, syncing and packaging Xubuntu and related packages

Actual approving to the team will happen once one has proven they fulfill the criteria and has been approved by the Ubuntu Development Board or other authoritative group.

Xubuntu Users

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.

Xubuntu Development

Coordination

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

Communication

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.

Dispute Resolution

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:

  • Planning
  • Developing
  • Testing
  • Releasing
  • Maintaining

For more information about the specifics of the processes related to developing a release, see the processes page.

Seeds & Composition

This section will describe core components of Xubuntu which will always be shipped with Xubuntu, packages/types of packages that are not appropriate for Xubuntu, and information on how to decide which packages best fit Xubuntu.

The bottom line is that changes will not be rationalized using the below guidelines alone but instead will rely on well thought out arguments, useful measurements, and meaningful test cases in conjunction with evidence of affinity with the Xubuntu mission statement.

Core components

Core components of Xubuntu are packages that are considered to be so fundamental that if removed/replaced then the product would no longer be Xubuntu unless Xfce4 upstream deprecates and/or replaces them or very compelling reasons required for them to be substituted. These packages are:

  • xfce4-session (Xfce4 Session Manager)
  • xfwm4 (Xfce4 Window Manager)
  • xfdesktop4 (Xfce4 desktop)
  • xfce4-panel (Xfce4 panel)
  • thunar (Xfce4 file manager)
  • xfce4-utils (Xfce4 utilities)

Other applications which contribute to the Xubuntu identity as well but are not considered "critical" are:

  • xfce4-terminal (Xfce4 terminal emulator)
  • leafpad (Simple text editor)
  • xfce4-appfinder (Xfce4 application finder)

Unsuitable Packages

Packages that work against our goals and our mission statement aren't appropriate when being considered for inclusion in Xubuntu. The following list of guidelines can be used to help identify areas of concern in candidate packages:

  • Packages that do not use GTK toolkit (i.e. QT/KDE applications)
  • Packages that use interpreted languages (generally slower and require more memory)
  • C++ programs (tend to be heavier than C programs)
  • Packages that will pull heavy libraries, especially if they will run and/or start frequently

Package Selection

To meet our performance objectives and other set goals, we must be careful about the applications we seed with Xubuntu; thinking objectively is the foundation to proper application selection. Applications that make it into Xubuntu must be rationalized and be in the spirit of Xubuntu. The Xubuntu Project lead with the help of the Xubuntu technical lead will determine if a package is right for Xubuntu with the help of Xubuntu developers.

The following guidelines will help the developers to determine if a package is a good fit for Xubuntu:

  • Usability. Is the application easy to use? Does it have a well designed UI? How easy is it to accomplish the task that the application is seeded for?
  • Usefulness. Is the package useful for Xubuntu users?
  • Resource consumption. In its entirety, along with all libraries, how much memory does the application use? Does it use libraries that are already in use?
  • Integration and workload. How much work does it take to integrate the package to the system? Is the package well maintained upstream? Is the package used by other Ubuntu derivatives?
  • File size. Does the package take so much space that the team has to consider dropping something from the ISO?
  • Stability and maturity. Is the application tested well? How many bugs are there in the application? How mature the application is? How likely is it to get bugfixes to the application through normal processes and/or personal relations?
  • Localization. Does the application have translations in the most commonly used languages?

When measuring if a package is right for Xubuntu, your decision should not be based on your analysis of package alone but should take into account the entire target package along with its dependencies. Furthermore, the above points should not be considered an exhaustive list of elements to weigh; always use common sense.