GNOME Meta-Desktop

Problem

For some time now, Linux has been evolving beyond the idea of the "single" desktop platform. This is not Windows where each platform is bolted down to a single desktop interface design. Unfortunately projects like GNOME have been slow to adapt. GNOME's focus on a single dedicated desktop interface design has caused the Linux desktop space to fragment causing divisions and frictions between the various communities. This has also deprived commercial Linux platforms the ability to shape desktops that fit strict requirements demanded by their target markets.

Currently and unofficially GNOME is evolving into a meta-desktop with GNOME Shell, Elementary OS, Cinnamon and MATE the resultant outputs of this evolution. This brings along with it several problems such as fragmentation and redundancies. The GNOME meta-desktop needs to be standardized, needs community collaboration and needs commercial interest and momentum drive it forward.

GNOME Meta-Desktop

GNOME META-DESKTOP

The GNOME Meta-Desktop is inspired by Fedora.next as well as systemd/Wayland's current effort to create a common core and standardize the Linux operating system stack. The proposal seeks to organize GNOME around a single core of technologies, applications and utilize the "product" approach to develop desktop products that are specialized for specific use-cases and end-user targets. These products drive the meta-desktop in terms of innovation and excellence. It also attempts to plug desktop communities into the GNOME meta-desktop to enable standardization and collaboration.

GNOME Core and Minimal

Core is the collection of basic things like libraries, API's, tool-kits and other basic building blocks used to build both applications and desktops. For example GTK+ would be part of Core. Developers working on applications contribute to the Core as do developers working on desktops.

Minimal is composed of the bare minimum set of components that a modern desktop needs to work. This comprises the basic applications like GDM, Mutter and other critical components. If you booted up into Minimal it would be like a bare gray X11 instance but it would be fully functional and would be bundled with GNOME Terminal.

GNOME Collections

GNOME Collections would be the stand-alone default applications developed for the GNOME Project. Utilities like Files would be very deeply tied to the GNOME 2 and GNOME 3 products. Applications like Inkscape however would be fairly independent of the products as they are fully cross-platform tools.

GNOME Desktop Products

GNOME 2

GNOME 2 would be based on the MATE desktop and standardized on the latest stable Core and Minimal. It would retain it's character as a traditional, stable, mature desktop workstation environment analogous to Mac OS X and Windows 7. The target platforms for GNOME 2 product would be commercial distributions like RHEL and SUSE Enterprise. It would also be the default desktop on CentOS. GNOME 2 would be managed by a select committee made up of representatives sent directly from GNOME Foundation corporate sponsors. This committee would also donate a certain percentage of their engineers time to work on the GNOME projects with a focus on GNOME 2. This committee would would draw up GNOME 2 product requirements, act in an advisory capacity and have final say on official releases. GNOME 2 would be tied to RHEL and it's release cycles but there would be more frequent release channels available. GNOME 2 would be released in minor versions like 2.9 and 2.10.

GNOME 3

GNOME 3 would be the development focused desktop product and based on bleeding-edge experimental versions of Core and Minimal. This would be the primary test-bed for the latest GNOME technologies and design developments, like a laboratory. This would give GNOME 3 developers the freedom to be creative and try out radical desktop experiments without being tied down to traditional desktop requirements. Over time when certain innovations reached a certain stage of maturity senior developers would go before the GNOME 2 commercial advisory board for approval to introduce these innovations into GNOME 2. This is similar the innovation cycle and relationship between Fedora and RHEL. GNOME 3 would operate as a rolling release with daily builds and stable releases synchronized with the Fedora release schedule.

Applications

Both GNOME 2 and GNOME 3 would have the same default set of utilities and applications from GNOME Collections. This would avoid the problem of having two utility-gnome-2 utility-gnome-3 applications on the system. The problem of having two different versions of applications such as the stable from GNOME 2 and the more experimental from GNOME 3 would solved by using "sandboxed" apps.

Distributions

GNOME 3 would be available by default on Fedora and GNOME 2 would be bundled with it. On distributions like RHEL and CentOS, GNOME 2 would installed by itself and the default desktop. Other distributions would have to define their own policies for how both desktop products were installed and bundled.

Community

Desktops & Spins

Then you would have the COMMUNITY spins and community desktops. Spins would be things like MATE in that they would be based on the GNOME 2 product but would have their own custom set of applications, art, branding and configurations. Desktops like Cinnamon would be considered community desktops in that they would be based on the same GNOME Core and GNOME Minimal but would feature highly customized or unique desktop interfaces and solutions.

In order to minimize fragmentation GNOME products and the community desktops would all be based on GNOME Core and GNOME Minimal and they all contribute to it's development. To encourage community desktops to standardize on Core/Minimal such desktops would get certain support resources and would be able to have the "GNOME based" label. Core and Minimal would be really useful to community desktops transitioning to Wayland. Instead of having to do all of the work themselves they could get a fully integrated out-of-the-box solution.

Commercial Vendors

One of the really powerful things about this arrangement are things like SteamOS from Valve that are integrated with GNOME desktops already. Valve could base it's SteamOS on Core/Minimal and be able to define it's own desktop interface with their own branding and artwork. There would be no license fees for commercial parties to use Core and Minimal and the only requirement would be a commitment to contribute back to the projects.

Other Considerations

GNOME Art

Finally you have GNOME Art. This would be things like themes, icon sets and branding elements. Art would be by far the most flexible of all the areas in that their work would be featured on all GNOME desktop products and even available to COMMUNITY spins and desktops.

Other

The OTHER category includes things not mentioned here like Documentation, Marketing and other efforts that would be general and apply to all areas of GNOME and the products.

Conclusion

In general this is a rough sketch and needs a lot of work. However, the "product" focused meta-desktop concept would be extremely powerful. GNOME would be able to address both the traditional commercial workstation and more experimental form-factors without having to compromise on conservative requirements of the traditional desktop or the creative vision of GNOME developers and designers. The Core and Minimal desktop frameworks would position GNOME as the "go-to" project for anyone doing things in the FOSS Linux desktop space.

Author

Authored by Alexander GS. 02/05/2014

<< alxgrtnstrngl (at) SPAMFREE gmail DOT com >>

Comments

AlexGS/GnomeMetaDesktop (last edited 2014-02-08 14:35:05 by AlexGS)