That's just what we need, more fragmentation. Terrific.
Canonical top man Mark Shuttleworth says that Mir, the company's ground-up replacement for the X Window System graphics stack, is almost complete, and that the technology will ship with the next version of the Ubuntu Linux distribution in October. Canonical announced the Mir project in March to much controversy, particularly …
That's just what we need, more fragmentation. Terrific.
And somewhere far away, a certain Mr Balmer was thinking along the same lines.
<-- Coincedence or irony, both Tux and Ballmer are bald.
There is bad fragmentation. Bad fragmentation affects typical end users. Individuals who just want to get something done. This kind of fragmentation is things like Microsoft changing their own document format every few years, or online messaging systems refusing to deal with each others' formats.
There is good fragmentation. Good fragmentation is invisible to typical end users, but provides innovation and options that ultimately make things better for everyone. This is good fragmentation. It provides another way of doing something, fresh implementations that will carry lessons and improvements that can be carried onwards. Complaining about this is like complaining that Microsoft keeps putting out new version of DirectX, or that Intel keep trying to make better processors.
Survival of the fittest is surely best? lots of projects and the best one gains traction and the others fade out.
Or do you want a communist model where only one can exist?
Tux is a penguin. Those are feathers on his head.
Ballmer is... well... bald!
Coincedence or irony, both Tux and Ballmer are bald.
No, Tux is bald but the appearance of Ballmer's shiny head is caused by millions of tiny feathers which form a water-resistant layer over the top of his head. This is perfectly normal on his own planet but on Earth it seems to cause overheating and impair his brain function.
Perhaps it's time for him to go home.
> Survival of the fittest is surely best? lots of projects and the best one gains traction and the others fade out.
Except it doesn't quite work like that, does it? You end up with a bunch of evangelists pushing their favourite dead technology at just a loud enough volume that people still pay a smidgen of attention.
And nothing ever dies.
Absolutely. Where would life on Earth be without forking? We'd all still be blue-green algae. If Canonical's "convergence" plan works out, MIR will live on, it will grow, fork, evolve. 20 years from now we won't even remember X.
I share the sentiment on some things, like the hundred odd distros that are just Ubuntu respins and fifty or so window managers and desktop environments. X however is one thing that I think is in desperate need of competition.
"For example, rather than a rigid protocol that can only be extended, Mir provides an API."
What the hell do you think the X Window System protocol is? IT'S AN API!
Nothing in the X Windowing System tells you HOW to implement XDrawLines - just what the call looks like, and how to serialize it across a standard X connection.
It's not even as if Mir is going to solve the problem of API versions either. Every API that evolves is going to end up with different versions all the problems inherent with that.
I just wish someone would make X do sound, other input mechanisms (e.g. touch) and print. That'd be pretty useful.
X does handle touch (mostly it's now up to the toolkit layers, like GTK and Qt, to handle touch - which they do on a new enough install), and Pulseaudio will allow remote sound, and sets an X Atom on the display that apps can use to find the server.
Thanks, I didn't know that; clearly I am a bit behind on the latest!
Actually, X is arguably more of a protocol than an API, in that it traditionally at least specified things like "server must report any and all mouse movement events to the client, all the time" which turned out to be a bad thing when people wanted to implement Low Bandwidth X and avoid wasting bandwidth and latency on event updates the client almost always does not need. While LBX could try to ignore these updates, the basic API did not know if something higher up in the client (than XDrawLines) wanted the event updates, which made this type of optimization hard.
At least in X11, both the API (libX11.so or libgnome.so or whatever) and the protocol over the wire are both specified.
Now, without going away from X, there would have been nothing to prevent the server allowing newer clients to connect over "X12" and have this based on a newer and simpler API, with the over-the-wire part hidden from the client. If you support over-the-network clients or really anything where the client might be using an older version of the API library than the server, you're still going to need some "protocol" to specify how they interact though, even if this is versioned to support changes.
PulseAudio is a virus that needs to be eradicated, not a fix.
Actually, specifying what is expected of a system is a part of a proper API spec. Having an API without those guarantees of behavior is what leads to all this breakage you see in things like Windows - an API won't specify what is expected, and so people base their expectations upon what happens - then it gets changed and things break.
REAL software engineers specify not just what a function is called, not just what parameters and return values it has, not just what exceptions it throws, but what its invariants, preconditions, and postconditions are.
Quote: "Thanks, I didn't know that; clearly I am a bit behind on the latest!" By about 10 years or so :)
Esound used to do remote sound even before pulse and network audio system was even before that.
I have been using pulse since ~ 2004-2005 on xterms and while it is reasonably good, I prefer to use its esound compatibility mode and set environment accordingly (trivial - just add an extra 3 liner in the xsession init) instead of the standard mode.
> What the hell do you think the X Window System protocol is? IT'S AN API!
The application communicates with the X Window System over a socket using the X Window System Protocol version 11 (X11). If the display is local then it is usually a unix domain socket otherwise it is TCP/IP socket. Communications with the server are always via a socket (hence its a protocol) and this is one of the main problems with X-windows.
Xlib, Xt, Xaw, Motif, Athena, Qt, GTK etc are toolkits (except Xlib which the others use) are toolkits which allow developers to easily build GUI's and communicate with the X server using the X11 protocol.
maybe so, but it's utter garbage....a university student can create a better API/protocol than the entire X team did for decades, time to let go and throw away all the broken toys, it's 2013 and we can create better ones...
> .a university student can create a better API/protocol than the entire X team did for decades
I can tell you that you sadly overestimate the skills of university students.
Unless you are a university student.
In that case, the Dunning-Krüger effect may apply.
I can agree that clean slate starting with the the new "what works/what doesn"t" laundry list gained since the 90's is probably a very god idea. Go Mir, show what you can do!
"Communications with the server are always via a socket "
Err, wrong - modern X servers can and do use shared memory otherwise OpenGL would be virtually impossible.
Err, wrong - modern X servers have extensions that allow the use of shared memory.
The client creates a packet that gets sent to the Xserver requesting a shared memory object is created. The server creates the shared memory object and sends back the shared memory object key. The client can then directly access this shared memory object and implement its own drawing primitives on it . This is how it works.
The creation/destruction and display of the shared memory object is all done via exchanges of packets between the Xserver and the Xclient.
"Err, wrong - modern X servers have extensions that allow the use of shared memory."
Yes, ok , Mr Nitpick , that is the case but extensions are part of the X server so whats your point? And show me any modern X server that doesn't use them. The fact that X is so modular and hence so flexible is one of its major strong points IMO, one that competing groups would conveniently like to ignore.
I think it's fair to say that X11 is obsolete. X is almost 30 years old, and it was designed to be the "VT-100 for the 1990s", when graphical terminals were to replace character-cell text terminals that used the VT-100 escape sequences. Hardly the way the world went. A more modern purpose-built API would be helpful. Of course getting the fragmented Linux world to adopt anything uniformly would be harder than herding cats.
> but extensions are part of the X server so whats your point?
The point is that everything occurs over sockets. You might be able to create an object with shared memory, but that does not change the fact that X is a protocol, not an API.
Here is how a request is defined:
Every request contains an 8-bit major opcode and a 16-bit length field expressed in units of four bytes. Every request consists of four bytes of a header (containing the major opcode, the length field, and a data byte) followed by zero or more additional bytes of data. The length field defines the total length of the request, including the header. The length field in a request must equal the minimum length required to contain the request. If the specified length is smaller or larger than ....
This is how the initial connect is set up:
The client must send an initial byte of data to identify the byte order to be employed. The value of the byte must be octal 102 or 154. The value 102 (ASCII uppercase B) means values are transmitted most significant byte first, and value 154 (ASCII lowercase l) means values are transmitted least significant byte first. Except where explicitly noted in the protocol, all 16-bit and 32-bit quantities sent by the client must be transmitted with this byte order, and all 16-bit and 32-bit quantities returned by the server will be transmitted with this byte order.
Does that sound like an API or a protocol to you?
And yet there is the libX11 API to abstract the protocol away. Who really cares about how the low level is handled?
> Who really cares about how the low level is handled
That is kind of what the whole article is about.
modern X servers can and do use shared memory
Where "modern" means something like "since 1990 or so". SMT for X11 has been around for decades.
Actually, I have an early '90s book on X11 programming upstairs somewhere and it starts with the expectation of the original X11 team that in two to three years understanding would have advanced to the point where X11 would be outdated. That doesn't sound like they wanted their work to be enshrined as some never-to-be-touched-again ideal. If anything, they're probably disappointed it took so long.
Now maybe Wayland is the better successor, maybe Mir is. I have not studied either in depth, so no opinion. I do find it hard to imagine that the existence of two alternatives can be a bad thing at this point, though.
Fragmentation is a problem big enough by itself. Each time I see the 300 distros listed on DistroWatch it makes me want to cry for all the wasted effort in creating a different variation of the same 4 basic distros.
But Mir is worse. Mir is yet another attempt at creating a screen management / user input / graphics acceleration layer that can be reused across low power mobile devices, high and low end tablets, laptops of all kinds and desktops from the Atom based machine to the multiple core monster. For the wrong reasons, I have to add. Canonical could have backed Wayland and end up with basically the same product, only with better community support.
And is not like Canonical lacks many examples of this strategy not working: Gnome 3 is working very hard to add enough extensions, plugins or whatever you want to call them so that one can more or less reproduce the Gnome 2 experience in order to stop hemorrhaging its user base. Microsoft is backpedaling from the TIFKAM radical change to add more classic Windows features. Apple keeps separate iOS and OSX codebases for a good reason. And KDE is gaining acceptance just by extending and improving on the traditional desktop/window metaphor and adding flexibility for those that want a simpler interface.
And that of course assuming that the first release is not so bug ridden that sends Ubuntu back to the "Linux is too hard to install and configure" camp and loses all the credibility gained over the last few years.
Interesting times we live in.
Ubuntu has always been about a simple, clean off the shelf implementation of Linux with a bit more polish than other distros - surely if this accomplishes this for the masses then it is fulfilling it's goal, if one wanted to use Wayland as a power user - removing Mir and installing Wayland instead shouldn't be a problem surely? I have to believe that Shuttleworth has a reason for his choice that fits in with his vision of where Ubuntu is going in the future.
Microsoft is backpedaling from the TIFKAM radical change to add more classic Windows features.
Users KICKING & SCREAMING for the Start Button (i.e. The Start Menu!), and getting trolled by Redmond with a faux Start Button that takes you back to TIFKAM. IS NOT BLOODY LISTENING, or "Backpedaling".
I'm afraid to say that nobody knows what "Ubuntu" is about nowadays. It started as you say as a clean, off the shelf Linux implementation with a bit more polish. Now, and depending on which forum Shuttleworth is speaking to, it wants to be anything from the best mobile experience to the more robust server available.
At least nowadays, and as far as I know, Ubuntu is removing itself from the "off the shelf" as much as possible. First shipping with a desktop environment (Unity) that no other distribution uses or cares about. Mir is another step to distance itself from the mainstream Linux distributions.
Whether this Mir move gets Ubuntu closer to mass adoption is another question. And one whose answer is likely "no" After the initial success of MSDOS and Windows, no non-server OS on earth has a chance to win any significant market share unless it is preinstalled with some hardware, preferably one that sells gazillions of units to create the snowball effect that finally attracts both application developers and mainstream public. Mir by itself is not going to change anything in that regard.
Since Mr. Shuttleworth is certainly not stupid, I'm sure he already knows that. So this Mir vs. Wayland war is completely irrelevant for him. The only remaining valid explanation for Mir is then that Canonical sees Mir as a prerequisite for gaining the favors of a hardware manufacturer (think Acer, Asus, Lenovo or...) to get their buy-in and start massively selling some kind of machine with Ubuntu preinstalled.
"A bit more polish"?
Actually, that's being a little unfair to other distros. Ubuntu has always been more about providing a simplified way for end users to get into Linux which it does well. It does so, however, at the expense of some of the flexibility that other distros have, mostly because first timers and other users may not have a need for it.
Polish (reverse or otherwise) doesn't really enter into it. What it actually amounts to is that Linux is evolving on many different fronts. If Mir is a successful project, then it will no doubt appear across the board, either as a replacement or as a default, in other distros. If it turns out to be a pointless effort by Conanical to turn Ubuntu into more of an Android than a proper Linux distro, then you never really know. After all, Linux is not Ubuntu.
Who cares what Ubuntu does anymore, I stopped using Ubuntu the day they forced Unity on me.
I shook my head at TIFKAM/TIPKAM, then damn near threw the laptop out the real window with Windows 8.1.
I want what I want, and neither of those companies seems to care what I want, so they can go the way of the Dodo for all I care. If it wasn't for XFCE I'd have no OS. Basically if you like Apple but can't afford one, buy something with Windows 8.1, if you can't afford that buy something with Ubuntu's Unit on it, and if all of those drive you nuts because they appear to be made for simpletons and grandmas, use XP or XFCE.
It's never achieved that IMHO. Maybe that is the aim, but there are several distros that are much more mature, been doing the install/config process in a much more polished way since before Ubuntu's existence.
They do seem to have a NIH mentality though ... for good or bad
Each time I see the 300 distros listed on DistroWatch it makes me want to cry for all the wasted effort in creating a different variation of the same 4 basic distros.
Welcome to the planned economy mindset recovery clinic. How can we help you today?
Your "wasted effort" is another person's "learning experience". And until this sodden earth has been absorbed by the hivemind, that ain't gonna go away.
MacGyver - this is exactly why Linux has no real market share in the desktop / device world. Nerds looking down on the masses, and not being interested in making a finished product that just works. You are not Ubuntu's target audience. You are a technical user interested in a highly customized operating system. I'm not meaning to be insulting, just trying to make a point.
So your response might be "Who cares about them! It's for me!" Well, that's fine if you want to be stuck with OpenOffice, Kivio/Dia, and all the other really bad applications on the Linux platform - or worse, having no Windows equivalent in the Linux world at all. Getting the Linux desktop to the point of being as relevant as Mac OSX means you start to get commercial applications ported to Linux (Adobe, MS Office, etc), or you start getting a lot more sponsor dollars/resources to the open source applications. Could you imagine if Kivio had the funding that Apache has because of it's server relevance. There's a bigger picture here.
Well, that's fine if you want to be stuck with OpenOffice
You do realise that OpenOffice was deprecated several years ago?
Chika, "simplified" doesn't quite describe it. Ubuntu off the shelf insults the user's intelligence. I just tried DreamStudio, which packages a lot of A/V apps atop it. I hadn't tried straight Ubuntu in years -- I like Mint, but that offers several other desktops.
The Ubuntu desktop was bizarre, a mix of old Mac tropes sloppily implemented. And then it was missing things. No "list" mode in the file browser, because "simplified" means only icon mode? Eccchh. No menus in Firefox, because they'll confuse your pretty little head? Gaaag. The dumbed-down look made it harder to use than KDE or Cinnamon. No wonder Mint is getting more attention; it takes Ubuntu repositories and makes them usable by people who don't have pea-brains that happen to be of the shape Shuttleworth imagines.
> Well, that's fine if you want to be stuck with OpenOffice, Kivio/Dia, and all the other really bad applications on the Linux platform
You're just shoveling the same old mindless Lemming FUD that people like you have been pushing since before Linux ever existed. Nothing is acceptable unless it's the herd anointed choice. It doesn't matter how good the alternatives are or what their business models are.
"Your "wasted effort" is another person's "learning experience". And until this sodden earth has been absorbed by the hivemind, that ain't gonna go away."
I recognize the value of diversity, and you're right that without these experiments things would have progressed little, if any. However, the nature and origin of these 300 distros is a different matter. I challenge you to pick one from DistroWatch and try to guess why it exists. 80% of them will fall into one of these categories:
- "ego/career boosting experience" yes, I can create my own distro, which nobody can tell apart from the originating one except for a few details, but who cares, my name is there and I can boast of having released my own distro. Just change the default desktop environment that is installed, preferably for some obscure and hardly used one, and call it a day. Bonus points for simply reusing the package from the originating distro, saves you a lot of time.
- "NIH experience" I don't like the defaults that come with Fedora, Debian, Arch or whatever, so I can create one distro with a different set of defaults. I could simply create a meta package or a script that changed these defaults, but why do it when I can also get a "ego/career boosting" exercise as part of the deal?
- "political/nationalistic maneuver experience" I can rename all the LibreOffice packages to local celebrities (Shakespeare instead of Writer, Turing instead of Calc, etc...) Look, I'm pushing the envelope and contributing to the nation's IT industry, and saving a lot from Windows licenses.
Very few "learning experiences" in all this. Yes, some of these are genuine specializations or radically different approaches (BSD, Solaris, low memory overhead, security related... ) The rest is people genuinely wasting their time by just changing default settings or packaging default permutations of default apps and desktop environments.
Now, this is not an argument for the "planned economy", but really an argument to hear the advice from older and more experienced people: for vanity distros, the "learning experience" is that the people behind these realize how they are wasting their time and stop doing it. However, there seems to be an infinite supply of people ready to continue the tradition.
Whatever comes out of this, I keep being impressed with Ubuntu's and more importantly Shuttleworth's vision and striving to do SOMETHING about the moribund state of Linux on the desktop.
For everyone that wants standardisation, there is Debian. Go for it.
But Shuttleworth is the wild card - he is like a gambler in Vegas that will keep trying to beat the system, and GET Linux on the desktop (and every other device) successful, somehow. It will take risks, beating his own drum to his own tune...and will quite possibly, quite probably, fail.
BUT MAN do I respect him for it, and I've been in this computer business for a long, long time.
I really want to see proper Linux properly running on supported tablets and phones and Canonical are the only people who seem to be doing this.
I am with you on this. He has a vision and the means to realise it. I can't imagine why anyone would knock him for that, even if you don't agree with it.
The problem with linux on the desktop is not the UI or display system, its the market share.
Linux is seen to win easily when there are large numbers. Large numbers mean enterprise deployments.... enterprise means dealing with MS controlled lockin apps - Visio and Outlook. Visio doesn't even show up on Mac's, never mind Linux.
Rather than sinking billions into his own distro, messing with Mir and Gnome3, Shuttleworth would be better off improving Kivio and Evolution. Yes, we want a nicely integrated lync replacement.
Don't be fooled. Shuttleworth is in it for the money only.
For let me know what moriband is
There was a time I would agree that MS were relatively safe on the desktop because of Office and Outlook and other business favorites, but every week I see a new cloud service launching that not only mirrors that functionality, but often improves upon it. I would happily subscribe to Office 365 on Linux if I had to, but other services are improving quickly and probably offer better collaboration options. You may also wish to look at creately.com too if you want an alternative to Visio and although I hesitate to offer Gmail as an alternative to Outlook, I would be surprised if Google weren't seriously thinking about adding more business friendly features.