Development

You can take part in the Xubuntu development in different ways depending on your interests and skills. The general guideline is that you will need a “sponsor” to upload your changes first. Once you have proven your skills, you can be granted access to upload to the Ubuntu repositories. Since Xubuntu uses the same software repositories as Ubuntu, the areas of development between Ubuntu and Xubuntu developers partly overlap. The main difference is that Xubuntu developers mostly work on packages that are directly related to Xubuntu.

To read more about the different levels of involvement and upload rights in Ubuntu, see the Ubuntu Developers’ wikipage. This page provides much more information on developing Ubuntu and Xubuntu, so it’s definitely worth reading.

If you want to help but are uncertain where to start, the Xubuntu team will be happy to help you in getting started. If you need a mentor along the way, the Xubuntu team might be able to assign you one, or help getting one from the Ubuntu developer community. Don’t be shy!

Fixing bugs

Unfortunately, bugs exist in all applications, including those shipped with Xubuntu. In addition to the bug-related activities in the Quality Assurance team, Xubuntu developers can fix bugs themself and get them uploaded to the Ubuntu repositories and when applicable, upstream.

After you’ve introduced yourself to the Xubuntu team, you can start helping fixing bugs. In the beginning, you should send patches to the Launchpad bugs as attachments. These patches will then be reviewied and “sponsored” to be included in the Ubuntu repositories. After you have proven your skills, you can get access to the Xubuntu packageset so you can upload new bug patches on your own.

Packages that are essential or partial to Xubuntu and are thus (partly) maintained by the Xubuntu developers include Xubuntu-specific packages (eg. xubuntu-default-settings, shimmer-themes), Xfce packages (eg. xfwm4, xfce*) and much more.

Packaging software

In addition to fixing bugs in applications and libraries, they need to be packaged. While Ubuntu gets most of the applications already packaged from Debian, there are applications or libraries that don’t exist in Debian or will need to be packaged differently in Ubuntu. In this case, the Ubuntu developers will (re)package the applications and libraries and upload them to the repositories for everybody to use.

If you are relatively inexperienced with maintaining distribution packages, then you should seek out the Masters of the Universe. They mentor new maintainers on the policies and processes of packaging at large. You can look over the Ubuntu Packaging Resources page to start your journey.

Managing the default package selection and settings

During each release, it is possible that the Xubuntu team will want to change the packages that are installed by default or change the default settings. The Xubuntu developers maintain the default package selection and settings. While this is a quite trivial task, it is one of the most important.

Implementing new features and writing new software

Both implementing new features and writing new software for Xubuntu are mostly organized by the release-specific blueprints in the roadmap. If you want to write new code that specifically helps Xubuntu, you should be around when the Xubuntu team is creating the roadmap for the next release. Features and applications specifically targeted for Xubuntu are usually related to distribution-specific user experience and theming and configuration tools specific for Xfce and Xubuntu.

It is highly encouraged that the developers push any newly created features upstream, as long as they are not Xubuntu-specific.

In addition to writing applications exclusively for Xubuntu’s use, you can write applications you think would benefit the Xubuntu project generally. The Xubuntu team can consider including these applications to be included with the base Xubuntu system once they have been added to the Ubuntu repositories and gathered enough positive feedback.