May 7, 2012

openSUSE - the upstream of SUSE Linux Enterprise

openSUSE contains many independent software projects that have an "upstream" - for example the GNOME desktop in openSUSE is developed mainly by the upstream GNOME community, and the openSUSE developers add integration to make a distribution polished and easy to use. Integration consists of packaging, testing, bugfixing and some extra customization and development. Also the openSUSE developers talk with the GNOME developers about their needs and problems.

It's good practice to push everything upstream and then the upstream community might just accept the change, ask for changes, or even reject it.

Similarly, for SUSE Linux Enterprise openSUSE is an upstream development - and the openSUSE community with its release team can decide what to do with changes or requests coming from downstream (SUSE Linux Enterprise).

Also, SUSE as a company, has developers working in upstream projects like GNOME or the Linux kernel as well as in the upstream openSUSE and for sure on SUSE Linux Enterprise.

There are different ways to integrate: Some of that work will be done downstream first and then pushed upstream - and others will be done upstream with the intent to have it downstream later.

openSUSE 12.1 saw for example the integration of snapper - a snapshoting tool for BtrFS where development was driven by SUSE Linux Enterprise needs with the goal to have it in SUSE Linux Enterprise 11 Service Pack 2. It was stable, integrated without problems into openSUSE Factory and thus was added in time for openSUSE 12.1.

Note that SUSE Linux Enterprise as a distribution selects packages from openSUSE, adds some of its own, especially own branding packages, might have some different policies (e.g. how to partition or regarding security) and a different installation work flow. Before a release is done, the distribution need to run on all supported architectures - currently x86, x86-64, System z, Power, Itanium -, gets tested extensively which makes bugfixes necessary and gets certified by ISVs and IHVs and passes certifications like LSB or for IPv6 compliance. This testing leads to fixes that then go back to the upstreams - to the openSUSE distribution and the upstream open source projects.

A recent example: The testing for SLE 11 SP2 on Linux 3.0 resulted in a number of fixes. These went in the upstream kernel and thus became via upstream part of the Linux kernel that openSUSE uses. Many of these patches were also added directly to the openSUSE kernel.

So, SUSE Linux Enterprise is working in many ways similar with upstream as the openSUSE GNOME team with the upstream GNOME project: both take packages from upstream, add own branding, have refined polices from upstream, send patches etc.

What hasn't been done loudly in the past is raising voice - the SUSE Linux Enterprise developers and product managers raising their voice on what they need for their product and therefore would like to have from openSUSE and discuss how this can be done best. I expect to see more of this engagement of the openSUSE community by the SUSE Linux Enterprise stakeholder.