Torvalds Takes Issue With De Icaza's Linux Desktop Claims
An anonymous reader writes "Linux creator Linus Torvalds has poured scorn on claims made by the co-founder of the GNOME Desktop project, Miguel de Icaza, that he (Torvalds) was in any way to blame for the lack of development in Linux desktop initiatives. De Icaza wrote in his personal blog: 'Linus, despite being a low-level kernel guy, set the tone for our community years ago when he dismissed binary compatibility for device drivers. The kernel people might have some valid reasons for it, and might have forced the industry to play by their rules, but the Desktop people did not have the power that the kernel people did. But we did keep the attitude.'"
Update: 09/02 18:39 GMT by U L : The original source of the comments (and an exciting flamewar between Free Software heavyweights).
I got linux on desktop.
It works perfectly.
Seriously, what's the problem? Just because ever-growing bloated software megapackages like KDE and GNOME aren't as successful as they were meant to, even on a platform that is meant not to favor such big packages, the linux on desktop is failing? Come on.
I'm using Mint Cinnamon, and am very happy with it. The "classic" desktop works fine - why the need to reinvent it?
I had a Mac for several years, and didn't find OS X - much less the idiotic Dock - to be any more useful than plain old Windows XP. I ran Ubuntu until Unity, which simply didn't offer any real added utility, just more pointless doo-dads.
The reason why so many people stick with XP, or Vista, or even Windows 2000 is because it just works. They understand it. They don't need added gobbledy-gook flying all over the screen, or the OS "hiding" stuff on the assumption that they don't need it.
Three Squirrels
the 'failure' of the linux desktop is basically applications. libreoffice and linux gaming initiatives are the way to win that battle. making a prettier desktop is not.
Thank you, Linus.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
I agree, at least partly, with De Icaza's assertion that ABI breakage (binary compatibility) in each kernel release is a problem for vendors, and likely helped push hardware vendors away from supporting Linux. While in the ideal world, every vendor will release their drivers as open-source, this is the real world. There are numerous reasons (legal and others) why companies cannot or will not release their drivers as open-source (ie. Nvidia). With each new kernel release breaking binary compatibility with prior releases, this forces the companies to release a new driver every time the kernel gets updated. This might not be a problem for a big company with resources such as Nvidia; however, for smaller companies, this is likely a big reason they do not support Linux in the first place.
Case in point, Dell paid PowerVR to develop a Poulsbo graphics driver for their Dell Mini netbooks (which at the time were on Ubuntu 10.04). PowerVR developed the driver. As Ubuntu released newer versions, the driver stopped working due to the ABI breakage. Users were entirely dependent upon Dell to pay PowerVR to constantly update the driver for new Kernel releases, which they did not.
This type of continual ABI breakage is not seen in both the Mac and Windows worlds
Then why is Miguel crying about Linux "setting the tone" then? I'll bet that with enough work, Gnome can work on Windows so why the Linux hate? Personally, I like some elements of Gnome and was a huge fan of v.2.x but they flat jumped the shark with 3 and it damn sure isn't Linux's fault. They (the Gnome 3 devs) made the decision to hide buttons on the titlebar. They made the decision to go to the weird hidden menu. They made the decision to remove functionality from fundamental applications like Nautilus. So don't come trying to lay the blame on Linus because your little experiment isn't popular and your losing mindshare. It doesn't take a rocket scientist to use Gnome 3 and realize pretty quickly it stinks. Go back to the drawing board, fellas.
Actually, it's very much a valid point. GNOME 2 supported the BSDs as well, but in GNOME 3, they were discussing making Systemd mandatory for GNOME3, which is not there in BSD. As a result, there is no BSD that supports GNOME 3 as yet - not even a GNOME specific distro like GhostBSD. Theoretically yes, GNOME can exist w/o Linux, but in reality, it sticks to Linux like a leech. If they are so capable, why don't they develop Hurd, which has been taking forever, and port GNOME3 to that? Or port GNOME 3 to Minix? There are 3 unixes that GNOME 3 doesn't seem interested in.
This is the STUPIDEST comment I've seen.
I wrote a rant about this within the past couple days in one of the other articles: ABI COMPATIBILITY IS IMPORTANT EVEN IN OPEN SOURCE SOFTWARE!
Why? So you don't end up in the goddamn fucking mess we're in right now, where your code requires a specific gcc version to build, thanks to differences in parsing capability, header availability, etc, due to the era when the code was written, and linking to libraries whose ABI changes based on the compiler used (silently I might add, with, in many cases, no easy way to verify what compiler/toolchain it was compiled against (I'm looking at you libstdc++ v4).
Binary compatibility is important because backwards compatibility is important, and thanks to an ever increasing lack of 'fixing old problems before creating new ones', the errata for open source compilers,toolchains, and apps is ever increasing. Try compiling any non-trivial C++ app. Especially, find one that's got a dependancy that won't compile on a later gcc version (just between 4.0 and 4.7, say at least 3 minor-numbers away), then compile the apps and see what the odds are of a random segfault with a blown stack. wxGTK and pcsx2, or OGRE and OpenMW are some good examples.
Shit comes crashing down.
And for those of you who don't remember, how about the libc5 -> glibc -> glibc 2.2.5 -> glibc 2.3.x fiascos. If you were someone compiling from source during any of those transitions, you no doubt remember the horrors of incomplete, untested, or just plain sloppy backwards compatibility. 2.2.5 btw was the last 386 supporting glibc version, and some early 2.3 version is the last sub 2.6 kernel version (later 2.3.x kernels only support newer 2.6 kernels, despite claiming to the contrary. Go try setting the minimum kernel version when compiling glibc 2.14 or 2.15 for example and see what the odds are it even works correctly.)
While I've got some gripes with Linus' handling of the kernel, the problem is FAR bigger than him, and definitely includes De Icaza's own stupidity as a large part of the pile (Anyone remember how much crap used to depend on EDS, despite it often offering you NOTHING other than wasting disk space and memory?) What about all the BS with mono? Hell, what about all the BS with gnome? Gnome1 gets punted as soon as it started feeling useful. Then like 5 years later when Gnome 2 finally starts maturing, same shit different color. De Icaza: Retire. Seriously we know how much you envied Fonzi, but that shark is gonna get you if you try and jump it again.
- vranash
I got linux on desktop. It works perfectly. Seriously, what's the problem?
Well it is annoying to have to rebuild things when the kernel is updated, vmware comes to mind.
These things add up and explain the many defections from desktop Linux to Mac OS X, as attested to by various long term Linux users in yesterday's article on the subject. The short story is that many Linux users merely wanted a *nix environment, they were not into the politics or crusade. That is desktop Linux's problem, its becoming a less interesting option for those who just want a *nix environment and don't want to join a social movement.
... mess that computers, particular PCs, are in, blame the peripheral industry. Some of this blame also belongs to Microsoft when they made it easy in DOS and BIOS for peripheral makers to effectively add drivers. But this is a very small blame because the full scope of what we could have had not even been envisioned. Flexibility was needed for new kinds of devices and peripherals. But the peripheral industry abused this by making new devices of the same class operate differently in too many cases. Access to floppies and IDE hard drives escaped a lot of this just because those were boot devices, and adding BIOS drivers increased the price. The peripheral makers could not even establish compatibility standards within their own product lines. So many new models of a device simply failed to be compatible with the previous interface (and driver) even if all you wanted to do was do the same old things of the previous model. This was not just a case of manufacturers trying to protect some kind of intellectual property or lock people in to their own product.
What was needed was a generalized model of how a CPU based host would access peripherals. A message based model would still have provided plenty of flexibility to expand the capabilities of new devices, as well as the ability to move more device drivers into user space, outside of the kernel. Ideally, all that was needed was one message bus controller interface design, and one driver to operate it to send and receive messages and status reports. Beyond that a ring of trusted device driver processes could be used. Combined with some community and market pressure to maintain compatibility over short time frames (about 8 to 10 years), devices could easily be interchangeable with minimal driver changing.
Then every once in a while, a class of device would have its standard message interface/protocol upgraded to a new version, and it would be expected that all new devices would adopt that. And this could still be done with full compatibility with the previous version via a version code in the basic standard message header. The new version would include a standard way to access features that were generally available now and had been implemented via extensions in the previous message protocol version.
Linus is not to blame. He just gets blamed sometimes because his vision of making the Linux kernel more usable for everyone sometimes means others might have to do a little more work to keep up (any vision would, but his is the one we see).
now we need to go OSS in diesel cars
People like to pretend that Windows and OS X don't have their own unique problems... computing environments in general are still overly difficult to use and all have their own obnoxious quirks (given enough time and people think of them as features).
My Grandmother runs KDE on Debian testing... she couldn't fix Windows when it broke, and at least Debian breaks less often... and the solitare game is better I hear. And when my cousins visit her I don't get the "the kids broke the computer with their stupid websites" calls any more ;)
HAL 7000, fewer features than the HAL 9000, but just as homicidal!
because [Miguel is] paid by microsoft
This is a likely possibility. Unfortunately, I almost think he does it all for free. The man has been sabotaging Gnome for a long time and advocating Mono which is pretty much worthless as the ISO certified spec of .Net is only up to version 2 while .Net itself is up to version 4 or 5. I have never gotten a .Net binary to run on Linux despite trying over and over. And that Moonlight shit? I have never seen it work in the wild on a typical website. Not even to show the menu on the deluded restaurant sites that fell for Silverlight. Despite what the naysayers say, even if Moonlight and Mono were 100 percent compatible on the day of a .Net release, if any OS started getting successful and integrated Mono technologies to do so, the lawyers would trip all over themselves in the race to "extract licensing fees". You'd have to be blind, stupid, born yesterday, or a shill to pretend otherwise.
Starting with your decision in 1997 to abandon what was the GNU project's official GUI toolkit in favor of GTK.
If you'd stuck with GNUStep, the discipline of compatibility with a written spec (OpenStep) and the pressure for compatibility with a living rival implementation (OPENSTEP, then Mac OS X) would have avoided the "blow everything up and restart" problem. And you wouldn't have spent any time on CORBA if you already had PDO baked-in.
And it would have been actually following the kernel approach. Whatever the kernel might do with its internal structure, in its external interfaces it's been stable. Further, that external interface has been a re-implementation and extension of an existing good-enough interface (Unix/POSIX/SysV), rather than running off and implementing its own ideal of how an OS should work.
Free software is very much a threat to software engineers. See, we get paid to write software for systems. It's a nice gig. Gives me income to pay the bills. I'd much rather do this than be a ditch digger who hacks at software in my free time.
Your work arrangement with your employer sucks. My boss pays me to create things that don't already exist because my company needs their output. A good chunk of the time, they then let me release it as Free Software so that 1) we're not the only people in the world maintaining it, and 2) the Free Software ecosystem (which we benefit greatly from) grows.
Software engineers have earned good money for decades. All this free stuff undermines that.
Only if you're not good at it. Lots of software engineers make good money writing Free Software.
Dewey, what part of this looks like authorities should be involved?
Why is this a concern, at least to us evil proprietary engineers? The more free packages incorporated, the less work that needs done. Less work = less employees.
That's weird, I've had a great 15+ year in non-free software development, and free software has *always* plays a central role in:
* faster development of new features by leveraging existing solutions
* use of tools to streamline and rationalize release and operational processes
* standardization in areas like dependency injection, unit testing, configuration
* ability to "use the source" to solve a problem quickly and decisively
All of my work has been in technology solutions for businesses that need it -- web, server-side, message-driven stuff, etc. The requirements are always expanding. I don't know a single developer in this area that is out of work.
On the other hand, if you're selling something to the public and expecting free software to stay out of your playground, that's a different issue. My response to that is adapt or die -- the world does not exist to provide cozy niches for proprietary software.
Evolution was good, but quite unneeded (Thunderbird was better).
This is still something I have a problem wrapping my head around. Both Gnome and KDE have pet versions of highly successful and complicated types of software that seem to be out of the scope of a DE. I mean, why do they devote precious resources to Epiphany when everybody uses Firefox and Chromium? Why KOffice when everybody uses LibreOffice? Xfce sets a good example by only shipping the bare necessities like a file manager, text editor, etc. rather than trying to compete with the big boys in arenas where they're hopelessly out-manned.
If you had actually read the article you would know that what you really don't understand is that you are completely wrong:
... and you would have seen Alan Cox write:
"One of the core kernel rules has always been that we never ever break any external interfaces. That rule has been there since day one, although it's gotten much more explicit only in the last few years. The fact that we break internal interfaces that are not visible to userland is totally irrelevant, and a total red herring."
""However it's not an Open Source disease its certain projects like Gnome disease - my 3.6rc kernel will still run a Rogue binary built in 1992. X is back compatible to apps far older than Linux."
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Ten years ago in an editorial in LinuxFormat I called Miguel de Icaza a "sell-out" and have yet to be proved wrong. His Quisling-esque career would be resigned to the /dev/null of Linux history except for all the damage he has done. Now he serves as a cautionary tale.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
If you think ratpoison is crazy, wait until you hear what they call their Photoshop wannabe.
Jesus was all right but his disciples were thick and ordinary. -John Lennon