The GNOME Project is coming away from its annual GUADEC conference with a new goal for itself: creating a new operating system on which to develop apps. But is GNOME OS an indictment against current Linux application development practices?
The new project, GNOME OS, is emphatically not meant to be a replacement Linux distribution to challenge the likes of Ubuntu, openSUSE, and Fedora.
"Some people seem to have assumed that GNOME OS is an effort to replace distributions, so let me be clear: that is not the case. While the creation of a standalone GNOME OS install does feature as a part of our plans, this is primarily intended as a platform for testing and development," wrote GNOME developer Allan Day.
If that's not a moon shot, then it's assuredly an orbital mission at least.
Day makes a good case for GNOME putting such a project together: primarily it will be a stable sandbox environment in which application developers can play, building and testing their apps so they can be released on other Linux distributions running GNOME.
But the reason that caught my eye the most was Day’s description of the current development situation.
“Right now, it is far too hard for developers to create and distribute applications for GNOME. Our APIs are a constantly shifting target, and application distribution is slow and fragmented. It is also very difficult for application authors to maintain their brands or to generate revenue streams from their work,” he wrote.
Making a more stable GNOME-friendly development environment in the form of a new sandbox operating system is the popular solution within the GNOME community for this problem, but reading Day’s description, I have to wonder: how the heck did things get so bad for developing GNOME apps?
The current model for application development as I understand it is for a developer to set up a development machine environment close to the target environment for which she wants to code the app. The apps is developed, and in an open source project, collaboration happens, the app is improved, and eventually released to the world.
But Day is highlighting a breakdown of this process. You can’t build a destination environment because the GNOME APIs are “a constantly shifting target.” If that assessment is true, then what are the causes?
I don't imagine the GNOME Project is deliberately updating their API at a rapid clip, but if they are, then GNOME’s got a bigger problem than a test operating system can solve.
But is Day actually describing fragmentation between versions of GNOME shipped within different Linux distributions? It seems this could be the case, since the solution itself--create a “pure” GNOME distribution--points to “impure” GNOME distributions as the cause to be fixed.
This is worrisome, because that points to a possible failure on the part of the Linux distributions to foster a cross-distro application development system that encourages developers to build apps instead of hampers them.
You can argue that this failure is on the part of the Linux Standard Base, or freedesktop.org, or back with the GNOME Project itself for not keeping its downstream releases more compatible. I am not sure. But there is a broader failure here that does not speak well for application environment on Linux in general.
Because if the solution for a very free-software-savvy project is to create a completely new “pristine” app development environment to get things done, how in the world do we expect independent software vendors to create apps? ISVs don't have the time, energy, or desire to create sandboxes, and the sandboxes Linux is supposed to have--the aforementioned LSB or freedesktop.org, not to mention any Linux distro--are clearly not good enough for GNOME, so why should they be good enough for ISVs?
You can also wonder if this just isn’t an overreaction on GNOME’s part. That they have just decided to stop working with the distros on app development for their own motives. That is certainly possible, but if it is, that means GNOME will still have intra-project problems to work out down the road. Isolation may seem like a good short-term solution, but it won’t be in the long term.
Is GNOME’s decision a good one? One positive way of thinking about it is that there will be a “pure” platform on which to build apps. But why can’t that platform be Linux itself?
Read more of Brian Proffitt's Open for Discussion blog and follow the latest IT news at ITworld. Drop Brian a line or follow Brian on Twitter at @TheTechScribe. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.