Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

An anonymous reader writes "Canonical Desktop and Mobile Engineer Christopher Halse Rogers explains in more detail the decision for Mir as apposed to Wayland. Although Halse Rogers 'was not involved in the original decision to create Mir,' he's had 'discussions with those who were.' 'We want something like Wayland, but different in almost all the details.' 'The upsides of doing our own thing — we can do exactly and only what we want, we can build an easily-testable codebase, we can use our own infrastructure, we don't have an additional layer of upstream review.' In a separate post Halse Rogers answer the question: Does this fragment the Linux graphics driver space?"

This just proves what everyone was saying last week. This decision was entirely based on NIH (Not in House) Syndrome. Ubuntu is convinced that they have to spend all their development resources on reinventing the wheel because Wayland isn't an internal project (but it could be).

It wasn't 6 months ago that Shuttleworth was complaining that Ubuntu needed to start making money, and here he is wasting development resources on reinventing things. Between Mir, Upstart, Harmony, and all the others he's going to have forked everything but the kernel (hey maybe that's next!, I hear forking the FreeBSD Kernel is common) and his costs only go up while he spends all his time fixing bugs all by himself. The result will be Ubuntu advancement will slow down, or it will become a buggy POS with no long term security.

Either way I think they suffer from NIH disease and maybe they should consider a fork of the FreeBSD kernel. I imagine it won't be long before Mint/Arch or whatever fully replaces all the popularity Ubuntu managed to create. I already see Mint recommended more often than Ubuntu.

Look, sometimes you are just wrong - this is one of them. Nothing to be ashamed of, we all get it wrong from time to time. The difference is in how you deal with it, so far you are not doing it very well...

the upsides of doing our own thing - we can do exactly and only what we want, we can build an easily-testable codebase, we can use our own infrastructure, we don't have an additional layer of upstream review - look like they'll outweigh the costs of having to duplicate effort.

They are doing it because they want to do it. So if you are someone who relies on backwards compatibility, cross-compatibility, or some feature in X that they don't care about, then you should realize that this is basically the guys at Canonical giving you the middle finger.

Also, it should be mentioned that one of the primary features of a good API is that it communicates its purpose well to those who want to use it. This is a communication i

And that's the real reason people are concerned about Wayland, not because of some love affair with X. It's not clear that Wayland is anything more than a group of "here today gone tomorrow" guys. But X, X will always be there.

Wayland is being developed by the same people behind X.org. 99.9% of the people lambasting Wayland have no idea what it is, what it's going to accomplish or how entrenched it already is.

Wayland is the future. It will take some time to get everything in place but it's already in play and many other project from the kernel to window managers are already moving towards implementing the plumbing necessary. Given this is slashdot I'm not particularly surprised by the ignorance, nor that people think something as complex as a complete rewrite of the GUI could be accomplished in weeks nor am I surprised that no one has bothered to actually learn about wayland and what it is but frankly the hatred is a bit surprising given the total ignorance. People hate software they know nothing about because they are afraid of change, it's just silly.

You think they would at least try to learn what it is given that almost all the people behind it are the same people behind X.org.

So? Xorg is boring. It doesn't need to change all that fast. It's not new and interesting. Careful improvements is far less funt than nuking it and starting again. Just because they develop Xorg doesn't mean they're not hopelessly biased for other reasons.

99.9% of the people lambasting Wayland have no idea what it is, what it's going to accomplish or how entrenched it already is.

Then enilghten us.

Wayland is the future.

I hope not.

It will take some time to get everything in place but it's already in play and many other project from the kernel to window managers are already moving towards implementing the plumbing necessary.

WTF? You really have no clue. The kernel side stuff is just for graphics and works as well with X11 as anything else. Secondly for "plumbing" there is no plu8mbing for window managers. WMs are replaced entirely by the compositor. None of the X11 WMs will work. It's a completely different architecture.

Given this is slashdot I'm not particularly surprised by the ignorance,

Is the irony intended.

nor am I surprised that no one has bothered to actually learn about wayland and what it is but frankly the hatred is a bit surprising given the total ignorance. People hate software they know nothing about because they are afraid of change, it's just silly.

Change is not always good, especially when it's for the better. Wayland looses us network transparency. So far all the counters to this tell me that (a) I'm lieing and I don't really want it (b) it can be hacked on after a la VNC and (c) it can be hacked on at the toolkit level providing a delightful level of inconsistency.

Those are not good arguments. (a) is particularly insulting.

You think they would at least try to learn what it is given that almost all the people behind it are the same people behind X.org.

And these are the user-hostile numpties who have come up with some really dubious decisions of late.

For instance, nixing the "kill active grab" keystroke, because it shouldn't be needed because it's caused by buggy programs. I mean WTF? How is that any comfort when some buggy program locks up the X server again and I have to switch to a console and try to kill it (if I can even find which one).

And they've decided that the Wayland policy is to have client side decorations "because it will allow consistend window decorations". The last point is an outright lie---it cannot be explained by incompetence. So in addition to having inconsistent decorations (from each toolkit, unlike now), hung windows will be immovable.

But that's OK because that's an application bug and apparently those don't ever happen. Especially not to developers.

Oh and then there's the persistent lie about X11 on Wayland. It's a lie because it's a half truth intended to decieve which probably makes it even worse. Of course you can run X11 on it. You can run X11 on a dead mouse, OS9/8/7/6 OSX, Win95, DOS Win 3.11 and modern Windows. That doesn't mean the user experience will be integrated and it doesn't mean that thw Wayland programs get the same advantages.

I wouldn't mind Wayland nearly so much if the creators (who also apparently had a lot to do with X) weren't such blantant FUD machines. If they're demonstrably lieing about a system they know in detail then it gives the feeling that they're really messing things up.

That and they've taken a really user hostile turn recently.

The thing is, thatWayland could be quite useful for multiplexing consoles and X11 sessions (if you care about graphical transitions between them, which I manifestly do not). But it's being sold very forcefully as a replacement general windowing system and due to the design lacks a number of really important feautres. If I have to choose between fancy transitions to ctrl+alt+f1 and remote windowing, I and many other slashdotters would choose the latter in a heartbeat.

And that is why there is so much hate for Wayland here: it's been earned.

That explains my number one complaint about Wayland: the documentation is terrible. Truly awful. I mean this in a very specific way: there is insufficient information there to tell me how I could get a surface on which I could render things, and there is insufficient information there to permit me to do an independent reimplementation of the client library. My only recourse would be to read the source code, but right now that doesn't seem to help either. (Sure, I could connect and probably get a surface, but I have no idea what I could do with that surface or how I would change the handle into something that some other library could draw on.) There's just too much information missing, and that's about par for the course with anything produced by the folks from X.org; they can code cleanly enough, but they can't document critical info.

I am a GUI toolkit maintainer. I'm not porting anything away from X11 for now because I just don't see enough of a platform to port to. (Some bits are probably there. Some definitely aren't. I have other things to do as well as filling out gaping holes in others' critical info.)

Sure, that could be part of it, but I think a careful reading would show that there were a number of things missing from Wayland that they wanted, and there were a number of things that would have required some heavy patching to get what they wanted, which probably wouldn't have been any better than starting anew anyway. This way they also don't have to worry about whether or not their patches get accepted upstream.

I guess they could have forked Wayland, but if they're not going to use most of that code any

And the misinformation is already being quoted as fact. Per the discussion on G+ where the Wayland developers responded to the FUD from Canonical, AFAIK none of the claimed missing feature of Wayland are even missing. In fact from what I was reading tonight touch input has already been implemented in Wayland and the work on virtual keyboards and such is being worked on (Canonical hasn't even started this part of MIR).

Given the Canonical didn't even talk to the Wayland project it's not surprising but what Canonical claimed is nothing but FUD. They are trying to back justify their decision, but they didn't even bother to learn about Wayland before creating a bunch of false assumptions and FUD. Unfortunately that FUD is so far out there now that people are even quoting it as fact.

Go to G+ and google MIR, you'll find a number of threads where the Wayland developers point out that Canonical outright lied about what Wayland could/couldn't do. The linked post basically points this out, they didn't talk to Wayland, they didn't find out about wayland, they just wanted something they had total control over.

In the end they'll end up with a monster that eats coder time to no actual benefit where had they devoted those developers to Wayland they could have had more input into Wayland AND helped it get here quicker. It's a sad story of Shuttleworth desire for total control, even if what he ends up with is unmaintainable crap that's dropped after 2 versions and fragments the community in the interim. All because he wants a tablet/phone OS in a very crowded space.

It's ironic, if he wanted Android so bad, why didn't he just fork Android. The reality is he doesn't have the resources to do what Google did. Instead he's going to create a Frankenstein blend of (half-assed) Wayland, X and SurfaceFlinger that will likely have all the worst of each and none of the benefits.

I'm almost inclined to cut Canonical some slack here. Almost. I don't think NIH is such a horrible thing if the project in question still isn't anywhere near usable. In a situation like this, it's entirely possible that a team of paid, full time, competent programmers could start over from scratch and quickly surpass the original project. Given equal talent and effort, the Cathedral is always more efficient better than the Bazaar.

However, I haven't seen evidence that Ubuntu possesses the talent or the manpower. Time and again, I've either read about or experienced firsthand halfassed, quite unnecessary 'improvements' while watching them neglect the fundamentals.

So, like most every other thing they've done for the past five years, this decision may be fine in theory (I'm not super familiar with the issues surrounding Wayland, so I can't say for sure), but in practice will quickly become a category five disaster.

I'm almost inclined to cut Canonical some slack here. Almost. I don't think NIH is such a horrible thing if the project in question still isn't anywhere near usable. In a situation like this, it's entirely possible that a team of paid, full time, competent programmers could start over from scratch and quickly surpass the original project. Given equal talent and effort, the Cathedral is always more efficient better than the Bazaar.

This is showcased nicely by the previous projects near-single-handedly developed by Canonical: Bazaar (heh; there were actually two iterations of it, both ultimately crap) and Upstart. Interestingly, neither of those was clearly NIH-motivated, they just were not satisfactory from the engineering standpoint as later, better projects have demonstrated.

Ubuntu is convinced that they have to spend all their development resources on reinventing the wheel because Wayland isn't an internal project (but it could be).

You simply invoke "NIH-syndrome" without clarifying why Canonical is making the wrong decision in this specific case. You are implying that it is *never* a good decision to do things in-house when an existing solution (however imperfect) is already available. But looking around at technology companies that are successful (Apple, Google, Amazon), it is obvious that your reasoning is flawed, as all these companies have, on occasion, done things in-house when existing solutions were already available.

Clearly, the decision to do something in-house or not is more complex than following a stupid rule of thumb.

You miss the point. Ubuntu wanted to use Wayland. They said it is a great idea when the project started. But then the project got somewhat stuck. The public available documentation is weak, which makes it very complicated to add to the project. Furthermore, Ubuntu proposed to use a "test-driven" development method. While such a decision is debatable, the Wayland project does not talk about its development method.

Hopefully, the both sides do a lot of talking (which is already taking place) and in the end the

We could have had a modern display server years ago with XGL/Xegl. But it was killed off because Red Hat and nVidia didn't like. Mainly because it wasn't their idea. Now it seems all the pissing and moaning is coming from the Red Hat camp. Well karma's a bitch ain't it.

Indeed! I do like that they explore things though. The X.org folks need a kick in the rear. They seem to think graphics has been solved. Not that it has gotten noticeably better since the X.org fork-off, but it is still pretty bad.

Have you paid any attention to Linux graphics in, I don't know, the past year or so? Missed the whole Wayland thing, did you? Missed the part of this where all the X/Wayland devs are basically yelling "Why did start reimplementing Wayland late, with slight variations?"

The great thing about Linux is... You can simply choose to not use Ubuntu. BAM! Problem solved.

Not quite. Linux users do rely on a large amount of other users making it viable and interesting to make applications, drivers, etc. for the platform. The more Ubuntu succeeds in gathering Linux users to their Ubuntu OS, the smaller the rest of the Linux market becomes.

Canonical wants to go their own way in order to distinguish themselves from other distributions in order to gather more Linux market share (larger slice), rather than attempt to cooperate with others to grow the market (larger cake). Canonical does not have the resources to compete with Apple, Google or Microsoft on their own, so their fragmentation of the Linux base will only result in a net loss for Linux and free software.

So your saying that as long as Ubuntu satisfies the needs of their growing user base, they will succeed in becoming a dominate player in the Linux distribution market.

I see absolutely nothing wrong with this. Competition is good and it is not like Ubuntu is selling their distribution at a loss to put their competition out of business. Every distribution has a chance to grow in popularity, all they need to do is cater to their user's needs.

Not quite. Linux users do rely on a large amount of other users making it viable and interesting to make applications, drivers, etc. for the platform. The more Ubuntu succeeds in gathering Linux users to their Ubuntu OS, the smaller the rest of the Linux market becomes.

Just. WOW.

It's amazing that a zero-sum assessment of desktop Linux would be modded up like this. Ubuntu is trying to get past distro-itis or the Linux distro curse that has made the genre so repellent to most desktop users and app developers. If none of the distros are able to enlarge Linux' overall share of the desktop, its because none of them have quite figured out personal computing.

In any case, it should be becoming clear by now that 'Linux' is not an operating system by any means that a typical deskto

Why not continue using and developing on and for X? It is and remains -the- standard way for UNIX applications to get a graphical user interface. X is also largely platform independent. If I want to run my X server on system A and the applications on system B, it is the X protocol that separates my desktop from my applications. My display is not necessarily directly connected to the computer I run my applications on.

The downside is that a lot of development resources are being funneled to the rewrite of functionality currently quite well implemented by Xorg.

QUITE WELL MAINTAINED???

do you actually use X windows at all?

It's buggy as heck and its performance is miserable.

Your crack about "developement resources" is pretty funny because the original X developers are also developing Wayland because they are SICK of funneling their development resources into fixing X bugs.

One of the design ``mistakes'' of X11 exacerbated by its very success is the extensible type system called atoms (as in the Lisp systems from which it was derived). This has been heavily used in the interclient communications protocols used between applications (primarily toolkits) and window managers. The InternAtom function requires a round trip to provide agreement among clients on a small (32 bit) handle for a string. A modern design would almost certainly avoid round trips entirely by using cryptographic hashes (or just using strings everywhere). Unfortunately, it is very hard to retrofit this

---

X was designed when CPUs ran at 8 MHz, the network ran at 10 Mbit and the display was black and white.

In 1985, the network was FAST and the computers were SLOW so latency was not so much of an issue.

Today the network is SLOW and the computers are FAST and so network latency rears its ugly head.

I have to ask: if it works so great, why does nobody use it? Why doesn't it work with sound? Why can't I use it for my Windows or OSX apps like I can with VNC?

If X makes it too hard to write a decently performing application, THAT ALONE is good reason to dump it

This is a weird comment, especially from one so illustrious as Keith Packard, though perhaps not surprising.

In well written X11 programs...

An aside. There's no point in talking about anything else. You can make badly written programs for any system perform arbitrarily badly. X11 is no exception. It's only worth talking abotu well well written programs and how easy it is to write them.

I'm also tempted to make an unkind jab at Keith Packard here, since he's shown signs of suffering from C hacker syndrome. Perhaps if he used C++ and set up a std::map in his program he could use strings throughout and not have to worry about efficiency of lookups or excessive roundtrips from inappropriate use of InternAtom.

Of course that would be much harder in C where you'd have to write your own hash map or RB tree...

Yes, InternAtom requires a round trip, but only a newbie would use it often. If you have a lot of atoms (and any nontrivial X11 application does), you use the XInternAtoms call, which will stream all the requests into a single round trip. You can also use libXcb and do that to all the other calls as well. With proper design you only need 3-4 roundtrips to get your app fully loaded.

"I only had contact with the Linux Mint developer recently when Canonical claimed that they needed a licence to use the compiled packages from Ubuntu. This is a dangerous misunderstanding of copyright licencing from a company which should understand it. I advised Linux Mint to say some rude things to Canonical but I think they're too polite for that."

"Canonical has the trademark of Kubuntu so they had to get a trademark licence from Canonical which took many months of long and slow negotiations. It was very frustracting to have Canonical be the blocker for part of the Ubuntu community since Canonical should be an enabler for the Ubuntu community (at least when we don't compete directly). So we did look at changing the name of Kubuntu but were told by Mark we'd be kicked out the project if we did that which would be a worst case scenario for everyone."

"Since then Canonical has started asking for donations when downloading Ubuntu and one option is to give "Better support for flavours like Kubuntu, Xubuntu, Lubuntu Slider thumb". Kubuntu has never received any of these funds or seen any better support, so this is a disappointing case of fraud."

Go to the comments in TFA about details. There is some really juicy repartee between Seigo (OSS developer) and Shuttleworth (guy who funds Ubuntu).

There is a dust up going on between people working on the replacement for X under Ubuntu, and on the merits or lack thereof in choosing the Mir project over Weyland. Seigo and others make some interesting points, especially about the selection criteria.

The comments from e.g. Dave Airlie, Kristian Høgsberg, Daniel Stone are even better, IMO, since they are Xorg/Wayland guys. Though Aaron is certainly a graphics guy, just at a higher level on the stack.

One day Git will be Bzr. One day Gnome will be Unity. One day X will be Mir. One day Linus Torvalds will be a gray-haired beggar on the street, still acting like an immature teenager, implying that people on the LKML would do better spending more of their time sucking cocks; and Canonical will be running the new, improved, coded-from-scratch, Linux-compatible Ubrik kernel.

I can think of no context in which a furniture designer engineer, no matter how agile or standards-conforming would have as similarly viable alternatives a former Russian space station and an animated sycophant.

Because inexperienced, but otherwise intelligent, people often believe that they can do stuff better than everyone before them, there is a trend among hackers to rewrite otherwise perfectly fine code. Since X dates back decades, according to this line of thinking, it must need to be rewritten. "Wayland" is on such attempt (actually, what they are doing isn't nearly as sophisticated as X). Since Cannonical believes they are the shit, they want to be in control of the X successor. Their candidate is "Mir". I

Your assertion that Wayland will not go anywhere seems to be predicated on the incorrect assumptions that Wayland is born of naïvety (it's not; it's developed by people with a LOT of real experience working on the current X-centric stack), and that it needs to entirely supplant X to succeed (it doesn't; it deliberately does a lot less, and it can host a rootless X server, and indeed this is the only realistic use case for it on regular desktop distributions for the next couple of years).

Yes, there are many projects that are started for the reasons you describe, and go on to fail for those same reasons. But Wayland is not one of them. That is not to say that its success is guaranteed—but rather only that your reasons to assume its failure is inevitable are invalid.

Wayland does not need to destroy decades of compatibility. In fact, its approach is quite the opposite: to maximize compatibility initially (pass almost everything through to a rootless X server with XWayland if you want), and then offer an optional smooth migration path away from X for applications that don't need its complexity, would like to push the complexity into separate components, or would like to take advantage of some of the things that you simply can't achieve with X today, e.g., flicker-free from boot, to playing a game, and then on to playing hardware-accelerated videos.

You concede that the current state of video drivers being too tightly tied to X is terrible, so I assume you agree that the work has to be done to resolve that at some point, whatever path we collectively take. That also happens to be the only thing I'm aware of that's really holding Wayland back from mainstream use today. Everything else is just little bits and pieces that need to be finished or polished up, and then it could be dropped in to real general purpose distros.

Your assertion that Wayland will not go anywhere seems to be predicated on the incorrect assumptions that Wayland is born of naïvety (it's not; it's developed by people with a LOT of real experience working on the current X-centric stack)

His point wasn't that they are inexperienced with X, it's that they are inexperienced with software development in general. It's fairly common for inexperienced (though otherwise skillful) programmers to decide to re-implement a huge chunk of code in the hopes to make it better. It rarely works out very well.

Having worked on the X Server in no way means their choice to create a new server is correct. Whenever someone forks software that's worked fine for nearly 30 years, the default position is, "they're making a mistake."

First - it's not a fork. Forks are branches of the code. Wayland is a completely new display server.

And I'll just say I'm glad Apple decided NOT to use X by default on OSX. They managed to create a much more efficient display engine by not continuing to base it on the largely obsolete X protocol. Though, guess what, there is also a perfectly usable backwards-compatible optional X-server you can install if you want (which is a goal of Wayland, and I assume Mir, as well).

There is a great Slashdot post from one of the developers of Quartz around 2001 about why they chose to reinvent the wheel instead of using X11. The problem is, none of his criticisms applies to X.org circa 2006 or later. It was shown, by counterexample, that it was possible to add all of the missing features that Apple wanted to X11, without breaking backwards compatibility. And, as part of their rewrite, they lost some separation of concerns and they lost compatibility with X11 applications except via an ugly (visually) compatibility layer. The latter wasn't a problem for Apple, because they didn't want to be running X11 apps, they wanted people to write new Cocoa apps. It is a problem for a system attempting to take advantage of the large corpus of existing X11 apps.

This cult of Apple admirers would be amusing if they weren't potentially so destructive. They seem to blindly follow Apple without actually having any real experience with the product. They just swallow the usual media hype wholesale and then go on to replicate Apple's mistakes.

They also don't understand how an X server relates to the rest of MacOS.

Broad generalizations and assumptions never helps your point. I have worked on kernel and userspace graphics and video overlay drivers for Linux/X11, so I know plenty about how X11 and display servers in general work.

I do have a Mac. I also have a PC running Windows, and one running Linux (and honestly at this point VMs on these machines running more than one OS at a time - with fairly good unity/coherence modes, as long as we are talking display servers and window managers).

Some of us use computers as tools for accomplishing what we want at work, home, entertainment, etc and have no interest in blind Apple admirers OR blind Apple detractors (or Microsoft, or Linux, or any other software for that matter). Why does technology have to be like politics to some people?

(oh, and to your other comment, MacOS is more "UNIX" than Linux is, and is certified SUSv3 (for what that's worth, but it's worth more than your opinion on the matter).

His point wasn't that they are inexperienced with X, it's that they are inexperienced with software development in general. It's fairly common for inexperienced (though otherwise skillful) programmers to decide to re-implement a huge chunk of code in the hopes to make it better. It rarely works out very well.

That assumes that X11 was universally well-designed in the first place. It also assumes that experienced developers have been maintaining it (they all got laid off in the 1990s and nothing happend for 10 years). And it assumes that X11 is full of stuff that people care about, when much of it is legacy and not used by modern applications.

Eventually someone is going to have to suck it up and do something. Even if it was removing all the crap and making an "X12".

Apparently you have never programmed with X11 , because that is one of the most stupid comments I have ever heard and bears no relation to reality.

The X protocol contains various graphics primatives, facilities for dealing with fonts, setting colors, color managment facilities, and so on. There are extensions for non-rectangular windows, for faster video, shared memory buffers, and other things that have become desired over the years. There is really nothing in X11 that an application could not use to rende

What features are missing from OS X's display system that were present in OS 9?

The OS9 Finder' which was powerfulUse of Fitt's law in designInterface consistencyFirst controls differ in location and in toneSymbols consistent with actions.Clickable action and light up zone matchingVariable spacing for controls as a preferenceControl of justification and spacing on the menu bar

Its about some guy that thought he wanted to go out with Wayland Smithers, but would like him to have great muscle tone, be in to martial arts, and many more things. He was thinking of putting Wayland on a body building and martial arts course but then decided it would be quicker just to go with Frank Mir [wikipedia.org] instead.