Lead developer for Compiz, Sam Spilsbury, says he sees little need to develop Compiz for Wayland due to the increasing fragmentation of the Linux ecosystem. Spilsbury writes “What does compiz actually provide to users of these systems? […] None of this functionality that user wants really depends on our compositing engine. There’s nothing so special about our compositing engine that gives it a reason to exist […] This is the real practical toll of fragmentation amongst the Linux ecosystem. It’s not just that there are multiple implementations of the wheel. There are multiple implementations of entire cars which do almost the same thing, but a little different from everyone else. Some say this is the free software’s greatest strength. Now that I know the personal and technical toll of fragmentation, I see it as its greatest weakness.”
Surely, the ability for someone to be able to write Compiz when X11 was the main game in town, then for someone else to come along to replace X11 is a good trade off for fragmentation?
It’s not as though there’s so much love for X11 compared to Wayland that would keep Linux fragmented along those lines either.
I really don’t see his point either. If there already was a great number of compositors for Wayland then, sure, yes I could maybe see it but as it is there’s only the reference implementation.
It’s not like porting Compiz would cause a great deal of fragmentation in the Wayland landscape.
Not to mention that Compiz could be given as an example of fragmentation because it’s an extra / standard hack to the preferred window managers the desktop environments ship.
So I wonder if the underlying annoyance is the number of DEs that include their own compositing window managers (eg KWin), pushing Compiz out of the market. From his point of view, it may not be worth porting to Wayland because if/when the big DE’s switch, people will largely be using those WM’s over his.
If that is the reason behind his rant, then I can kind of sympathise, but I cannot agree with him. Yeah it sucks when new software pushes your older product out, but that’s how all software works and how businesses work as well. I don’t agree that consumer choice should artificially crippled.
However if he is talking purely from the perspective of the work involved to support both X11 and Wayland, then I’m sure someone else will fork Compiz; and then once again we’ll be talking about how great the open source model is.
Either way, I don’t think he is a particularly good example of the drawbacks of fragmentation (and I’m not going to pretend that there isn’t any).
Isn’t Compiz of today a fusion of Beryl and Compiz?
Indeed. Technically it’s called ‘Compiz Fusion’ but most people just shorten it.
That’s his point.
Let’s use that occasion and stay with a single codebase that has single behavior. I theory documented standards were meant to cope with that, in reality this approach fails as seed by sory state of linux desktop.
Re-implementing every component N times with slightly different behaviours and bugs all other components that interact with it has to deal with creates a complexity toll that OSS comunity (whatever vibrant it is in a given moment) just can’t bear.
Eh, there’s like 4 compositing VM’s and most of them have been around for quite some time. Heck, the compositing in xfwm4 might even predate Compiz.
That’s pretty minimal fragmentation.
But this problem merely highlights what myself and many small shop owners have been saying about Linux for years which is thus: Linux is NOT AN OS, its a whole bunch of little programs made by guys that don’t talk to each other that is magically supposed to seamlessly work together but which IRL does anything but.
So I can’t say as i blame him, if I were a developer I would be targeting Android not Linux. At least with Android its all controlled by a single company so all the pieces “just work” instead of having to worry that the audio guys changed a pointer somewhere and the DE guys didn’t get the memo.
That still makes it an OS, your opinion on if it works or not doesn’t change that.
Yes, but the way it is going is a deja-vu of the UNIX wars of the late 90’s that made many corporations wish for Windows NT.
I was there and I know what POSIX “compatibility” really means.
Not mentioning POSIX constitutes about 5% of what modern apps need.
I don’t know, the core stuff seems to work together and talk to each other very well. It’s the third party stuff that can get a bit hairy.
Well yes, that why they’re called “Linux distributions”. The only people who pretend Linux is a single complete OS is people who do not know Linux.
This is also why I don’t correct people who refer to Linux as Ubuntu; because almost always, they’re talking specifically about Ubuntu and thus are actually more literally correct than techies who call ‘Ubuntu’, ‘Linux’.
that’s an odd statement because you wouldn’t advocate someone writing a productivity suites in iOS instead of OS X. Some types of applications target laptops / desktops because they’re the types of apps that work better for that paradigm of computer. So the only reason in favour for targeting Android would be if you were writing a mobile / tablet app rather than something that required an accurate pointing device and/or hardware keyboard.
You also need to bare in mind that the sort of application that Compiz is, isn’t the kind of application that most app developers would be working on; and certainly not the kind of app that could ever be ported to Android.
I believe he was referring to the fragmentation between Linux distributions vs Something like Windows or Android which comes as a complete artefact from a particular supplier.
Edited 2013-01-09 14:05 UTC
Yeah I appreciate that, his project could equally be accused of adding to the fragmentation as its a non-standard WM (though granted a highly popular “non-standard”). He’s entire project is based on the principle that people can replace the underlying window manager behind their desktop environment of choice with another windows manager.
So I was more speculating about whether there was additional motives behind his rant.
There are a lot of changes happening in Linux which are doing more to push Compiz out of the market place (eg KDEs Kwin). So if his rant was purely about the fact that some distributions are adopting a replacement for X11 (which, to be fair, is fairly unpopular in Linux anyway, and up until yet, there hadn’t been any viable alternative), then he’s coming off slightly hypocritical given his architecture is designed to replace the desktops default.
I’m probably reading too much into things, and there certainly is an issue of fragmentation in Linux. But Wayland is one of the few instances where I think the re-engineering that’s going on is deserved.
This is all purely opinion though
Edited 2013-01-09 14:57 UTC
Windows, Android and osX are each also distributions. The fact that only Microsoft can legally produce and ship Windows distributions doesn’t change that.
Is there fragmentation within Canonical’s standard Ubuntu build or within the bounds of any other distribution.. not so much. Perhaps around the same amount of fragmentation found within the bounds of the current Windows distribution version.
In terms of market fragmentation; about the same as the automobile industry.. or do we demand all manufacturers merge there car designs into a single product sku number?
(yeah I know.. old debate.. nothing productive going to come from this tangent of it either)
I can see the point you’re trying to make, but I think it’s a bit of the stretch for the very reasons you later explained:
Which is why you wouldn’t call Ubuntu and Xubuntu different distros any more than you’d call different releases of Windows as different distros.
OSX is moderately successful compared to IOS, Linux desktop is an utter failure (market share wise) when put against Android.
Indeed, but my point was about computing paradigms.
I explained myself very badly, but what I was trying to say was that suggesting Android over GNU/Linux development (as he did) doesn’t really make much sense because they target entirely different types of devices. However suggesting OS X or Windows development does make a logical (in the sense of comparing like for like) argument because they are all desktop OSs.
Edited 2013-01-09 14:52 UTC
I agree that Android currently lacks many elements that would be required by a full blown desktop, but its low level foundation (services and drivers ) are sound, stable, performant and field tested. Most of all, the OEMS have great expertise with adopting to them.
Porting current OSS video drivers to Android interfaces wouldn’t be too hard I guess (it’s all based on OpenGL anyway). QT is already experimentally available on top of flinger, and Digia is committed to it. They would be more than happy to unify their Android and Wayland support efforts. I guess Nvidia might also root to unifying their mobile and desktop lines both in hardware and software.
The most tricky part is adding missing WIMP parts (like proper window management and input event framework) and Google would need to be involved here. But unifying Android and Chrome OS is in their interest too.
This part you got right.
Then…
No, it’s just the kernel, the ‘little programs’ are other parts of functionality which together with the Linux kernel is presented as an operating system, you could say a ‘Linux’ based operating system, or if you are the FSF: ‘GNU/Linux’ based operating system.
However the common term for a set of components presented as an operating system that includes the Linux kernel is a ‘Linux distro/distribution’. I can only assume this is where some people get confused.
Android contains Linux, what you meant to say is that you would target the Android operating system, which consists of the Linux kernel and lots of ‘little programs’ in a specific configuration.
Just like Steam for Linux will initially target the Ubuntu configuration, which consists of the Linux kernel and lots of ‘little programs’ in a specific configuration.
Doesn’t Wayland has its own compositor? I sure can’t stand Compiz bugs anymore and Canonical is playing dangerous unless they start writing some code for their Unity stack.
The Wayland compositor is only a reference on, akin to the one that you get in you install X11 and then run startx without anyother WM installed. So enough to prove that it works but not much more than that.
The H Online has the best response to the question: http://www.h-online.com/open/news/item/Lead-developer-sees-no-Compi… The issue isn’t whether Linux is or isn’t an OS. It’s how display managers and windowmanagers are evolving, and the role Compiz will play. The linked blog piece by Spilsbury is also interesting, but the H Online article gives some good background.
Cars are like that too. I fail to see the world of hurt.
If Wayland is a car, then X11 is a tank.
Actually, no. Most cars these days are made with many of the same parts. Most brands use the same parts from the same suppliers. They’re not really car factories anymore, just marketing companies.
My VW Bug bumper will fit your Fararri? cool.. they really have tackled that fragmentation issue we’ve all been calling out in the auto industry huh..
Or from teh other perspective
Cars are very like products assembled from basically the same parts. I fail to see how this is different from Linux based distributions which are assembled from basically the same parts.
It’s more than just common parts. A lot of cars on the market today – even from different manufacturers – are pretty much the same car, barring a few styling differences. A VW Scirocco is a Golf with a bodykit. Half the Mazda range share the chassis and most of the internals with equivalent Ford models. Collaboration between Toyota and Subaru results in near-identical sports cars, almost indistinguishable to the casual eye.
Please, not a car analogy again…
The problem with car analogies is like comparing a cheap customer car to an expensive sports car: they don’t compare.
Someone who makes this comparison in this context has absolutely zero idea why Wayland was written in the first place and how it differentiates from X11.
Wayland is a complete NEW design, porting Compiz to X11 would not only mean a lot work but it’s also completely pointless. Wayland itself is designed already to be compositing right from the start. And for people who still haven’t grasped the concept: compositing has NOTHING to do with 3D animations and wobbly windows, but it is required to generate these effects.
Compositing is an alternative, better concept to draw windows on a screen as compared to the old, stacking window managers. MacOS uses compositing since 2001 (first release of MacOS X) and Windows since Vista (with the new WDDM display driver model).Compositing simply means that every content is rendered off-screen first, then the window manager composes the desktop (as opposed to stacking window managers which lets application directly draw on the desktop).
Everyone who still thinks that X11 is a good concept that should be persued in the future, should have a look at these pages:
http://wayland.freedesktop.org/architecture.html
http://www.art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
Adrian
Edited 2013-01-09 10:34 UTC
Did you read the article?
That was his point..
It doesn’t matter. X11 is going to be abandoned in the future. It’s 25-year-old, crufty old code no one really understands in full anymore.
It will be superceded by Wayland + XWayland. There is no fragmentation simply because in the future, Linux will be Wayland-only like MacOS is Quartz-only.
Ubuntu is going to enable Wayland for 13.04.
Adrian
Wayland is fundamentally a protocol with a ref impl., and he wanted to avoid replicating current mess with X11 window managers with equivalent mess of competing wayland implementations, that in the end some poor souls have to maintain and debug inside of Linux companies that loose money on that.
I don’t see why the current situation with window managers is “a mess,” actually (other than that X11 itself is a mess). One size does not fit all.
It’s about 2 things:
– wasted effort (as author notes WM is much much more complex to get right than it appears)
– bugs, inconsistencies, and variances in implementations that cause headaches to application developers.
What the author suggests is not forcing simple functionality set upon everybody throat but simply promote the common (hard) part to a common system library / service that could then be extended implementing different policies people need.
Wayland, being the new, virgin ground is the best opportunity for that.
Not really, as Wayland is very similar to X11’s DRI2 extension (which was also made by KH).
As for your “Wayland is better than X” message, this depends on the situation, for network transparency Wayland will use more bandwith than X (not a big issue since you can use X with XWayland).
Correct. Wayland will work – more or less – exactly like Quartz on MacOS X. To run X11 applications, you start XWayland while you run XQuartz on MacOS X.
Cheers,
Adrian
Edited 2013-01-09 14:10 UTC
X11 already sucks as a network display (being extremely intolerant to latency), so it’s not a big loss.
If the need is strong somebody will surely come up with acceptable (and better than X11) network display tech for Wayland.
Ideally a remote network replacement should be better than NX, which is already available on top of X11, not just “better than X11”.
Agreed. Anyone spouting this “X11 network latency” nonsense probably has not yet tried using NoMachine’s NX (or its fully OSS implementation x2go). It truly gives Citrix products a run for their money.
Not sure how you can make that claim, given that Wayland currently has no support whatsoever for network transparency, and no plans beyond “do something at the compositor level”.
Easy: the Wayland protocol is based on sending buffers (images) between programs(clients) and the server, so once you’re at the ‘compositor level’ the only thing you can work on are images.
For applications which works mostly with text, sending ‘raw’ images will use much more bandwidth than X Render’s way of rendering (send the glyph once, then send commands to draw text, reusing many times the glyphs).
If is of course possible to compress images to reduce bandwidth but this requires a lot of processing and adds latency..
The sad part is even if the authors intention fulfills the next gen Linux Desktop GFX space in compositor layer is already fragmented even before it materialized.
This is by the fact that Android (the most successful Linux client side impl.) already uses a completely different and incompatible composing mechanism (Surface flinger).
The question is, does developing Wayland at all has a sense any more in this context? The replacement is already working and have been field proven for years now.
Sure, W might have originated from time before Android even existed but isn’t admitting to the reality part of meritocratic decision making process?
Edited 2013-01-09 15:03 UTC
I’ve used Wayland briefly, the main problems right now seem to be that
– No distribution ships XWayland in the repos yet
– The reference compositor is too minimal to be useful
Other than that it works astonishingly well. If there were a decent compositor for it – something along the lines of Openbox maybe, just providing window borders and some menus – distributions could probably start switching to it straight away, IMO.
So yeah, too bad about Compiz; a Wayland version might speed up adoption.
Edited 2013-01-09 20:39 UTC
Adoption of Wayland isn’t being held back by lack of a good compositor – it’s being held back by the face that almost nothing runs natively under it yet. No desktops, few native apps… porting Compiz to it isn’t going to help much…
Thus my comment about XWayland.
But XWayland isn’t the missing piece either – it’ll be perfect for running existing apps under Wayland until they can be ported, but that’s still not useful until there’s a desktop UI available natively.
No, in my mind, there’s not much value to Wayland until one of the major desktops (KDE, Gnome, XFCE, etc) is ported to run natively on it. Once that happens, XWayland will have a role to play, but not before…