The growing divide


Recommended Posts

People often regard Linux (or GNU/Linux, if you prefer) as an operating system. When asked "What operating system do you run?" many of us, myself included, are likely to reply, "Linux". I believe this concept of Linux as a single operating system to be a generalization at best and, at worst, inaccurate. The label GNU/Linux really refers to a family of operating systems, each with their own distinct quirks, rules, package management utilities and installers. Sometimes these differences are good as they allow for friendly competition and variety, allowing each user to find an operating system which fits their ideal. At other times these differences make extra work for developers, reduce the spread of software products and force users to give up some features in order to enjoy others.

I believe most of the problems this variety causes come not from upstream software projects, but rather from ambitious distributions. Distributions often develop in-house utilities for their users and keep those utilities in-house, which makes them harder to adapt to other distributions. While any distribution can package a distro-agnostic project such as LibreOffice or Firefox (indeed distributions can work closely with these neutral upstream projects), software projects which are kept "downstream", maintained by the developers of a single distribution, ultimately cause fragmentation and result in users losing out on important features. Let's take a look at some examples.

The YaST configuration tool has been included in the openSUSE distribution for years, yet efforts to port this configuration manager to other distributions have typically failed. Likewise porting Mandriva's Control Centre has met with similar road blocks. Various projects first introduced by Ubuntu have generally failed to spread. The Unity desktop environment and One client software have given developers working with other distributions many headaches.

These little incompatibilities between Linux distributions have existed for years and aren't anything new. Most of us have learned to live with them, accepting that running one distribution and enjoying its perks means giving up on other attractive features. What concerns me now is that these incompatibilities not only appear to both be growing in number, but might be introduced deliberately. Looking at the systemd project, as an example, we're seeing the new init system being attached to other projects, including udev and possibly the GNOME desktop. Many Linux and BSD developers have expressed concern that this will limit GNOME and udev functionality to Linux distributions which swap out their existing init system for systemd. In fact it is an issue Gentoo's development team has taken quite seriously, resulting in a fork of udev. The move has also effectively blocked GNOME Shell from making an appearance in the BSD community.

These examples certainly show the existence of incompatibilities, but they don't demonstrate deliberate fragmentation of the open source community, and I did suggest fragmentation might be caused on purpose, so let's look at another example. Canonical recently announced they had decided the new Wayland compositor might not be the solution they had originally hoped it would be and so Canonical introduced a new product, Mir. Now Wayland had not been widely adapted up to that point. Some initial work had been done to make Qt and GTK+ applications work with Wayland, but this functionality wasn't included by default. Both toolkits had added Wayland support as a possible add-on option developers could turn on and test. In short, Wayland was receiving a lukewarm welcome from the community as a whole.

At least it was until Canonical announced the launch of Mir, a potential competitor to Wayland. A week after the announcement went public, this post was made to the GNOME mailing list stating: "The recent Mir announcement makes it a bit more urgent that we put our weight behind Wayland and help it reach its full potential." The post suggests GNOME should support Wayland before the end of 2013 and it's probably not a coincidence this is the same time-line proposed by Canonical for getting Unity working with Mir. I personally think it is also interesting to note the proposed push to get GNOME working with Wayland comes from Matthias Clasen, a Fedora contributor with an @redhat.com e-mail address. I suspect in the final quarter of 2013 we will see an interesting and problematic fork in the road where GNOME runs on top of Wayland on Fedora, Unity runs on top of Mir on Ubuntu and other distributions not based on either of these projects will be running their desktop environments on top of standard X.

Why might this be problematic? Well, aside from the likelihood of new bugs being introduced with the arrival of fresh software there is also the question of video drivers. Linux distributions already suffer from poor video driver support and dividing that limited support three ways isn't going to help. While it should be relatively easy to make existing open source drivers work across X, Wayland and Mir, closed source drivers (those needed for 3-D support and gaming) do not yet work with Wayland or Mir. It's already hard enough to get companies like AMD and NVIDIA to support Linux when they are asked to support the X graphic stack, are these companies going to volunteer to support three different display systems in the small desktop Linux market? Might they only support one or two of the display options and, if so, which ones?

Increasingly we are seeing the Linux community divided into camps, not just the classic RPM vs DEB and GNOME vs KDE camps of the past. The chasms are growing wider, dividing the community into separate groups using different init processes, display systems and access controls. It is my concern as both a developer and a user that we are seeing a division of the Linux community into multiple separate communities. We appear to have the Fedora/Red Hat camp on one side, the Ubuntu/Canonical camp on the other and we have many other distributions stuck in the middle, faced with an uncomfortable choice. Should they join one camp or the other, or perhaps try to stick with existing technology which will slowly lose support as the big players move away? This concerns me as it appears that Linux distributions are not only becoming less compatible with each other, they may be forming new operating system families. Might we see GNU/Linux go from being one family of similar operating systems to being divided into three or more separate entities? I certainly hope not, but right now it looks like the two community members with the most money both want to take their balls and go home.

Source

Link to comment
Share on other sites

Some of these statements are wrong, but yeah, that is the general idea amongst Linux users.

  • Like 1
Link to comment
Share on other sites

Imo, as an end-user this is no bad thing. As stated, Linux is becoming more and more fragmented as distros move away from the "norm" and try and find their own identity. Good. I'm all for it. Let them become more than "just another Linux Distribution". Red Hat, Canonical et al have ambitions beyond the current stale-mate. If they want to grow and become a self-sustaining entity, then they should be encouraged to do so, not rebutted by developers and/or the larger community.

Linux will always have it's place; it's niche if you like. But I really don't see any harm if a handful of the more popular distros aspire to be something more. It's their gamble and if it pays off the rewards could be huge. If not, well, Linux as a whole isn't going anywhere, figuratively speaking.

Link to comment
Share on other sites

Linux really ticks me off, to tell you the truth. It has so much potential but it never reaches it because of all the petty squabbling between it's developers. If they could ever learn to work together it would be awesome.

Link to comment
Share on other sites

This is the typical conundrum of open source, though. It can never have a unified front, because there are two mindsets that are fundamentally incompatible:

1. Open source brings a global community of talent together behind a project, taking advantage of those resources to make the best possible product. Everyone should learn how to code, so that whenever you don't like something about an application, you can contribute and make it better. This view is often held by the Webkit evangelist, who will claim all browsers should use the webkit engine and contribute back to its code for the best possible web experience.

2. Open source gives people the freedom to have the software they want, the way they want it. People should never be limited to one particular version of one particular product, and widely diverse sets of choices can only ever be good. The more, the merrier! Forks are good, sporks are better. Everyone should learn to code, so that whenever you don't like something about an application, you can fork it, change it, and make it yours.

Link to comment
Share on other sites

This is the typical conundrum of open source, though. It can never have a unified front, because there are two mindsets that are fundamentally incompatible:

1. Open source brings a global community of talent together behind a project, taking advantage of those resources to make the best possible product. Everyone should learn how to code, so that whenever you don't like something about an application, you can contribute and make it better. This view is often held by the Webkit evangelist, who will claim all browsers should use the webkit engine and contribute back to its code for the best possible web experience.

2. Open source gives people the freedom to have the software they want, the way they want it. People should never be limited to one particular version of one particular product, and widely diverse sets of choices can only ever be good. The more, the merrier! Forks are good, sporks are better. Everyone should learn to code, so that whenever you don't like something about an application, you can fork it, change it, and make it yours.

I completely agree with your assessment. The open-source ecosystem is very much developer oriented. As a developer I love it. As a user I can understand why people looking from the pure end-user perspective see that as a problem. Advanced users who are not developers, like my younger sister, can easily take advantage of alternatives already in their distribution's repository, but are limited to submitting bug reports and wish list requests for bug fixes and new features, respectively. However as a developer I can - and often do - download the source code of the program I found a bug in so I can try to submit a preliminary patch along with my bug report. While there are certainly advantages of GNU/Linux for non-developers, they are often somewhat segmented by distribution. As a developer, however, I don't think I could productively switch back to another operating system.

In regards to the article, I agree with some of the author's points. While I understand where she is coming from, I don't think fragmentation is quite as big of an issue as she seems to think it is - although I've been wrong before. The quote that grabbed my attention the most was the sentence near the beginning of the article that says, "When asked 'What operating system do you run?' many of us, myself included, are likely to reply, 'Linux'." For exactly the reasons stated in the article, I don't often state that I run "Linux". In my opinion there are significant enough differences between distributions that simply stating "Linux" or even "GNU/Linux" is insufficient outside of discussions of the Linux Standard Base (LSB) or when talking to someone entirely unfamiliar with Linux. I will usually say that I run "Debian", or sometimes "Debian Linux" if I feel the need to differentiate between "Debian GNU/Linux" and "Debian GNU/kFreeBSD" (which I also run, but not on my main system).

Link to comment
Share on other sites

Linux distributions need some kind of unifying factor beyond the kernel. I've thought in the past about whether it'd be of value to have a distribution database 'service' which could become a platform for improving the Linux UX. Why isn't the community maintaining a universal bootable image that lets you select your distribution? Or even present something akin to what OEMs use on their websites to help shoppers pick the right product for them ("Help me choose a laptop!").

The problem comes back to the 'fundamental incompatibility' I mentioned earlier. What I just described would appeal to the Global Teamwork half, but repel the Make It Yours half. The more distributions start participating in something together, the more likely it is for a movement to rise that criticizes/opposes it.

It's a real pain, and it's this Oil & Water mess that keeps pure Linux out of the mainstream. Sure, we talk and pretend that Linux does "just fine" among enterprises and servers--but does it, really? Or is it Linux with a commercial support layer that's doing so well? Ultimately, the Linux community's turbulence prevents a pure Linux experience from ever being adopted by a significant market share, and only through proprietary funding has it ever seen any real success. This is not a shortcoming of open source code itself, nor a result of commercial evils--it's a community shortcoming, and one that I'm not sure the prevailing personalities populating it will be able to overcome any time soon.

Link to comment
Share on other sites

Some smart company, perhaps Google, will one day wake up to the potential of Linux and will deliver the Linux experience us users have been waiting for. When that happens I can see average users leaving the current distros in droves.

Link to comment
Share on other sites

Mir was created because of (and for) Ubuntu Kylin, to prevent Chinese from jumping to another distro as the base for Kylin, if (when) they find something wrong with Ubuntu. AMD will (have to) support Mir, because of a large amount of orders they are receiving from China. Nothing personal, just business.

Link to comment
Share on other sites

Mir was created because of (and for) Ubuntu Kylin, to prevent Chinese from jumping to another distro as the base for Kylin, if (when) they find something wrong with Ubuntu. AMD will (have to) support Mir, because of a large amount of orders they are receiving from China. Nothing personal, just business.

I LOVE CONSPIRACY THEORIES! Seriously, though, do you have a source for that - or at least convincing evidence?

Link to comment
Share on other sites

I LOVE CONSPIRACY THEORIES! Seriously, though, do you have a source for that - or at least convincing evidence?

Right now, it's speculation by several people. Including myself. I can see that happening.

Link to comment
Share on other sites

I don't see how a display server would keep them from switching away from ubuntu, the theory sounds silly.

And regarding drivers, since both mir and wayland have similar architectures and both use EGL, I can see nvidia/amd making a unified display server agnostic EGL driver (its rumored that this is nvidia's plan). Nvidia and AMD's proprietary linux drivers are mostly for workstation users, which afiak isn't exactly ubuntu's biggest market, so I think only supporting mir would not be in their best interests. But who knows, its all speculation until we hear/see anything from nvidia/amd.

Link to comment
Share on other sites

Mir was created because of (and for) Ubuntu Kylin, to prevent Chinese from jumping to another distro as the base for Kylin, if (when) they find something wrong with Ubuntu. AMD will (have to) support Mir, because of a large amount of orders they are receiving from China. Nothing personal, just business.

I thought it was developed by Ubuntu so they would have a unified platform across the board that they could control. Mir is suppose to use Android drivers, which will be a huge plus for them on tablets and phones.

Link to comment
Share on other sites

Some smart company, perhaps Google, will one day wake up to the potential of Linux and will deliver the Linux experience us users have been waiting for.

And what "Linux experience" would that be exactly?

When that happens I can see average users leaving the current distros in droves.

Even if this happened, there would still be many distros left targeted to non-average users. Also what if people decide to fork the new distro? I doubt the fragmentation of Linux distros would be changing very much.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.