The True Challenges of Desktop Linux
olau writes "Hot on the heels on the opinion piece on how Mac OS X killed Linux on the desktop is a more levelheaded analysis by another GNOME old-timer Christian Schaller who doesn't think Mac OS X killed anything. In fact, in spite of the hype surrounding Mac OS X, it seems to barely have made a dent in the overall market, he argues. Instead he points to a much longer list of thorny issues that Linux historically has faced as a contender to Microsoft's double-monopoly on the OS and the Office suite."
you know, I'm surprised by the argument in the article? everybody on /. says that linux isn't an OS, it's an umbrella with plenty of related OSs in there. i include OSX under that umbrella. it's all about the kernel, amirite?
You want to upvote/downvote? Go back to Reddit! Here we mod up/mod down.
All the other OS's are catering to the lowest common denominator.
FTA:
This is one argument I really don't get, and yet the FOSS library maintainers seem to be adamant that they must be able to break their ABIs whenever they want.
Yes, I know keeping a stable ABI is hard. But here's the deal: as a maintainer, it's your job.
Let's not forget that the point of libraries is to develop software on top of them. If the library ABIs are shifting all the time, then those libraries have failed at their most fundamental task.
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today. None. If MS and Apple can do it, then so can you.
But it's worse than that. Writing a GUI application that runs just on the past two or three versions of Ubuntu requires writing your own compatability layers, or at least peppering your code with #defines. Why on earth would we want to put this burden on application developers?
There's no -1 for "I don't get it."
There are lots of challenges, most you're probably familiar with if you've ever helped a family member setup Ubuntu on their own computer. Yeah, sucks, some people say we will never be better than Apple. But you know what, Apple *really* didn't succeed, they only went from 5% market share to 7.5% market share, according to my memory and what I read today on Wikipedia. My conclusion? We have some challenges to overcome. Oh yeah, and, O'Doyle rules!
I know you are trolling, but in case you are not, and you *are* that stupid, you need to learn to look up the changes page. In the time taken to write this rant, you could have looked by what was changed between v13 & v14, v14 & v15 and v15 & v16 beta.
It's nobody's fault but unix/Linux. It has the same problems now that it did in the mid '90s. For one thing, although it has good ideas, there isn't enough singular direction. It will always be a small percentage of splintered users.
who think that when they buy something it belongs to them to do with as they wish, there will always be Linux. As it is seems that WIndows 8 MS is taking that away and so is Apple.
As a non developer or programmer seems to me Linux is stronger than ever.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
At my company, out of 500 computer users, we have around 60% Windows and 40% OSX, Linux users (including me) don't even account for 1% of our desktops (but factor heavily in our servers - we're around 50% Windows, 40% Linux and 10% OSX (which will be moved to Linux before the end of the year). Most of the OSX users are normal business users (finance, IT, etc) not graphic designers or other users that traditionally have preferred OSX.
There's little reason for anyone here to run Linux to do their work - Office 2011 runs well on OSX and gives users an Office Suite and Outlook that's compatible with the rest of the corporation. And there's the whole Apple Ecosystem that some people like to be inside of.
Even though I run Linux, I still do most of my work on a Win 7 virtual machine because some apps just don't run well (or at all) on Linux. I tried Crossover Office/Wine for a while to run Office, but it wasn't worth dealing with the quirks, it runs much better on Windows. Plus, some of our corporate tools and infrastructure management tools run only on Windows (or require MSIE for full functionality). We run a terminal server for OSX users that need to run Windows apps.
OSX may not have killed Linux, but it sure has kicked it into the corner.
Wordperfect was already being used extensively by legal offices. It would not have been a huge jump to get legal offices to switch to Linux running Wordperfect. But after version 8 Wordperfect was not a native Linux port but this convoluted thing that ran through an emulator layer which was insane. Then, not long after it died. That was the end of the chance for Linux to make an advance to the corporate/business desktop.
I'm sure some other things didn't help as well. I still think one major issue is that package managers do not have a way to screen out crusty projects. There should be a way to ignore all software which hasn't been developed or changed in X amount of time, with X=6 months, 9, months, whatever, but some value that cuts out the immense amount of crust.
I also think Linux should have done more to entice hardware and software makers to use it. In fact, it should have done everything absolutely possible to make life easy for hardware and software makers, including more flexible licenses. I don't think people were realistic enough to realize that, without the needed support of hardware and software makers, everything else is almost a moot point.
14?! holy fuck, im still using 3.5.11
"Prediction: within 10 years, Windows will be a Linux distribution." Me, 7-6-2016
but does the binary have to run or just work if you configure; make; make install again? right the OSS world assumes that software can be recompiled, and most only needs that. Sometimes it needs a simple patch, but yes breaking ABI isn't really an issue. Breaking an API is much more of one.
All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
That's just the logical result of a botched development process. There are no architects, no designers, no "consultants" looking at the other side of the fence.... there's just a bunch of programmers..
Nobody killed anything!
Linux and OS X have two completely different target groups.
OS X targets the retarded appliance user that an actual computing environment is a waste to give to. One can easily argue, that it transforms a computer into something that isn't a computer anymore, but a information and entertainment appliance.
Linux targets people who actually use their computer as a *computer*. People who automate their work away, by writing shell scripts, and calling them from udev, cron and keyboary shortcuts, etc. People who adapt the system to their needs, and gain the vast amount of power resulting from really using a universal programmable computing machine. The greatest machine ever invented. The holy grail of information processing.
Nobody of the latter group could even use the former system, since it would be completely crippling and basically useless.
And nobody of the former group even remotely realized the usefulness and power of the latter system.
So stop that nonsensical propaganda!
First of all, if you do that it's no longer the same binary.
Secondly, why would you place that burden on the user? The whole point of software is to solve problems for users, not to create new ones.
There's no -1 for "I don't get it."
Linux is not BSD. BSD is not Linux.
http://en.wikipedia.org/wiki/Berkeley_Software_Distribution
http://en.wikipedia.org/wiki/Linux
It's funny you say that.. The important Linux Desktop APIs have been stable for over a decade. Look at GLib 2.x and indeed the entire GNOME 2.x stack, it hasn't been broken. You can still run an application compiled against GTK+ 2.0 on any modern distribution.. Obviously, it will have the same functionalities that it had 10 years ago, but the same can be said of Windows or OSX.
And well, GTK+ 3 has a slightly different API, etc, but so is WinRT or many of the newer OSX APIs. And Well, GTK+ 2.x is parallel installable, so you can keep using it more or less forever.
Actually, I think code should be distributed in an ABI-independent manner.
So distribute some form of intermediate code. Put a version number in there. And then let the OS process it into something the CPU can understand.
If Pandora's box is destined to be opened, *I* want to be the one to open it.
I was a Linux user beginning with Redhat 3. I went through Redhat, Mandrake, Fedora, Gentoo and Ubuntu. I've also used Solaris for a daily workstation.
Then I was assigned a Mac at a new job (running Tiger), and have never used anything else for a desktop since. I've had no reason to. I still keep an Ubuntu box in the house, but it's a server.
My name is Anecdotal Evidence, it's true, but whatever. I went Mac, and never looked back.
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today.
You sound like you're a paying customer or their boss. If said maintainers are volunteers and doing this in their spare time and juggling work and family and just having a life, I think they have an excuse.
If it were me and I heard horseshit like your post, I'd say, "Here's the code. Knock yourself out. I'm taking my kid to the movies like I promised him three releases ago."
I think the real root of the difference is that Linux serves a different market. Apple Mac OS X is a consumer product pitched for people who want their computers to "just work." Windows is a consumer/business product geared to people who want (and are convinced they need) a high level of support. Linux is not either of those and never will be. It's a system made by and for programmers and other techies who want to be free of the monopolistic practices and have full control of their own machines from top to bottom.
I think Linux may in fact be close to saturating that market. It may make inroads into the business and consumer user spaces. I think it will and should because businesses shouldn't be using things that are very expensive and promote lock-in when there are good-enough alternatives that meet most of their needs. Corporate customers are very conservative about risk, and they perceive that buying a professionally supported commercial product is a lower-risk option. And they've drunk the Kool-Aid regarding how efficient their office applications are.
In reality, Windows customers probably pay the steepest price for their OS choice. It requires tons of support in a corporate environment and exposes you to a much higher risk of malware infections and security breaches. Maybe you need Windows on a few of your machines -- those of people who need to establish an appearance of "Corporate" credibility. And maybe you need some Macs for certain applications where the Mac apps give you enough of a productivity improvement to pay for the expensive system. But most of the worker bees can do as well or better on Linux at much less cost. But it will never come with support. Support will be either hire-your-own or contracted separately.
Perhaps Linux needs a minimalist leader. Throw everything out. Then step by step, bring back features and see what works, and what doesn't. In the process make sure that everything has a consistent look and feel.
If Pandora's box is destined to be opened, *I* want to be the one to open it.
The only way to ship closed apps in Linux is to ship them along with all their dependencies, maybe aside libc. If you feel adventerous, you may want to not ship the libstc++ either.
But aside from that, it's a crapshoot.
And if you need a 10 year old X app running, well, good luck with that!! 10 year old Win32 app? Should work.
Mac, on the other hand, is like Linux. Always changing.. So in a way, OS X is like Linux ;)
I think that you are thinking of "API": Application Programming Interface. I don't think that is what Christian Schaller is referring to programming interface compatibility but to binary compatibility of software packages between Linux distributions.
Let's say that you have a Fedora RPM for an app, and you wish to run that under Ubuntu.
While you can convert the raw RPM to DEB format, you can not auto-convert the binary files within the package.
The binary programs in the RPM have most likely been configured at compile time in a way that it has dependencies on libraries that are different on Ubuntu.
On Windows and MacOS, respectively, there is only one distribution, and therefore they do not have this problem.
But yes, API compatibility between versions of a library is also a problem.
"We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
Forget about ABI stability. I can work around that.
I'd be happy if we could maintain a stable API. That's a pain.
Let me tell you a little story about a recent experience I've had with Linux (Ubuntu to be specific) that should give you an idea on why, I think, Linux is something of a failure on the desktop.
I've been using Ubuntu 10.04 LTS for a long time. Well, 3 years. You see, Ubuntu only supports (as in, will fix security bugs) a version of their distro for a maximum of three years--and even then, you have to use a Long Term Service release to see that. Compare that to XP, which shows a much longer period of support. Oh, you say, but an upgrade is free. Well, let's talk about that upgrade to 12.04 LTS.
On my system, I had to d/l ~6GB of package updates for Ubuntu itself and then another ~3GB for "Third Party Sources"--let's ignore those "Third Party Sources" for the moment since that's its own thing. Most of that comes down to the point that, as another poster pointed out, libraries go through regular ABI breakage. Hence, a LTS version can't readily upgrade a library progressively, indefinitely. Instead, a break, in the form of a new distro version, or some heavily-lifting constant backporting (what Debian does) has to be done--the latter of which merely delays the inevitable--which is a very arduous process. Why? Well, the biggest reasons are as follows:
The Installation, once started, can't really be aborted. Because of the interconnected nature of Linux distros, which package managers help manage, there's no way to do a clean break to pause and resume progress. It helps none that Linux itself does a piss poor job of supporting things like hibernation, replay ability, or the general framework of supporting containers so one could, given enough disk space, simply have the older and newer distro installed at the same time and it be almost trivial to support resuming. Instead, one is left with an installation that could take a day or more--more so because changed config replacement/keeping isn't grouped so the installation will repeatedly stall unless you're willing to nurse a 5+ hour install. And that doesn't even get into the obvious stuff--ndiswrapper either moved packages or something which resulted in a lack of wireless support on my newly installed distro version which rather hampers finding out where it moved to online and downloading the new ndiswrapper package. Thankfully, due to a "feature" of older kernel images not being removed when their package is removed--which violates the concept of a package manager managing things (which further brings up the subject of configuration files, but I digress)--I was able to resolve the issue. Meanwhile, umount still segfaults on hal-based mounts. :/
Now, I'm sure people could argue "well, that's just an issue with Ubuntu" or "I've never had problems with upgrading my distro". But, the point is, the underlying architecture isn't robust for dealing with the sort of issues endemic to the FOSS world of library upgrades or even drivers moving/disappearing. And the argument that "well, Windows/Mac OS X is no better/is worse" does nothing about showing why Linux is better and something people should want to choose. And I do agree Linux is better. It's just marginally better in a lot of areas and those better areas are aggravating at times and, at least in short bursts, worse than the alternatives.
Eurohacker European paranoia, gun rights, and h
Remember fellow Slashdoters , This story and the posts it links to are about why developers are leaving Linux, not users.
Thank you. Carry On.
The reasons listed make good sense to me and most could help explain why a comparable or even a better desktop experience could still fail to get adoption, especially in the enterprise.
But is it really the case that the desktop linux experience really is as polished as the windows or Mac? Please understand I am not trying to start a flame war, I like all these platforms, I use Windows mostly for my personal desktop use and Linux mostly for my servers.
I have not spent time recently trying to configure the best possible Linux desktop experience, but I have at times in the past, and while its plenty functional it has never felt as mature to me. The font rendering looks like mid-90s technology. The GUI looks three generations behind too, both as to static elements and to animations. It doesn’t seem like hardware graphics acceleration is active.
The linux desktop may get the job done but to me it feels like the computing equivalent of choosing to live in a factory or office building instead of a nice house. And for personal use, I’d just rather live in the nice house.
After reading the posts here, I declare Slashdot is now Reddit.
* Carthago Delenda Est *
You'd probably have a point there if every single Windows app didn't ship with 42 DLLs that only work with/for that particular app, providing a shim between the app and the OS. In contrast, Linux apps are actually expected to interface with shared libraries not directly under the particular app developers control.
...than all of this. One of the biggest reasons that Linux hasn't made it on the desktop is poor Video Game Support! Period. Most people that would use Linux as their main OS, but don't, do so because their favorite game is not supported. If most of the major video game makers would get on board with Linux we would see a lot more conversions. The only reason why I dual boot is because a lot of the RPG games I play do not work under wine or Linux natively. Make the games work and they will come!
Perhaps Linux needs a minimalist leader. Throw everything out. Then step by step, bring back features and see what works, and what doesn't. In the process make sure that everything has a consistent look and feel.
EEEpc 2G Surf, from 2007. The first "netbook".
It wasn't a huge success, but it panicked Microsoft. For a brief moment, the future of mobile computing was Linux. Windows Vista wouldn't fit on the thing. Microsoft had to re-animate Windows XP to compete.
(It also had a terrible variant of Linux. I have two of the things. The WiFi code is unreliable, and the "union file system" which makes one read-only and one read-write file system appear to be in the same namespace leaks inodes. The hardware is solid, though.)
Much better to let the ABIs be changed at will. Linux didn't get to the point of running on such a wide variety of (constrained) hardware by piling on years of cruft or by having a montrous and never-ending compatibility layer.
Users pick a distro and so don't have to think about ABI changes. Developers should be able to figure out how to "configure", "make", and "make install".
Anyway, it's not like MS or Apple have never depreceated APIs and/or ABIs. LInux just does it routinely in quest for ultimate efficiency.
That isn't surprising considering they're polar opposites! I'm not talking about design and function and style, I mean that Apple is all about psychotic levels of control, MONEY MONEY MONEY, and locking everything down into their pretty little walled garden. Linux is exactly, perfectly the opposite. It's designed for anyone to use without some company controlling it or paying a ton of money or not being able to modify it, etc. They aren't even targeting remotely the same market other than "people who don't want to use Windows."
As a single-booting but casual Linux user I don't really know if these libraries are what makes distributing software such a pain, but whatever the reason is something needs to change, and the point about software distribution was spot on.
Package management is nice, but if something isn't available through it I won't install it. Why not? Because:
* I have to compile it myself. This often results in errors which I can't handle.
* I have to edit config files. Might be xorg.conf, might be something else. All I know is someone failed to make it work out of the box properly. Things will break.
* I have to find the application. Yes, that's right: often applications leave no trace after installing, especially when using a manager. They're buried in the complex-just-cause Unixey filesystem. Typing the name into the CLI fails too of course.
Now all of these problems can be solved, some seemingly trivially. This doesn't matter - the fact that I can edit xorg.conf means I'm probably in the top 3-5% of all computer users as far as Linux goes, meaning it could just as well be impossible for a normal user.
Users are used to the Windows XP interface and Linux is frequently more like it than Windows 7 is, so the exterior isn't a problem. The ACTUAL usability problem is installing software - it needs to work universally so people can actually do things and therefore be interested in and dependent on the OS.
was never an office killer. Calc is missing a tonne of stuff people use Excel for (e.g. as a poor man's application database). Writer has several nasty document eater bugs that haven't been fixed to this day. There's also nothing that competes with Outlook for Enterprise grade messaging. The fact is that stuff is expensive and above all boring to write. Large gov't grants could do it, but good luck getting that done between Microsoft's lobbying and the cries of 'Socialism!'.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
No Mac OS X has not killed desktop Linux. However it has halted Linux's advance into the desktop market. Much like Linux did not kill MS Windows Server, it halted the advance of Windows Server into what had been traditional *nix server territory.
...
That said
So he argues that Mac OS X has not displaced Linux because its overall marketshare has only gone from 5 to 7.5%?
That seems to be an odd conclusion. That growth is nearly twice the entire Linux marketshare according to his cited numbers. If he wanted to argue Mac OS X is not displacing Windows he would have a point. As for Linux he really offers no evidence.
Yet the number of Mac laptops seen at Linux specific conferences, and the number long term Linux users confessing they moved to Mac OS X, are so common as to be far more than mere anecdotes.
The truth is that a bunch of people out there wanted a *nix environment. Workstations were beyond their reach and Linux filled an empty niche by delivering *nix on PC hardware. Many historic Linux users just want an affordable *nix and didn't care about the politics and drama of the FSF and the "free software" movement. So when Mac OS X delivered another affordable *nix implementation that runs side by side with a nice consumer GUI environment that has support from many commercial software publishers they switched. It also helped that the Mac hardware delivers the "holy grail" of running Mac OS X, Windows and Linux. Sure you can emulate but for things like games you are probably better off booting into Windows. Something many Linux users do too.
Same goes for *BSD but they seem to mostly manage things. In fact I'd go so far as to say every sane OS freezes the core userland so that there's a certain set of libraries that you can depend upon remaining stable between releases.
Whichever. But, if a recompile is needed, either you make it idiot-proof (ideally, one-click, with a 99% success rate), or you lose 95% of PC users.
If the configure, make.. steps are always the same, why aren't they scripted once and for all ? Is there a GUI to do it ?
The Cloud - because you don't care if your apps and data are up in the air.
That is SO last month!
It's their job, eh? Do you think Microsoft and Apple would put any kind of effort into backward compatibility if it didn't pay off for them in some way?
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today
There's a great 'excuse', it's called evolution and it's the reason Linux caught up to, and surpassed, other mainstream operating systems in less then a few generations. I agree there's some impact on developers and it can be a pain sometimes but it's not insurmountable. Tweak & recompile, or run a different OS.
We won't miss you.
So? If most of your software is FOSS and can be recompiled, why do you care if it's the same binary or not?
It's not often that burden is placed on the user; package maintainers for each Linux distribution generally take care of compiling and making sure the relevant libraries are in place. With every distribution upgrade I do there's been less and less reason to compile anything myself. In fact, IIRC, I've not compiled a single piece of third-party software for my use for at least a year or two.
A moving ABI really isn't a problem at all for the vast majority of Linux users, especially if most of the software we use is FOSS and available from a distribution's repositories. Now, that's not to say it doesn't cause a few headaches for package maintainers...
No more "New Distros". No more new package managers, If you have applications, make meta-packages. What really needs to happen is, DEB and RPM need to talk to each other. Stop making "New Distro that changes everything needlessly again."
Make applications that solve problems, make meta-packages for large suites of applications, make it so RPM distros can talk to DEB databases and vice versa. Agree on a system. And give the "I'm going to make a new distro where the Wallpaper is blue rather than brown" a big glass of shut-up juice. There needs to be one overlording Linux.
That's why FreeBSD has a compatibility library that redirects applications to suitable versions of the library and with each major release they'll release a special set that can be installed if needed. It works quite well and allows people to only install the older versions if they need it.
I think the basic issue is that Linux is an OS by nerds, for nerds. Which is fine, as long as they don't pretend they're something else.
- While using a preinstalled Linux system can be OK (if the system is vanilla, well installed, and you don't want to change anything), installing/admin-ing a Linux system requires the CLI within 10 minutes
- the code might be good, the documentation is horrendous. Codenames are fun except when you don't care about them and have to keep a post-it note to remember if Carmic Crap is 8.10 or 9.14; once you know that, you got to try and find relevant info (MAN pages are often out of sync and/or a bit unclear; forum posts rarely states which versions they apply to or not...). I think this is both accidental (writing doc is boring and unglamorous) and by design (if only a few people can make head or tail of something, their market value increases)
- the feature set is chosen to impress your programmer peers, not to seduce/help non-techies.
- many distros, GUIs... are *released* in what is barely a beta state (early Unity, KDE4...). People howl at MS putting out crap v1s... Linux does worse with v4s...
Engineers often wonder what the world would be like without marketing- nor business-men. The answer is: Desktop Linux.
The Cloud - because you don't care if your apps and data are up in the air.
It is not that FOSS developers hate ABI compatibility. It is that the value of such compatibility for important projects (FOSS ones) is very near zero, thus why should they have extra work to achieve it?
Yeah, there is a bias here. Linux developers don't think closed source drivers are important. If you think they are wrong, the burden is on you to convince them.
About TFA, well, I've not read it yet, but if that is its best argument, it just doesn't fly. The lack of ABI compatibility only impacts drivers developers, and hardware selection. Linux runs on nearly everything you can find people selling, lack of hardware selection* is not the problem stopping its adoption.
* Except, of course, for GPUs. But those do use binary drivers, so the argument is moot. Oh, and if you take a look at the quality of the binary drivers available for them you'll see why Linux developers aren't looking for more proprietary Linux drivers.
Rethinking email
LINUX is growing in countries outside of the U.S. at a much faster rate. China for one will have masses of Linux users soon as now AMD will be assisting in their project to equip the population with Computers.
Apple didn't kill linux, as Android is a linux-based OS that is outnumbering OSX and iOS in users.
When linux becomes a more complete and tweaked, eventually a few crispy clean distros will become mainstream to run as a solid alternative to windows and OSX. From what I'v used and my friend has used, Mint and Ubuntu are both buggy and not ready for serious use. Linux needs a solid GUI that is simple and consistently stable that appeals to the mainstream users of PC's. Terminal needs to be updated into the new generation. I know many people like that old terminal dos feel, but really, let go of your nostalgia and move on to innovate. The biggest problem with the linux community is their stubbornness to change that blocks innovation and new creation. I understand many want linux to be "different" but it already is, in the guts. Now make it feel comfortable and smooth at the GUI Level intertwined with it's OS. ;D
It's enough to stop a Windows-only support geek in his tracks.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
I don't think the parent is trolling. This is practically the sorry state of Firefox, which would probably be something like version 4.6.7 using the old versioning system. WebKit has left Mozilla in the dust, maybe they should switch bandwagons and just release a Firefox-y application wrapper built on WebKit?
That idiot-proof method you wish for is already there. It's called a package manager and every major distribution has one. Ok, so it's not recompiling the software for you on the fly (in most cases) but that's because someone else has done that for you so you don't even need to think about it. It really couldn't be easier, either by GUI or CLI.
HUGE Security Resource+ - version 6000 - 08/31/2012
http://cryptome.org/2012/08/huge-sec-v6000.txt
http://pastebin.com/raw.php?i=f3Z4fQvK
http://pastebin.com/f3Z4fQvK
Thank you Cryptome for posting it at the top of the page today!
Yep, now that I've RTFA, it agrees with me.
Rethinking email
but does the binary have to run or just work if you configure; make; make install again? right the OSS world assumes that software can be recompiled, and most only needs that. Sometimes it needs a simple patch, but yes breaking ABI isn't really an issue. Breaking an API is much more of one.
How many of the ABI breakages about which people compile are the result of API breakage, and how many are the result of changing the sizes or layout of data types in ways that don't break the API?
Mac OS X did not kill the Linux desktop; the Cocoa GUI killed GNOME and KDE as they were too arcane for the average desktop user. But Linux was never a desktop contender for the simple reason that desktop users want much more than the standard software stack that comes with most Linux distros. They have kids, they want video games, and MSN, and Microsoft Office, and specialty software that is only available for the mainstream platform. Or so it was in those times when the line was drawn in the sand. If this was not enough, factor in the fragmentation of the "Linux operating system" to understand why all hope was lost. Linux evangelists have never understood that the freedom to develop and modify software is very different from the freedom to use software what everybody else likes and wants. This is what Apple did understand but their premium pricing policy and arrogance kept most users away from their platform. This is how Windows won in the end, and this is the path that Android is following in.
Hard drive space is cheap.
My time isn't.
I know which situation has caused me more heartache.
TODO: Something witty here...
Why does it have to be someone else's fault? Why's it Mac OS X's fault? Or Microsoft's monopoly? Or even ABI compatibility? Where's the analysis of whether the bulk of average-joe users actually like using Linux desktops?
Seriously, it's the first explanation that needs to be looked it. Yes, many of people love their Linux desktops, and they're very vocal here on slashdot. But is there any Linux desktop that is there today, or has been, that could be loved by the masses?
I switched from Linux desktops about years ago and there's nothing about it I miss.
Hard drive space is cheap.
My time isn't.
I know which situation has caused me more heartache.
You mean, finding all seventy five copies of zlib.dll strewn through random directories on your system which have exploitable security holes so you can individually replace them all with a patched version?
I run a very minimalist linux setup. Xmonad window manager, no applets, wireless managers, widgets,etc. I use it for coding. It's awesome.
But I can't see how the majority of users would be happy with it. Hell, my wife doesn't even know how to run a browser on it. Users want to have their phones auto mounted, printers working, scanners working, xbox controllers, nintendo controllers, games and whatever they buy at best buy and plug in, to just work.
So where do you stop? What's a minimalist distro?
Users expect a lot from an operating system. With Windows, it costs them under $100 built in to the purchase price, with OS X they get it for paying a bit extra for hardware.
So I'm not sure how a minimalist distribution would be able to compete.
Why doesn't anyone mention that this idiot who has proclaimed Linux dead doesn't even know that xfte isn't a thing but xfce certainly is?
Yes, I know keeping a stable ABI is hard. But here's the deal: as a maintainer, it's your job.
Stable ABIs aren't hard, they're just retarded. Stable ABIs are why Windows is a steaming pile of a million crappy APIs full of security holes and bugs which no-one can fix. 'Yes, I know foobar.dll has a bug where it ignores parameter X if you specify parameter Y as -1, but if we fix it, SuperWord 2000 breaks'.
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today.
How about because the API you were using sucked and we're all better off without it?
Absolutely. We just need One True Linux to handle the desktop. Oh, and the server. So we just need Two True Linuxes to handle the server and the desktop. Oh, and embedded devices. We just need Three True Linuxes...
The One Thing we can be sure of is that you know nothing about what Linux does or why people use it. Hell, I'm not even going to qualify that: you know nothing about Linux.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Lunix is programmed either by geeks, or by companies who make their money on support (and easy to use software = no support income). Neither party cares about quality.
Uh, no. We do care about quality, that's why we don't want to be tied down by a stable ABI which requires us to intentionally maintain documented bugs in our libraries so that some crappy old software will still run.
The last three jobs I've had (Java dev) have given me a a Mac as a workstation. At this point, having to switch to Windows/Linux would be a semi-significant negative for me when looking for a new job.
Frankly I'm shocked you were modded up, so many of us have been saying that for years and called filthy names and told what idiots we are for not "seeing the genius" of constant breaking by the devs.
Lets be honest and cut the bullshit folks...why does Windows rule the desktop? its simply because there is software that covers every niche from inventory management to medical billing, electrical supply to salvage yards, there is SOMEBODY out there making software for it and it runs on Windows.
So what does that have to do with anything? Simple. When the core of the OS is constantly shifting like the sand to keep those applications running is gonna be costly as hell. For every big software house like Adobe you got 10,000 little shops run by a handful of guys filling one of those teeny tiny niches the big boys don't care about, and they simply don't have the money to constantly "pull an Nvidia" and pay a team of devs to constantly rewrite their stuff so it'll work.
And the saddest part? you have this HUGE network that would be happy to support you, little guys like me and the other smaller shops paying too much for MSFT licenses, tons of little software houses getting screwed just like we are when it comes to licensing fees, yet when we point out what we need to support you, which frankly isn't all that much, just some real stability and timetables we can work with, what do we get? Insults and told what idiots we are for not seeing how fricking brilliant breaking stuff is.
So if Linux goes nowhere on the desktop you really only have yourselves to blame, hell MSFT has been treating their customers like crap so long they might as well put a Goatse on the box yet we still buy it because we have no choice because everything is simply in too much flux with Linux. The one or two "solutions" trotted out when we point that out cost several times what Windows does, like RHEL, thus making MSFT the better deal.
People aren't on Windows because it gives them a fuzzy to see a WinFlag, its because nobody else will step up and give us a platform where we can have long term access to our applications without having to constantly futz and study and fix like its a dying 76 Dodge. Why do you think OSX adoption has been climbing, when they charge so much for older X86 hardware? because when you get fed up with MSFT's bullshit there isn't anywhere else to go, and that is a damned shame because it didn't have to be that way, the devs chose to make it so.
ACs don't waste your time replying, your posts are never seen by me.
With a firefox 3.6 UI.
Market segmentation is treated to simplistic in the article. It queries only why Linux has not taken hold in the desktop market but desktop subdivided into office users, and home users. Then these sub divide again. The Windows plus Office monopoly only applies to certain sections of the desktop market. For example a home user might not care about office if their main interest is games and internet. The real reason Linux hasn't taken off is that it has never been the best at anything other than servers where it met the simple requirement of not crashing too often and rarely needing a reboot against windows of ten years ago which needed rebooted every time you changed anything. Linux has never been the best office system, never the best games system, never the best photographer's system, etc. If it's not the best, why would anyone switch to it. This of course is not really Linux's fault. It is the lack of 3rd party offerings. If Linux convinced just one big name software to produce a Linux version, then it would have half a chance. For example, to get Adobe Photoshop natively on linux. Without a big name 3rd party offer on Linux it will never succeed.
We can do that in the FOSS world, because we ship the source to everything and the APIs are what matters. The ABI "problem" is a nonproblem that's really a side effect of the misguided commercial belief in secrecy.
If you're a company that only wants to sell a compiled binary to a bunch of clients, then you don't get to complain if the binary you prepared fifteen years ago for some distro using linux 2.1 no longer works in 2012.
Just tell your clients to run the older distro, or else recompile your code for a modern distro. Or you know, you could make your code open source, and reap the benefits of community support.
So the solution there is to ship BIG EXPANSIVE libraries with the OS, and keep on top of them so new stuff is supported by those libraries ASAP. You don't have 75 copies of zlib.dll, you have one-- and it's owned and updated by the OS.
Take Microsoft's .net for example. The library covers pretty much everything you can imagine wanting to do with a computer, and it's constantly updated as new file formats/etc arrive. But since there's only ONE .net, the library is still one holistic thing that can be updated when security problems arise without breaking anything.
That's not to say that .net is the perfect solution to all problems, but it's definitely worth examining how other vendors solve the problems in Linux.
For what it's worth, I come from Mac Classic, a platform that never had DLLs in the first place (but did have a huge expansive built-in library). Frankly, I've never been convinced that shared libraries were a good idea, even when HD space was expensive. But that's just me.
Comment of the year
As an end user you basically have a choice between grabbing an LTS distro or living on the bleeding edge and possibly gaining some advantages possibly. You want something similar to Windows or Apple in support lenghts, then use an LTS or a stable distro and stop complaining. If you make the decision to upgrade to the newest and greatest the second it's available, then you'll possibly suffer some breakage. You cannot do the latter in the closed source world, thus the comparison is largely moot.
>On Windows and MacOS, respectively, there is only one distribution
But hey isn't Linux is SUPPOSED to be about the kernels? Distro is what's built on top.
If coded correctly, a windows program could run on 98, 2K, XP, Vista, 2K3, Win7/32, Win7/64 and all their different home/pro/data center/enterprise etc editions.
Windows has SxS ("Side by Side") so that multiple versions of DLL can coexists. http://en.wikipedia.org/wiki/Side-by-side_assembly
"The ACTUAL usability problem is installing software - it needs to work universally so people can actually do things and therefore be interested in and dependent on the OS."
Installing software that already has a GNU/Linux version is either just as easy or just a little more difficult than installing software in Mac OSX or Windows. Before the advent of the App Store, it might even be said that installing software in a distro like Ubuntu is actually easier.
The problem I think is the availabity of those special pieces of software that have no or poor equivalents in Linux. If there's one company, aside from the Usual Suspect, that can be blamed for the failure of the Linux desktop, it's probably Adobe.
Sure, there's the chicken-and-egg dilemma of Linux being a market too insiginficant to develop for, but imagine how different things would have been if Adobe peristed in releasing initially unprofitable versions of its popular graphics applications for Linux. Adobe would have had a chance of growing the market, and indirectly they would have become less dependent on the whims of Apple and Microsoft, since they could always roll out their own Linux fork, ala Corel Linux
Purely anecdotal: whenever I volunteer to install Linux for friends and acquaintances, the question I'm most often asked is if there's a Linux version of Photoshop, InDesign or Dreamweaver. MS Office they can live without, since all the fancy formatting tricks that Office can do can be done better or at least fancier in InDesign. Word processors tend to be strictly that, programs for typing and spell checking text.
Next to gamers, graphic designers are the loudest group of computer users in the Internet. A ringing endorsement from them that a given product could run better or just a wee bit worse under Linux would have done wonders for the Linux desktop market share.
Sometime looking at the attitudes of the programmers (e.g. RTFM, why don't you code it yourself, or their use of slow programming languages), it would seem like FOSS programmers don't think USERS and their time are important.
You would think that deadline is not there for these programmer would make their software way better than the products from a software sweatshop.
clearly, OsX is a white rabbit , about 6 feet tall, whose name is Charlie. He gives me carrots if I sing American Pie in falsetto while on tiptoe. I told him that I shall stop, for the store sells carrots for 6 pence and 3 shillings. He told me very well.
I went to the store. No carrots.
Explain that to me? Will you?
and Microsoft is just too lame to bother with, here is my analogy of the available desktops.
remember when you got your first bicycle you thought it was cool, but once you started riding it around the neighborhood you seen what all the other kids were riding and you immediately focused on what you really liked as far as style and colors? it was the same with with my first computer, i got a nerdy win98 powered OEM gateway, but within the first year i started dabbling in Linux and loved it, i would dual boot at first until i got the hang of it and by the time i bought my second PC 5 years later i built it myself with the parts i liked ordered from one of the the usual PC builder' s sites, slapped Slackware on it (without KDE) and enjoyed the heck out of it, (sort of like building a bare bones bobber motorcycle from scratch) a beautiful bike that is as much a work of art as it is a machine with no cruft & kludge to get in the way or act as unnecessary dead weight.
Politics is Treachery, Religion is Brainwashing
I am a bit surprised nobody noted the presence of multiple toolkit with different API as a problem.
One can have on its desktop a mix of programs using raw Xlib, GnuSTEP, OpenMotif, QT or GTK. Then you have to explain the user why it is possible to drag and drop between program A and B, which both use GTK, but not between A and C, because C uses another toolkit. Not a very nice user experience.
Had Macs in the office since the 80s, over the recent years I've seen Macs for business being chipped away, mainly because of the popularity of iTunes/iPhone/iPad - less are the professional apps like Pagemaker, Final Cut, etc. Now it's all consumer grade entertainment apps or simplified business apps.
Windows apps are holding their own - still with the familiar overall inconsistency among applications though.
I do think that Linux is getting a boost as development for replacements for deprecated power apps becomes more necessary though the standards are different than most proprietary users are accustomed to (i.e. ODF, OGG, SVG, etc.) not that they are less capable but change is hard, than again since the the traditionally popular platforms are going through change, the difference may not be as much a factor anymore.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
"ABI-stable" (application binary interface) is by definition working without recompile. Working with a recompile is "API-stable".
I am using Linux
I have been using Linux since the early 1990's
In other words, I am no fanbois of Windows nor Apple
But, reading TFA and the previous one (the one accusing Apple for killing Linux Desktop), I got that uneasy feeling that people behind the Linux Desktop are adapting the stance of blaming others for whatever they have failed
No, I am not saying that the Linux Desktop people haven't put in much work into making Linux Desktop a reality - they have - or else we wouldn't have so many choices like we have today, from KDE to GNOME to Enlightenment to many others
But what I am saying is, whatever failure there is, regarding Linux Desktop, should be examined within the Linux context
Blaming Microsoft or Apple or even the Almighty Himself won't make Linux Desktop a better choice
If we really want Linux Desktop to be used by more people, we must explore ways to make the UI truly intuitive, and that by itself, has been a constant challenge for the Linux Desktop people
In fact, we don't need to look further than "Unity / Gnome 3" to find what's WRONG with Linux Desktop
Maybe you will disagree with what I have said, but the truth is sometime not hard to swallow
We must admit that Linux Desktop is a failure, and we must find way to re-make Linux Desktop so that it doesn't sux so badly
Muchas Gracias, Señor Edward Snowden !
Yes the binary should still run, and the SAME binary should run across several distros and several versions of those distros. Even in the current messed environment it is possible if you are very careful, use the oldest compiler you can find so that all of your users have newer versions of libc and libstdc++ and build and bundle all the rest of the libraries yourself including the GUI libraries, and be careful on the X11 options on configure since you can't count on xfixes. This is why commercial development has little patience for Linux. From: Linux user since 0.92 kernel and Principal developer of a commercial desktop Linux statistical visualization product. product is still sold, and thriving on Windows and Mac, even an iPad version, but now discontinued on Linux! Sadly, Without ABI stability and at least compatibility libraries, Linux will not be more than a niche on the desktop.
You can't have it both ways. If you are happy with the "Whatever it is free, the quality can vary and people can do whatever they like," then cool. That's great but understand and accept it'll never be mainstream desktop. If you want that mainstream desktop, then you have to start to support users. You have to make things easy for them. "Just get the source code," can NEVER be something you utter.
So if you want Linux to always just be the "geek OS" on the desktop or something people use when they are going to stack a bunch of custom shit on (like Android) then no problem. However if you want to advocate Linux for all and a Linux desktop then you need to accept that some shit has to change.
Will 2013 finally be the year we have all been waiting for? That's right, 2013: the year of Android on the desktop.
As someone who's spent months dicking around with OpenMW (among other compiled apps) on gentoo thanks to a combination of ABI incompatibility, differing build options (which can cause random segfaults in SOME but not ALL apps! OGRE being a notable one here.), as well as someone who's just had their videocard dumped by ATI with no apparent intention of matching features being added to the open source drivers (Radeon HD4770, which supports OpenCL 1.0 in the fglrx drivers, but which there's a mailing list comment regarding the OpenCL support in clang and 'why should we bother supporting OpenCL 1.2, and especially 1.0, since it'd take too much work to document the assumptions we've made regarding OCL 1.1/1.2 API support. As well as current experimental OpenCL support only supporting 5450 and above cards.) Why am I pissed off by this? Because that particular card is still within about 15-25 percent of the performance of the 7770 cards, and if you compare them on double precision FP support, it spanks everything short of the HD7950+ in the current generation of cards.)
Combined with the constant breakage that's lead to 'deprecated arches' both in the linux kernel as well as the gnu toolchain (try using either on non-arm/x86 nowadays and tell me how well the vanilla packages work for you!), and you have to wonder how 'open source' is working for us. Open source has just become the new proprietary mess in that now, not only do you get stuck hoping the developer won't change the ABI on you, but you can't even be sure the API will work the same between toolchain versions. A good example of this was the aforementioned segfaults, which happen with a mixture of g++-4.2 and 4.6 compiled packages, but don't occur when compiled only one way or the other. Combined with a nightmarish assumption of warnings and -f features in various packages, actually getting a non-trivial package built can be a nightmare (I say CAN be, because it really varies from package to package, arch, and the particulars of your build enviroment.) The point though being that in some cases it can be almost impossible to track down the particular failing point, even using tools like strace to track it down to about where in the process it's failing.
In the case of OpenMW it was some quirk of the threading between boost, openmw, and ogre, and having any of those compiled against gcc 4.2 instead of 4.6, although all individual pieces compiled fine, the only place failure showed up was down one specific path involving threads (which Ogre has support for like 3 different models of, and the wrong settings could potentially break a pre-compiled app.)
It's been 15 years since I started with linux, and in that time the build enviroment has only become a bigger mess. Less even due to the tools than due to developer apathy to the plights of USERS. There are plenty of developers who take it seriously, but all it takes is one or two in the chain of dependancies to ruin it for everyone. This is even more true during this mass migration to C++, even among build tools. One seeming minor change in the wrong place could lead to abi breakage in a corner-case that nobody tested for, and now you've got contaminated binary code in god only knows how many places before you catch it.
What are you going to do to remedy that now?
- A crotchety but not that old Linux user.
what libraries are you talking about? the kernel has kept binary compatibility with all programs virtually since it's inception. X11, GTK and KDE programs all run with very high levels of binary compatibility. on the rare instances they are changes, (say gtk2 to gtk3) it's a clear cutover and all ditros ship with both so all programs keep running.
what i believe you're referring to are the *internal* kernel ABIs. yes, this is a PITA for people writing drivers for video cards. but come on: that's not what you (nor i, nor 99.44% of the people here) do. more than a decade i've programmed on linux (GUIs, server-side, you name it). it all runs in userspace and code i wrote (and compiled) a decade ago still runs just fine on a modern kernel.
btw, if anyone needs convincing, type xbill into your "ubuntu software center" search bar. THAT program i fricking old. runs like a champ tho!
http://kered.org
And who would tell the distro creators this? Linus? I don't think so. If he did that, it would cease to be linux. Linux is, by definition of it's creator, open. You are free to do with it what you please. If that means fragmenting the community, so be it. Let them follow you, or not, as they see fit. Does it cause problems? Sure. But the alternative is telling people what they can or cannot do with the source code. And that would not be Linux.
Linux may or may not converge into less distributions. You are free to argue that it should, and others are free to follow as they see fit. But somehow restricting people from creating forks of the code would be going against everything that Linux was created for. There are plenty of walled garden OS's that can offer you a consistent experience. If you want that, choose one of those. Linux will continue to be relevant and useful to many long after you're gone, regardless of whether you find it's particular use model suitable to your tastes.
I've noticed that firefox is especially clunky on osx compared with win32 and linux.. I'm not sure of the reason..
It is not the library's job to maintain abi. it is the library's job to offer groups of functions and datatypes useful to the task at hand. A subtle but important difference.
Linux simply does not natively run apps like Photoshop, or AutoCAD, or several other apps that people have come to rely on.
Firefox went full retard a little while back, I expect they will be releasing a rev. that fixes a single typo in a dialogue somewhere as Firefox V.278 by next Xmas.
If webkit is really so great how come none of the browsers that use it are? For all the problems with firefox (show stopper bugs sitting bugzilla for a decade without being addressed come to mind) it's not like the other browsers dont suck.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
Installing Linux is easier that installing Windows - by a mile.
I recently installed Windows 7, and it took me all day. One *huge* update, after another, after another. Installing Linux is a cinch, by comparison. Installing software on Ubuntu, is far easier than on Windows. I practically never have to reboot Linux. And I don't have enter those 25 character serial numbers, or fill out registration forms.
Then there is this that people repeat like a mantra that you have to be an engineer to run desktop Linux. Why is so much more difficult to launch a program from a Linux menu than Windows? That is about all most people do.
There are good reasons to chose Windows over Linux. But I practically never see those reasons discussed here.
Its a nice BSD implementation and I'm sure I could drag my tools and apps over from Linux. But I fear the day that OSX becomes iOS and the ghost of Steve Jobs closes the garden gate.
Have gnu, will travel.
For what it's worth, I come from Mac Classic, a platform that never had DLLs in the first place (but did have a huge expansive built-in library). Frankly, I've never been convinced that shared libraries were a good idea, even when HD space was expensive. But that's just me.
No, it isn't just you. There are plenty of others, because shared libraries aren't the second coming of Tesla. There are certain advantages to them (Problem, security? Update a single library), and there are certain disadvantages to them (Problem, bleeding edge software? Update a single library and recompile every other goddamned program on your system).
Designing API's / ABI's that can persist without changes requires a TREMENDOUS amount of thinking about how these interfaces may be used or need to be used over time. I speak with some authority as I have been the principal designer/developer of such that have been in constant use for almost 20 years, without modification that affects the applications that use them, other than the need to recompile/relink (no code changes required). The API's that I designed/developed are in use today to run most of the semiconductor, flat-panel display, and disc drive manufacturing plants world-wide. So, that said, I have to agree that breaking ABI's/API's is NOT a good thing, but may be necessary because the original design did not anticipate change. That's the crux - anticipating change in the environment, and what the interfaces need to accomplish. In any case, NO ONE who writes such software is immune to breakage of the interfaces. Certainly not Microsoft, Oracle (Java), et al. FWIW, Microsoft has a reputation of keeping ABI's unchanged even when they are "broken", and a change is necessary to fix them, just so that legacy code will continue to work. IMO, this is NOT a good thing, although for some it may be a necessary thing... :-(
Uhhh...MSFT got rid of that problem years ago with side by side, or SXS. Shared libraries were a good idea....in 1993 when the average HDD was 40-80Mb. Now? Not so much.
ACs don't waste your time replying, your posts are never seen by me.
Yes, FOSS library maintainers want to be able to break their ABIs. They do it often. And that's fine. Why? Because we have this thing called versioning. You can write your application against libfoo.so.2, and the author of libfoo can rewrite the thing from ground-up and call it libfoo.so.3. And guess what? Your application works just fine because libfoo.so.2 didn't disappear from the face of the earth. You just install libfoo.so.2 and libfoo.so.3 side-by-side and everybody's happy. This is a primary strength of open source, not a weakness.
KDE keeps binary compatibility through all releases with the same major number. And in practice, source compatibility is broken in major ways only once every two major releases (happened between 1 and 2 and between 3 and 4).
So many articles about "linux failing on the desktop" which should be "GNOME failed as the linux desktop". People forget history, and they should read the kde mailing lists rachives from 1999, from the KDE list. The mother of all flamewars is easy to spot by the extreme number of posts.
You will see how de Icaza basically started GNOME to troll KDE. Indeed, there was at the time a project to duplicate Qt without the license problem. But Red Hat wanted control, and NIH is always strong in the FOSS world. So GNOME started, and somehow prospered as the other linux desktop.
Thus killing forever the notion of THE linux desktop, and in practice, of linux on the desktop. That is in wide distribution: amongst developers, I guess it is not far from OSX (at least according to the w3schools stats). There is a very good linux desktop: opensuse with KDE. I hear Mageia, arch and mint are fine too. Technically, there is a linux desktop, it is there, and better than osx or windows, or whatever.
But redhat is enamored with GNOME, and will rather have linux on the desktop fail than give up, and ubuntu, well ubuntu chases after a mythical linux user who also knows nothing of computers. I think it succeeded because it was so good at recognising and setting up hardware, but they thought it was because people loved the interface.
Sorry for the rant, but there you go: there are two linux desktops, one has a long history of always making the wrong technical decision (remember CORBA ?), and for some reason it always get more publicity. The other is KDE. Eventually, it'll win.
Take Microsoft's .net for example. The library covers pretty much everything you can imagine wanting to do with a computer, and it's constantly updated as new file formats/etc arrive. But since there's only ONE .net, the library is still one holistic thing that can be updated when security problems arise without breaking anything.
The same could be said about QT, glib (2 or 3), python (2 or 3) or even SDL on Linux.
Or you just don't bother with Linux. You really just don't get it.
Its just to much of a pain in the ass to deal with on a daily basis, and I have been fighting it for at least a decade
It's called a package manager and every major distribution has one.
Every major distribution has their own one that's incompatible with every other major distribution's. That's even though the package systems do the same job. Even distros that use the same package management system don't share compatible repositories.
So you just turned supporting "Linux" into supporting Ubuntu, RedHat, SuSE, etc.
boldly going forward, 'cause we can't find reverse
So? If most of your software is FOSS and can be recompiled, why do you care if it's the same binary or not?
And this is why big name software for the most part won't support Linux.... hence the low desktop usage, which in turn causes big companies to not want to support Linux.
That and kernel module support is another big one. There is no god damn reason the that module support has to be changed every minor point release. Well other than the kernel devs giving people who won't / can't open source the drivers a big headache from wondering if their code will compile against 3.2.11 like it did against 3.2.10. This could be solved kind of simply enough, just give a outward pointing $WHATEVER interface that is stable and doesn't change that lets drivers connect to it and you can change whatever paths you want inside the kernel daily and it won't matter. As far as I'm concerned it should be stable for major point changed - 3.2.1 - 3.2.99999999 should be stable, if you want / need to change something mail out to the mailing lists whatever is going to be changing a bit ahead of the change and bump the version to 3.3.0.
Same goes for X, if we had stable / and or legacy support interfaces on both X and the kernel we wouldn't have as many problems with dropped support for older cards meaning we have to either dump the card or take the crapshoot that the OSS drivers will work with that particular card on par with what the older binary drivers did ( radeon and intel are decentish nowadays, the OSS nvidia one is kinda spotty though )
To err is human; effective mayhem requires the root password!
There is a reason why companies pay people to do tech support. It sucks, users are clueless and abusive, and you end up hating everybody.
I know, I did tech support for a machine running Windows 95. It's amazing I didn't go around stabbing people.
You can get support for Linux if you need it, but you have to either a) be polite and patient and ask in the right place or b) pay for it.
Those who can't do, teach. Those who can't teach either, do tech support.
Why did people stick with windows - it wasn't because the tech was better, OS/2 was better tech than windows for years, and then by the time OS/2 was dead we had a linux kernal good enough to be counted as better.
So why did I stick with windows - 2 reasons - Office and Games.
Office was the killer app for owning the desktop - if you can lock your corporate customer in to windows via a good enough set of office tools then you start to own the mindshare - you use a windows machine at work, if you want / need to work at home they buy a windows machine there with the same tools (remember we're talking back in the days of windows 3.11 and '95 - when laptops were pretty much outside the reach of joe public but a desktop was something that was possible if you were perpared to save for it).
As soon as you have a critical mass of PCs running dos / windows in the hands of the public then they are going to want to game on it - and for years the PC was where the games were at - and you can name the killer games - Doom, Quake, Unreal, etc etc. All of them either predated the consoles, or were a quantum leap ahead of what the console could deliver in the way of graphics or the ability to play against real opponents on a network or eventually across the internet. The current generation of consoles are the first to successfully compete and beat the PC in this space, before the PS/3 or Xbox360 if you wanted to play against a real opponent that wasn't sat on the same couch as you then the PC was your only option.
Gaming was always the driver, every upgrade I've paid out my own money for has been because of a game I wanted to play - be it the next GFx card, or having to go to a new version of windows because the new version of DIrectX made things look better and wasn't available on the last version.
Apple did the smart thing - they tied themselves to a niche market with the media creators (photoshop / video editing etc) and so influenced the people writing your TV shows and style magazines - which has paid off for them in the long run by association - the common man sees Apple still as something hip and trendy, and as an aspirational piece of hardware. If I buy an Apple product I'll be as trendy as all the beautiful people in the media.
Either way both companies invested in the user experience - they ended up with products that 'just worked' and were 'good enough'. You didn't feel you had to have a degree to use their products - they were for everyone.
And then you have linux - and I tried linux several times over the years wanting it to succeed on the desktop,and it never did because it was too hard to get it to actually work in the first place, and when you did get it to work it was either missing the business applications to allow it to talk to everyone else in the office, and it was missing the games that made you want to use it at home.
But what frustrates me most is that we still have people talking about when linux will conquer the desktop. The desktop is dead. Wake up and smell the roses. The computer everyone reaches for these days is their phone. It games, it does social media, it surfs the internet, it's always with you and guess what - it's running linux.
the problem is they always release half assed desktop experience for that reason Linux desktops will never be replacement for windows even with the metro problem as some might say.
All of which has NOTHING to do with ABI's which reside only between the hardware drivers and the kernel, NOT the userspace applications API's.
no, you fucking idiot. Can't you read? He is clearly talking about ABIs.
I can run Office 97 on my Windows 7 install. Lunix is programmed either by geeks, or by companies who make their money on support (and easy to use software = no support income). Neither party cares about quality.
You fucking idiot, I have windows 98 games that won't run in windows x64 no matter what.
There are a freaking ton of incompatible distributions in the windows and apple world. They are called operating systems. Just see if you can run a mac os 8 application on the latest os x.
Because of the lack of compatible drivers for video and sound.
I can use crossover or wine for windows.
I can use open or libreoffice in either windows or linux. Same for pdfs, printers are fine.
I realise that companies are closed source and want to protect thier IP, but when people claim that thier drivers work and the ABI doesnt work with it, tben its too late for those who have purchased a machine based upon the research they can do. I cant return the machine.
The big straw that broke the camels back was when plugging in headphones caused all sound to stop working.
That and other drivers for video drivers, resolution and the rest meant I chose to give up on Ubuntu.
I still use firefox, thunderbird and openoffice, gimp and eclipse with the android sdk on windows as I choose to support open source.
Regards
Jason Brisbane
For every binary taking a change that is recompiled by somebody other than the user, the still has to make a download, so that's just trading off computing resources and time for network resources and time. As such, all else being equal the ABI should not change.
If you have ever watched the Ubuntu for Android videos you'll see they are on to something. Integration between normal Linux and Android is not only super cool, it's very useful too. Getting the Dalvik stack to run on a stock Linux kernel should be possible (soon), and I think having Android on the desktop would really be a good thing. I'm not talking running Android as the OS, but Android under Ubuntu or Fedora, on x86 as well as ARM. Particularly on Arm a netbook just might look attractive to someone when you can say, it runs a full office suite and firefox, and you can install angry birds and any app in Google Play as well.
Off topic, but I think it would be in Microsoft's best interests as well to port Android's VM to run on Windows Phone. Blackberry too (did they actually do this; they talked about it). They could promote Windows Phone as a business phone with full sharepoint and exchange integration, and you can also run your favorite android app. Heck Apple could too.
Really Android isn't so much as OS as a software stack. The kernel is not that relevant.
Package managers do not solve the problem of compatibility across different distros. In fact, not even across the semi-major upgrades you see each month with a single distro. PMs also contribute to making the development environment app-unfriendly because they don't work well with anything that hasn't been subsumed into "the repository"... i.e. independent software distribution is really an uphill slog to the point where even Mozilla gave up on packaging apps for Linux-based distros long ago; Mozilla packages apps for Windows and OS X.
Really, if you don't make it easy for curious types to make something interesting and to then share it easily with others, then the platform doesn't work. People will continue cutting their programming teeth on OS X and Windows and will stay there or with other platforms that satisfy the same criteria. So-called "Desktop Linux" doesn't even have an SDK! The longbeard hacker politics affecting the Linux Foundation demand that it doesn't have an SDK. Skittering around in Google's wake, they saw fit to create an SDK for Mobile Linux but heaven forbid if we get one for ye olde desktop.
The subculture stubbornly refuses to standardize both the user experience and that of the app developer. And so it drives both groups away.
Yea yea. One Linux to rule them all !
And I think that is also why the Linux Foundation's Desktop specification doesn't come close to cutting the mustard: It defines RPM as the standard file format, but you need a lot more than that to make it a working standard. Mark Shuttleworth used to campaign to get different distros to synchronize on some of the more common library versions (seems like he gave up though).
I think desktop distros would do us all a service by dropping "Linux" from their monikers and short descriptions. Just take the kernel and make a different OS with it, and observe what most platform purveyors do to foster adoption: offer an SDK, standardize on an IDE, offer only one GUI and desktop environment and make it your own, work with hardware vendors so that hardware and software are a good fit for each other, vertically integrate features to the point where GUI 'power users' feel like they can control most system functions, etc.
This stuff is far from trivial, but its being steadfastly ignored by FOSS system designers. So app developers and the public justifiably ignore them back.
I think there are two additional reasons why desktop-Linux is not at the top of the pack. Familiarity and insufficient idiot proofing. Familiarity comes from the huge number of free computers (with Windows and Mac OS's) that are donated to educational facilities across the world. For Linux to compete in this area we would have to join up and form one monolithic entity that would then have the resources needed to donate an equivalent number of computers. Secondly we would have to dumb down the interface and make everyone root (although a far more limited version of root) so that everyone and anyone could easily accomplish their goals within a standardized environment. Were we to do this the game companies and killer app companies would jump on the Linux band wagon in a heartbeat.................BUT, Linux would no longer be Linux. For me Linux represents computational freedom. If i don't like how something works, I change it. Can every user do this easily and without some skill in coding? No, but that is what Windows and Mac are for. For those who would prefer standardization over individualization. Keep your games and your killer apps, I'll keep my Linux.
Just tell your clients to run the older distro, or else recompile your code for a modern distro. Or you know, you could make your code open source, and reap the benefits of community support.
No. You just ignore Linux and sell to people who use Windows. Where stuff (including malware ;) ) can work fine for more than a decade with no recompilation.
From what I see it's easier to have portable _desktop_ apps (from usb etc) for Windows than for Linux. For linux the "solution" seems to be reboot the computer and enable usb boot. Portable server apps aka scripts are fine on Linux.
So you just turned supporting "Linux" into supporting Ubuntu, RedHat, SuSE, etc.
Unfortunately, that happened a long time ago, and that is a major reason why Linux never really took off as a replacement for windows.
When our name is on the back of your car, we're behind you all the way!
...is keeping the chip crumbs out of your neckbeard.
Your maturity level has not been much higher, that's for sure.
And as a result you have a wonderful feedback loop that reinforces Microsoft's monopoly.
Bullshit. You pick one distro and stick to it. Even then, I've got applications that run, unchanged, using dynamic libraries that function on RHEL 5.6 and Ubuntu 12.04. This imposes certain limitations, but the idea that from one version of a given distro to the next you have to rebuild everything (or even from one distro to the next) is a bald-faced lie.
Nonsense. Microsoft's power over OEMs keeps them from messing too much with Linux. They're eying Ubuntu, but only distantly and usually only to get better prices out of Microsoft.
Cite?
Android from versions 1.5 to 2.1 was a cheapo toy operating system. It was a cheapo toy operating system backed by Google.
A desktop OS lives or dies by the apps that run on it, and how well they are supported.
Compared with Win/OSX, most aspects of app usage is inferior. Installation is not often problem free. (where did my app go? did that new lib i had to install break something else?) App support is not problem free. (new libs can break other apps, introduce strangeness). De-installation is generally non existent.
Even app choice ironically, is not as widespread as the commercial OS.
Perhaps to move forward on this, the app space needs to be more commercial friendly, and that would mean the FOSS community welcoming and working with commercial software vendors to port their apps to Linux.
Don't even need to sell open source, just either statically compile or ship the libraries with your proprietary binary and use those! It's not rocket science.
The OP is talking about ABIs (Application Binary Interface), but as your post implies, that's a red herring. Who cares if the low level binary interface that handles OS and library system calls changes? Just recompile the software for the most recent version of everything you've got.
I bet Microsoft loves to hear this...
I know I'm probably missing some (ok, many) points, but at this stage I gave up on Linux Desktop -- using mac and windows (when I have to) is easier.
So...
> We are trying to compete with a near monopoly (Windows)
Duh, that's the whole point, right? To be better than Windows and lure in corporate and home users to the glory of Linux Desktop. Try again
> Companies tend to depend on a myriad of applications to run their business, and just a couple of them not running under Linux would be enough to derail a transition to Linux desktops
So what, home users are already done for? Fine. Why not pick a few large corporations, find those pesky migration derailers and fix them? Oh, busy with something else, you say, okay.
> We were competing not only with other operating systems, but with a Office productivity application monopoly
But didn't Linux community provide something that was "totally able to replace Office" and kinda compatible? Oh, you mean that's not a Desktop Issue at that point, but Office Issue. I see.
> We are trying to compete by supporting an unlimited range of hardware options
Well, Windows does it mostly by giving manufacturers a relatively straightforward way to provide binary drivers, so as long as you don't yank the compatibility rug for some reason it'd "just work". Oh, you're saying binary drivers only over your dead body? Okay. Have you tried, I don't know, support less of a range of hardware options if it strains resources?
> We divided our efforts into multiple competing APIs (GNOME vs KDE)
Because nothing tickles people's fancies as endless fights over which one of two incompatible ways to do things is The Only Way. With inevitable hissy-fits, splits in the groups and forks into those very competing APIs. I see.
> There was never a clear method of distributing software on Linux outside the distro specific package system.
I guess the reason why there isn't one clear method is the previous reason of constant in-fighting?
> Many of our underlaying systems were a bit immature
This has been "The Year of Linux Desktop Breakthrough" for many years now. Still a bit immature?
> Software patents on multimedia codecs made it hard to create a good out of the box experience for multimedia
But the manufacturer-supplied binary dri.... Okay, okay, you think not having a binary driver is important. No multimedia for you then.
> Competing with free applications is never a tempting proposition for 3rd party vendors
Given how free applications don't seem to be a runaway success, I kinda doubt it. Given quality of some of those free apps my doubt rises rapidly.
> We never reached a critical mass where porting to desktop Linux tended to make sense
A bit chicken and the egg thing, no? If the reason why dekstop Linux doesn't get new adopters is that it has too few adopters, better give up right now.
> An impression was created that Linux users would not pay for any software
Well, the target is windows users, right? Linux users are already on a linux desktop. Windows users are known to pay for windows licenses (well, mostly)
> The different update cycles of the distributions made it hard to know when a new API would be available ‘everywhere’
Oh, so no universal APIs, conflicting distros and general "herding cats" type of problems. I see.
> Success in other areas drained resources away from the desktop
That's essentially saying "well didn't even want it to succeed that much".
I suppose if only someone had a good set of developers, clearly set goals, no in-fighting, stable APIs, predictable release schedules, support for binary drivers and whatever end user wants/needs and not what's "ideologically right", the whole Linux Desktop Takes Over Windows World would happen. But our individual preferences are more important. And nobody is willing to sacrifice anything for seemingly important goal of luring users
Hyperom.com
Compatibility with MS Office software is the big reason for me. Linux has nothing comparable to MS Project or Visio. Open Office is ok but it's missing some key features. AFAIK, Sharepoint has to be run in IE so that counts out Linux there as well. Getting VPN software set up on Linux is tricky.
My MacbookPro plays much nicer in Windows environments, which is what all my clients have it seems. I like using Linux at home but I just can't rely on it for business use unless I cart along a Windows VM, in which case I might as well just use Windows all the time. I've got a Windows VM on my Mac but I almost never have to use it.
And all screws do the same job,right? Except Red Hat uses RPM, SuSE has a different RPM (different threads on the screws), Debian uses apt (Phillips screws instead of flathead screws), and the Gentoo maintainers give you source tarballs with magic sauce sprinkled on it (rods of metal and a box of files to make them into screws).
Do not get me *started* on the different underlying build structures that the package managers have to work on top of. I'm convinced that the whole "maven" abomoniation for building Java programs was written by monkeys who couldn't learn to spell "make", and have marvelled at their ability to re-encounter problems we learned solutions for 20 years in the autoconf world. And the ability of badly trained Perl authors to write absolute debris for either "ExtUtils::MakeMaker" or "Module::Build" and ignore the API's for *both* are evident to me every day.
Who cares if the low level binary interface that handles OS and library system calls changes?
It used to be my job. I worked on a comercial program used by digital hardware engineers. We supported many flavors of UNIX.
Just recompile the software for the most recent version of everything you've got.
You want me to compile, ship, and support a binary on every flavor of Linux a customer has? We tried to figure out what customers had, and supported the top four. This only covered about 60% of requests.
We can do that in the FOSS world, because we ship the source to everything and the APIs are what matters. The ABI "problem" is a nonproblem that's really a side effect of the misguided commercial belief in secrecy.
Paying money for closed source software is how 99.99% of users expect to get software that does the job and is well supported. If you refuse to support this use case, do not expect a significant number of users on your platform.
Just tell your clients to run the older distro, or else recompile your code for a modern distro.
I don't think you thought this through. Every customer standardized on a very specific version of Linux. No other version could be used at their company. They had to, because a lack of ABI compatibility means they would have to recompile everything for each linux configuration. If they run Red Hat enterprise 4 release 56, they can not use a binary built for anything else. I watched many customers buy tens of Sun machines to run our software, instead of using far cheaper Linux boxes, to avoid installing one of the top four Linux distros that we supported.
Or you know, you could make your code open source, and reap the benefits of community support.
That doesn't work for the vast majority of software out there. If you have ideological reasons for excluding that vast majority, then don't complain that they don't support your movement.
Little bit too short of a topic because of restrictions, but basically: why is Mac OS X always considered undeniably a (near-)perfect UI or operating system in general?
I'm sorry, but this isn't just out of ignorance of never using a Mac -- I had started to use one, though not full time, a few months ago with version 10.7. What I saw is a land of horrible complexity even compared to Windows, much less Linux. IMO Linux has far outshined everything Mac OS X does:
1. The window management is stupid. As an example: Apple is allergic to secondary mouse buttons so you have to do things like click the titlebar followed by cmd- to switch it to another workspace; it's a non-intuitive gesture that makes no sense in any context other than pretending mice still have only a single button.
(minor bitching point: the shadows on OS X are grossly overdone. Makes Windows Vista look traditional and conservative in comparison)
2. No good package management. Linux blows OS X far out of the water here; there's no scurry around trying to figure out where things installed too, and Mac OS X carries a ton of dependency hell, seriously.
3. Open source apps don't usually have precompiled Mac OS X versions -- this one actually surprised me. You seem to be expected by most projects to compile it yourself, which is error-prone and doesn't often work. Compare to Linux distributions providing everything under the sun pre-compiled.
3a. Just as an extension, I never got Wine to work. I thought it would be easy enough, even the home page says "Run Windows applications on Linux, BSD, Solaris, and Mac OS X" -- of course that last one is the only one that doesn't come precompiled. It is easier to run Wine on Solaris than ****ing Mac OS X; something is seriously wrong there.
4. Docks blow. I always had the feeling of hatred towards docks based on Windows/Linux implementations. I had some small hope that maybe Apple did it right as the chanted mantra goes. Nope, in fact it was much worse than some of the others I've tried, and I hated those too. Give me a Win95-style task bar any day.
There are more points I could probably put out, but maybe I just failed to drink the Mac OS X koolaid like I was supposed to. Everything about the operating system seemed antithetical to actually using the computer. It felt like I wasn't actually expected to treat it like a computer and instead treat it like a dumb box to play music and movies from; fuck that noise, I can do that on Linux without compromising my desire to run applications and use sane window management.
Absolutely incorrect and unfortunately myopic - there is a much wider user base behind FOSS, with motivation from the altruistic to the selfish, realistic or idealistic. Look at RMS and the FSF, look at Debian, look at all the elements of FOSS that are designed primarily with philosophical purity in mind. Look at those who just want to be able to have total control over the software they need to get their business done, don't care about philosophical purity but want to ensure their coders have the access, understanding, and control necessary to write a module, update, or fix. Look at those who believe in privacy and openness in the face of the many moneyed interests that are seeking to lock down everything they control for profit while harvesting any information they can find that belongs to others, and create varying projects to provide alternatives; believing in the betterment they bring to society. Tor is a prime example - there are many alternative darknets, proxies, VPNs etc... for hackers, but Tor is made to be easy enough for someone with a relatively modest knowledge base can make use of it.
here are most certainly elements of the Linux and FOSS community that are altruistic and create software for a wide variety of non-technical users. Mozilla is a great example - they created some of the best known FOSS in the world and provided a browser (and mail/news client) that both at the technical/code level and usage level put the software completely at the control of the user AND have successfully made it easy to use. Firefox and Thunderbird for instance aren't like lynx and pine/mutt; they're software that adheres to FOSS tenets and allows the guru to inspect and modify to their liking, while also being easy enough that anyone who has used a browser before can make of them. Even more impressive is that because of great design with respect to addons and the like, AdBlock Plus, NoScript, HTTPSEverywhere can be easily loaded with a few clicks as opposed to being the kind of thing that required expert-level scripting to use. Granted, these addons (like the software itself) were created by the knowledgeable, but were made accessible by design. These weren't tools hacked together to solve the problem of a particular user and little more, but instead were inclusive and because of that, thrive.
I was a Linux and FreeBSD desktop user between 1995 and 2005. Sometimes full time, most of the time dual boot so that I could run games if I wanted to.
Why did I ditch Linux and FreeBSD on the desktop for OS X?
ABI breakage. I don't want to have to keep fixing my sound or video when I upgrade kernels, or video / sound card. Commercial software support: there is commercial software I would like to run. Desktop environment brain damage: The UI in KDE 2 or even KDE 3.x was fine. Changing things around every 6-12 months because some developer has an itch to scratch at the cost of breaking ABI compatibility is a pain in the arse for your users.
Package manager hell: RPM, DEB, ports... i've tried them all. Upgrades often break shit, or demand that I upgrade half the libraries on my machine for one package, sometimes creating circular dependencies. Yes, I can fix it, but I shouldn't have to. Most of the software on my mac can be added/removed via simple drag and drop of an app bundle. It doesn't need to be that hard.
PC-BSD has the right idea on that, and have created a .PBI package format, but they're still at the mercy of free desktop environment developers.
In short: I have money. I want something that works well. If it means I end up paying for a Mac to run OS X, so be it. I spend enough time compiling source code, chasing package dependencies, etc at work on my *nix servers.
As others have pointed out. I simply want a Unix desktop that works. Whether it is free or not is besides the point. So long as it is affordable (i.e., within 25% or so of the equivalent PC cost), I'll gladly pay the difference.
I dipped my toes in the water in 2008 with a Mac mini and haven't looked back.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
No. You just ignore Linux and sell to people who use Windows
I don't see the problem with that. Don't let the door hit you as you leave.
Something that commercial software companies just don't appear to get is that the Linux ecosystem just isn't prepared to let them sell a big binary blob and never update it for ten years. We're not here to give them an easy time and help them make money.
If you want to make money from your software, you have to earn it.
Something that commercial software companies just don't appear to get is that the Linux ecosystem just isn't prepared to let them sell a big binary blob and never update it for ten years.
Wrong. We get it perfectly - that's why many of us don't support Linux (or only support very specific versions). It's the stupid Linux fans that don't understand why more commercial software vendors don't support Linux. And somehow THEY seem to see a problem with that (they grumble and whine etc), despite you not seeing a problem with that.
Yes it does.
1. There are huge number of cool HW from Android phones/tablets to development kits. None of them support Linux nowhere near as well as Windows because it is PITA.
2. The Linux attitude ("which ABI shall we break this week") has been copied to pretty much every other library.
So what? That's a problem for the maintainers. Users shouldn't comment on what doesn't affects them.
If you implement a better package manager than everyone else this so-called problem will go away, until then we'll have to suffer being able to choose what programs to run (the horror!). Companies only need to support Ubuntu, if they didn't do anything terribly wrong their code will work in other distros (the libs are the same, the kernel is the same...).
WebKit is based on KHTML and you can get WebKit browsers in Linux including Google Chrome and Chromium.
Use Ubuntu or Debian next time. Seriously.
Yes, OS X did kill the Linux desktop. But not for the reasons usually mentioned. What it did was take the pressure off that had been driving Linux.
You see, many of simply wanted an alternative to windows, preferably a unix-like system. There was none after OS/2 died (lots of early Linux fans moved in from OS/2, do you still remember?) and academic alternatives like Oberon went nowhere. So we worked on Linux.
And then OS X came along and gave us what we wanted and we went there. Not the story of everyone, but one you hear again and again.
At least two thirds of the Mac fans in my circles used to be Linux, not windows, users.
Assorted stuff I do sometimes: Lemuria.org
And? At work we simply call a script that sends the project to the build server that builds packages for all the major distributions and architectures as well att published to the appropiate package repository.
You are talking about current Linux users and application suppliers that seem to not bother about ABI stability. If you want to get the other 95+ percent of people that use desktop computers using your product, you may want to look at their needs and not solely at the needs of the few you are catering for already.
Diversity is good for an ecosystem, evolution depends on it. However, too much instability and chaos and evolution loses because most of the deviations are too crippled to grow into something useful, even if they have some very good mutations. This is true for the development of the organisms themselves, but also for people wanting to "farm" these organisms.
Large corporations making enterprise software don't want to bother with supporting variations that rather quickly run in to thousands of different possible software combinations that require adaptation in their product or service to make it work. Why do you think Oracle is only supporting a few Linux distributions for it's RDBMS? It's not just because they want to promote their own distribution, but because it simply is a pain in the behind to have to support someone's Arch or Gentoo box and finding out after dozens of expensive analysis by actual expensive software debugging experts to find out some flag is set different during compile time, or a minor version of some library is used that has an obscure bug that only gets triggered in specific circumstances. Just a few of those cases and your profit model is out of the window. It's just way too risky.
Both MicroSoft and Apple have a tendency to announce well ahead if they want to retire some framework for binary compatibility so application developers can adapt their product to the new alternative way ahead of time and still support older versions of their product for years to come. Windows is still offering most (if not all) 16bit windows ABIs in some form on some OSes still supported today. Apple took many years to kill "Classic" support, support for PPC cpus and legacy frameworks have been around for years before they stopped supporting anything but cocoa.
If you compiled an app for OSX or Windows XP 5 years ago using the then latest standards, chances that it will run without any modification or extra work on a freshly installed system with OSX 10.7 or Windows 7 are very high. Try that with a graphical application for a Linux desktop and at the very minimal, you'd probably be looking at installing "compat libs" if your distro supplies them at all. This is a support nightmare and a nuisance at the least for people able to deal with this sort of problem themselves. For Linux to make it to the desktop successfully this needs to change. Linux needs it's Visicalc, WordPerfect, Office, PhotoShop or similar "must have killer application" to get a decent share of desktop usage and making it hard for application makers to choose Linux for that isn't going to make that happen.
I was promised a flying car. Where is my flying car?
Linux is growing from the bottom (smartphones) and the top (servers). The middle is a question of time. Were it not for the MS monopoly it would have probably succeeded by now as can be seen from the netbooks fiasco.
>Lets be honest and cut the bullshit folks...why does Windows rule the desktop? its simply because there is software that covers every niche from inventory management to medical billing, electrical supply to salvage yards, there is SOMEBODY out there making software for it and it runs on Windows.
Yes but it''s not like that because Windows was better in any way, it's only because Windows was and still is the only choice out there for people buying computers. Microsoft reaps the benefits of their old monopoly, once all the software houses wrote software for Windows they no longer needed the monopoly to maintin the #1 position because playing catch up is impossible.
Why on earth are you running gentoo if you want a stable dev environment?
Take Microsoft's .net for example. The library covers pretty much everything you can imagine wanting to do with a computer, and it's constantly updated as new file formats/etc arrive. But since there's only ONE .net, the library is still one holistic thing that can be updated when security problems arise without breaking anything.
The same could be said about QT, glib (2 or 3), python (2 or 3) or even SDL on Linux.
not really, .net was developed with the win32 "dll hell" in mind and as a result allows you to have multiple versions of the same assembly installed simultaneously (software can specify which version it wants and gets it).
/usr/lib/ for most libraries but the main symlink will only point to one of them)
as far as I know for the software you listed this is only true for major versions (you can of course have different minor versions in
Diskspace is not the main concern for shared libraries. Ram size is. A shared library used by multiple apps is loaded only once in memory (with Copy on Write for the writable parts). If you link everything statically you cannot do this. Imagine each of the myriad small apps which run on a typical system to have it's own copy of libc in memory. You would run out of ram quite fast. The other solution to this problem is making the libraries part of the OS and use system calls, which means you need to put loads and loads of libraries into the core os which becomes unmaintainable. (This was the old macos system btw, with the mac toolbox part of the OS)
You clearly *don't* get it, otherwise you wouldn't constantly be moaning about how restrictive the GPL is and how it keeps you from selling your software for Linux.
If you want to keep all your code proprietary, write it all yourself. Go and write your own OS kernel, your own libc and your own GUI toolkit, and see how far you get - Microsoft did, and it's pretty good (but it's not quite ready for normal desktop use yet). Apple didn't, and they have to play by the rules like everyone else.
We just had 10 years of one windows OS. But those times are over. The release cadence of windows is getting close to 1 year rather than 10. I'm "looking forward" to watching the incompatibility hell that's coming to us.
I will never forget how I tried to install JGR, which is a graphical shell for the statistical package R.
I tried this under Windows XP, and the whole process took 10 seconds and everything worked.
I tried the same thing under Linux and first found that there was no package, my distro didn't include it (for JGR was experimental at that time) so I had to use a tarball. Downloaded the tarball, did configure and make ... and was confronted by a load of errors. First from the configure script (it wanted to see certain dependencies, which is good). I was unable to locate the exact *old* library versions (I was off by one or two MINOR version steps). So I edited the configure scripts to use the slightly-off library. Then I go to the compiler, which threw errors about definitions. Went in and solved that. Then when I finally made it to the linker I got a few additional errors.
It took me 2 whole days to hunt down those very specific version of obscure libraries X,Y and Z that would link. And even then, when everything compiled and gave me an executable, the graphics still wouldn't work.
So I gave up (I couldn't afford to spend any more time on this issue with uncertain results) and continued my work under Windows. If my objective had been to tinker with my system, I would have sen this as a fun challenge. As it happened, I was a bit under pressure to show a GUI for R within the group of people I was working with at that time. I didn't care one iota about why the stuff didn't work, I just needed it to work asap. Throw in the additional fact that most people I worked with were using Windows and the deal was clinched.
This is why it's necessary to keep an API stable: so that anyone who doesn't care about the source or the philosophy can be confident he can install an application and get it to work within minutes without further hassle.
P.S.
Please note that this is in no way to reflect adversely on the JGR package: at that time the Linux version was clearly marked "Experimental", the Windows version having been developed first.
Package managers do not solve the problem of compatibility across different distros.
That's correct. That's not the aim.
In fact, not even across the semi-major upgrades you see each month with a single distro.
Not sure I follow. I've had plenty of day-to-day updates work with no problems over the years. My arch instalation is 4 years old and still up to date.
PMs also contribute to making the development environment app-unfriendly because they don't work well with anything that hasn't been subsumed into "the repository"... i.e. independent software distribution is really an uphill slog to the point where even Mozilla gave up on packaging apps for Linux-based distros long ago; Mozilla packages apps for Windows and OS X.
*sigh*
Yes another person unable or unwiling to understand.
"App" development...
<aside>
We generally just call them programs on Linux. It's very friendly to such programs. Witness the tens of thousands of independently developed "apps" in the repositories, and many many thousands more in user contributed repositories.
</aside>
App development is precisely as hard on Linux as any other system because the issues are exactly the same.
If you use something completely built into the operating system, it's easy. If you're using some kind of library, then you have to fuss around to make sure it's either staticaly compiled in or the .so or .dll or .dylib is shipped with your program. If it's not defined as part of the OS, you have to take care of it yourself.
This is the same on Linux, Windows and everything else.
What you're forgetting is that Linux is vastly easier than the other systems if you don't care about robust binary distribution, because so much is provided for you.
And yes, I am speaking as someone who has successfully shipped prebuild binary linux programs. I built them on one system (ubuntu 10.04) and so far they have proven to work on every other system I've tried them on so far.
Also, ETF are you talking about Mozilla. There's a perfectly good firefox build for Linux on their website.
Firefox is written by people who apparently capable of typing ldd and making sure all those .so's are in the archive you ship to people.
So-called "Desktop Linux" doesn't even have an SDK!
What the heck are you even talking about? Install the dev or devel packages and you're done.
I personally like the way linux works and find development on it much easier. If the penalty for attracting app developers like you is to make it more Android/Windows/iOS like, then please, stay well away for ever.
SJW n. One who posts facts.
but does the binary have to run or just work if you configure; make; make install again? right the OSS world assumes that software can be recompiled, and most only needs that.
But as long as this attitude prevails, almost no one will release commercial (non-FOSS) software for Linux. The result is that, from an end-user perspective, moving to Linux means abandoning not only Windows or OSX, but nearly all of the software they're used to using. Simultaneously. Which is one of the reasons why almost no ordinary users ever switch to Linux.
You may not like proprietary software, but I don't think it's seriously open to question that Linux would be much more popular if it did support at least some of the top proprietary packages (Photoshop in particular comes to mind here).
No, he didn't, you did.
Someone needs to tell the Linux distro creators...
And you should give me all your money.
You can tell people to do what you like with their time/money, but really, why should anyone listen?
I'm, personally, rather glad that new distros keep popping up. I'm glad the world didn't stabilise on Debian or Redhat or Slackware or whatever, since I like Arch. And I'm watching the new Bedrock linux with interest, too.
There needs to be one overlording Linux.
I already told you to give me all your money. WHY HAVEN'T YOU DONE IT YET????
SJW n. One who posts facts.
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today. None. If MS and Apple can do it, then so can you.
But it's worse than that. Writing a GUI application that runs just on the past two or three versions of Ubuntu requires writing your own compatability layers, or at least peppering your code with #defines. Why on earth would we want to put this burden on application developers?
Well, zero excuses apart from this little thing we call progress. When you make an omelet, you have to break some eggs.
The way UNIX is designed is to have multiple libraries installed alongside each other, and applications taking advantage of the newer features provided in the newer libraries.
This is how it works, and it's been working fine since before Microsoft nicked a windowing interface.
The average linux user don't notice all of this, as a distribution maintainer already did all the hard work, and packaged it up nice for you.
So, all this FUD is getting a little tiresome.
I am a distribution maintainer, and honestly, none of this is a big issue.
In fact, I see a lot of reports that Linux is exceptionally easy to develop on, and that does not surprise me one little bit.
You don't need to take Fedora + Ubuntu
Just take Fedora at two points in time, and try to install a Fedora gtk/gnome app rpm from the oldest point to the newest point.
It won't work. The package manager will barf, because the tendrils of gtk/gnome ABI breakage are so deep gnome is not buildable nor installable most of the Fedora devel cycle and it only gets released because of a last-minute full-repo gnome rebuild each release.
Try the same experiment with a server-ish rpm. Chances are, it will work with minimal dependency changes.
That's why Linux is a success server-side, and a failure desktop side. And all the Linux desktop people know to do is to blame distros for exposing their ABI problems through package deps. That's what the whole GnomeOS thing is about (let's use a deployment system that does not catch mistakes so we can pretend we don't make them).
From my point of view linux desktop lacks 2 things:
1. Interfaces: It would help if some independent organism standarized the various apis that every package provides. This way the package dependency would be against an standarized api not against perl-5.2.42 or whatever. This comment was on the same direction.
2. Documentation: This is a lot of work that nobody wants to do it. Perhaps it could be a way for the distributions to sell support ( add proper documentation to the mix)
But the fact is that decision makers in IT departments will always find ways to mess about. If it isn't ABIs, it will be something else. The philosophy of the Linux community is that technical excellence is more important than IT policies. This is quite deliberate, and is IMHO the reason for Linux's success, and also the reason why there are so many different versions of everything. If ABIs were locked down, and everything else IT departments can think of was imposed as a constraint, the developer community would simply die off for lack of interest.
Personally, I'm intensely comfortable with the idea that GNU/Linux is a niche OS that will continue to be around in 30 years, while more focused OSes intended for a particular market segment come and go.
1. Drivers (Music and Video mostly)
2. Drivers (Music and Video mostly)
3. Drivers (Music and Video mostly)
And this quote
"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."
Citation please of companies moaning about the GPL and how it keeps them from selling stuff for Linux? Microsoft's FUD doesn't count.
Commercial companies do not have to license their stuff under the GPL just to sell it for Linux.
why do we need two distributions for desktop and server?
they all sit on the same base system, server installs apache, desktop installs x.org
why do you need two distributions for that? why not just install different packages? or have a meta-package group all the server and desktop stuff into a single package so when you install it, it'll install everything in the configuration.
sometimes I think we need to stop allowing programmers to make decisions and stick to writing code
it hides the bullshit you don't care about, hides the shit people here need to deal with on an everyday basis and presents a single system which knows how to do things and handles all the ugly stuff.
android is the future, it might be limited and not yet available in many places, but unfortunately, I can see a time where android is used on the desktop like it is in those "fake laptops" (tablet+keyboard) or on TV's, etc. It's just getting started.
it'll all be linux underneath, except nobody will know and nobody will care either.
While I would have put it in slightly different world, I actually agree with you. Thanks.
As for Linux's share of the desktop, well, everyone knows as long as you continue to count all dual boots as windows and all OS free hardware as nothing, then Linux will continue with a far smaller market share in mass media fantasy than in actual reality.
Both Apple and M$ wet their pants in fear of Android and Android is Linux.
If there was ever a time I needed mod points...
Package managers do not solve the problem of compatibility across different distros.
That's correct. That's not the aim.
Then stop referring to "Linux" as if it were a single desktop OS.
The subject here is "Desktop Linux" in the sense that a typical consumer can use it with confidence. The term isn't intended to mean "Linux for workstations and people with IT skills". It has to fit in with personal computing culture, which demands that a typical user can realistically install/manage/uninstall a typical application, with a GUI, and do so independently.
The tarballs that Mozilla has available for "Desktop Linux" users do not fit the expectations that go along with personal computing, and the obtuse response you gave about this exemplifies what is wrong with the Linux aficionado mentality (and also what's wrong with the rest of your reply). The fact that your defense of the status-quo didn't even mention RPM is all sorts of wrong, because RPM is one of the few standards defined in LSB that is relevant to software installation. If you like the idea of users getting the latest Firefox by untarring as root into a location in /usr (part of the OS), overwriting the rpm/dpkg-managed version that came with the OS, and being left with no way for auto-updates to occur (remember, this is the Linux version which doesn't auto-update for the same reason that Mozilla doesn't provide a *real* package) that's your prerogative -- just keep in mind that what you're advancing may be closer to a circus than a healthy desktop environment.
But hey, users should just rely on updates from the repository. It only took the better distros 5+ years to start supplying major application updates to a handful of titles like Firefox without having to do a complete OS upgrade.
I personally like the way linux works and find development on it much easier. If the penalty for attracting app developers like you is to make it more Android/Windows/iOS like, then please, stay well away for ever.
The list of OS undesirables in your world is pretty substantial (though its interesting you omitted OS X). In any case, I predict that anything capable of breaking out of the distro-asylum model would as a prerequisite *not* be called Linux. This has actually happened with Android.
Does (Linux-based) Android give you sleepless nights or ruin your ability to compute the way you wish? If not, then why would you care if another Android-like phenomenon were to come along, only this time for x86 desktop hardware?
I like it when program installers add their DLL directory, with out-of-date-zlib version w/e, to the path and fuck everything else on my system up. Gogogo windows development practices.
>There is a very good linux desktop: opensuse with KDE.
You obviously have never tried to use SUSE. A package manager that breaks on a clean install is worthless. The only use I have even gotten from SUSE is to download debian and install something that works
People like GNOME because KDE is stupid. Yes. Stupid. The design philosophies behind the way GUI's are created is horrific. They are so cluttered and present so many useless options all on the same tier of importance. KDE will never win until they learn to make GUIs that aren't a clusterfuck of fail
Yeah and over and over they tend to drop packages THEY don't find useful despite the fact they're the only way of solving some things some users really need to get thier job done. If ABIs didn't get broken every now and then users could grab the binary distribution from upstream and be on their way. It's just not the case. Among million of other stubborn, thickheaded stupid mindsets that exist among top-tier developers in Linux world (speaking of GNOME, how is that GNOME Shell STUBBORNNESS thing working out of them, from what I've seen their userbase is shrinking like a penis in freezing water) the moving target ABI in libs AND in kernel (need a driver for XYZ, tough luck having hardware manufacturer making one, moving target kernel ABI combined with zilch user base makes these comanies simply not willing to bother with YOU the Linux user).
I'm a linux user. I've been for >10 years, but I keep my sanity by using the OS that does the job for whatever job I need done and NEVER EVER EVER EVER talking to top-tier developers. They might be decent (not great) devs giving their hard work for the people, but on the flipside most of them are stubborn assholes who are often set totally against what has been long established good software design concepts.
Luckily for the sane people in FLOSS world Illumos is looking better every day, hopefully for Solaris compatibility they'll keep the ABI constant. Also in millions of FLOSS projects that are spun off lately I see more and more sane decisions made against the typicall FLOSS mantras from 90s. Too bad it's 2012 and desktop in gener is running towards obsoletion.
Umm, evolution usually includes backward compatibility. What happens when a change that encouraged a mutation reverts to the way it was? You don't think that all the creatures die, do you? Usually there's a huge number of generations of backward compatibility. Evolution is a slow, slow process.
And with them, gone are YOUR potential users that NEED that companie's software to get teh work done. And you're left with tweakers and wankers, and grannies who only need Firefox and Thunderbird to check out their email and Facebook.
Attitude of people like you is number one reason why Desktop Linux is in the order of magnitude of a statistical error. ABI compatibilty (and ISV ecosystem with proper software that isn't there becaouse of it) is actually number two.
Quality of open source software in 90% of the verticals is slightly better than abysmall. It often looks as if it was deisgned and conceptualized by a zealous teenager that thinks he knows about the subject matter. Serious software typically doesn't get on Linux. Just because there is great software in 5% of verticals doesn't nullyfy this fact. Inexisting ISV ecosystem is the direct result of attitude towards proprietary ISVs (talking about shareware or even freeware devs as well), and the "design" of linux ecosystem.
Ah yes. There's the problem. You're sticking with the ole; 'the user needs to learn' mantra. But the OSes that are trumping Linux ass have seen the issue and have addressed it, Apple best of all.
Windows and OS X don't force users to learn the developer's arbitrary installation choices or the OSes rules and policies. Instead, the installers do ALL the work and inform the user of how to use the software. Apple's .dmg system includes all the libraries and everything in the same directory/image. It doesn't scatter shit everywhere like the deranged chimpanzee that is make install or RPM. It let's the user know where to start by presenting a popup or a throbbing icon for them to click. It makes it dead simple to use the software. There's no hunting dependencies, setting LD_LIBRARY variables, configuring mk4 config files, working out why one library isn't found despite it being right where it should be but the application doesn't understand the new minor version-patch number increment forcing the user to create a simlink named with the older version number...
And those OSes still aren't done. They are further increasing the usability with the app store concept, somewhere that Linux should be leading the way with repositories. A single click downloads, installs, configures and runs the fully functional app. Yes, every Linux distro has their own broken attempt at this, but you know well that it is barely supported by the distro itself and no one else(OpenPKG or PPA). Furthermore, there is a very high likelihood that the distro will scrap their choice for another in the next version release, setting everyone and every package back to the failed beginning, as they have done repeatedly.
Nonsense. If you want to support Linux, publish code. The package maintainers will support their distros for you, free of charge.
Give me Classic Slashdot or give me death!
Hard drive space is cheap.
My time isn't.
I know which situation has caused me more heartache.
You mean, finding all seventy five copies of zlib.dll strewn through random directories on your system which have exploitable security holes so you can individually replace them all with a patched version?
Yeah because that happens all the time and causes massive headaches to users as opposed to dependency hells and dropped libs that seldom or never happen. You people seem to forget that if someone bothered to open this topic, chances are he is a Linux user, a Linux advocate even. Advocacy doesn't mean I have to swallow the dogma hook and sink and parrot it around, tho.
Android is a Java application sitting on a Linux kernel. Calling Android Linux is going to give Linux a bad name because of Java.
Until package maintainers decide to ditch libfoo.so.2 and then you're fuxored. Or the libfoo.so.2 still breaks the ABI in some newer version (not all libraries stick to ABI in the revision). Thing is, "abandonware that works and solves issues but just wont work on my distro/version" is a common problem for those of use that do their daily work on Linux desktops. Entire Linux ecosystem is too much of a moving target for any poweruser or ISV to bother with unless he MUST do so. Now, with MacOSX being Linuxey enough with a lot less drama, it's no wonder it's kicking Desktop Linux in the corner.
I don't see the problem with that. Don't let the door hit you as you leave. Something that commercial software companies just don't appear to get is that the Linux ecosystem just isn't prepared to let them sell a big binary blob and never update it for ten years. We're not here to give them an easy time and help them make money.
Ah, the OSS purist. Fuck closed source, who needs them? Apparently not you. Either you run Linux and run GIMP and you will like it, or you can get lost and go back to Windows. A person running Linux and 90% open source software but who needs Photoshop, that's an abomination we can't have. You will either stay on Windows or join the cult of RMS and go cold turkey on all proprietary software. Open source is about choice, but only from the choices the community gives you. Trust me, commercial software companies got the message loud and clear which is why most won't touch it with a ten foot pole. It's not your job to make it easy on them, but it's not their job to be a charity either. If they can't turn a profit on it, they won't serve that market. I doubt they lose any sleep over it, but anyone who dreams of a YotLD probably should.
Live today, because you never know what tomorrow brings
What a heap of ego-centered baloney. And, no, you don't get to decide the meaning of "desktop linux" either. Go away.
Microsoft's .net is a copy of Java designed to make it real easy to buy more Microsoft products (visual studio, microsoft server & sql). There's nothing special about it.
You get the same advantages out of any language platform on Linux.
The same only they don't fucking work because you linked to libglib2.so.1.2.3.4.5.6.7.7 and Dumbuntu ships with libglib2.so.1.2.3.4.5.6.7.8
There are ways to work around that but it is horribly bad design. If the API is stable, even if getting extensions now and then, there is no reason to break binaries. Either kernel or userland.
Just learn to work with what you have. If some old mis-design bugs you enough, add a new interface, but keep the old one.
I care a lot about freedom, which is why I avoid Linux and its blob friendliness, but even I would like to spare myself of yet another compile of a large app that stopped being updated 10 years ago.
The problem with linux on the desktop is that the window managers and apps are unpolished and crude. The devs don't put in the effort to fix the little things, and it makes their apps feel shabby in comparison to commercial alternatives.
Ten years ago, Macs were clearly the minority of notebooks. Oh you'd see them in coffeeshops sometimes--they were hardly unusual--but mostly there were Dells and Gateways and HPs and so on. The last couple of years, good grief, go to any of those same coffeeshops or hang around on a college campus and we're talking 50% or more of the computers are Macs. The difference is bold and obvious. Now do the stats show an increase from 2 to 2.5% or whatever? I don't know. It might be based on corporate PCs or what elementary schools on a budget buy. But it's pretty obvious that Macs have made a huge leap to prominence.
Then stop referring to "Linux" as if it were a single desktop OS.
Wait, what?
It's a family of operating systems based around a common kernel. It has never been a single OS, and I've never heard of anyone ever refer to it as a single OS.
The tarballs that Mozilla has available for "Desktop Linux" users do not fit the expectations that go along with personal computing,
Han on what? You claimed that Mozilla didn't package for Linux. They do. You seem to have moved the goalposts. I never claimed anything about the details of the Mozilla Linux packages. Perhaps they suck. I wouldn't know, I've never used them, since my distro does a fine job.
I have installed other commercial and pre-packaged software, such as Adobe Air (when it existed for Linux) and Matlab. Seemed fine to me.
you gave about this exemplifies what is wrong with the Linux aficionado mentality (and also what's wrong with the rest of your reply).
And this exemplifies what is wrong with your assumptions. You seem to be under the impression that I should want another Windows or OSX clone. Your arguments presuppose that I want something which I do not. I am not proposing ways to fix Linux ot match your exact expectations. I'm pointing out where your expectations do not match the Linux ecosystem or are misguided.
I do not think Linux is prefect (far from it), but the road to improvement is to build upon its own merits, not to alter it to behave like inferior operating systems.
The fact that your defense of the status-quo didn't even mention RPM is all sorts of wrong, because RPM is one of the few standards defined in LSB that is relevant to software installation.
Why? Why is that all sorts of wrong? It may be in the LSB (as if the hypothtical users you care about have any clue what an RPM or the LSB is), but so what? RPMs don't interact with my life in any way.
If you like the idea of users getting the latest Firefox by untarring as root into a location in /usr (part of the OS),
Nice strawman. I can smell the freshly-cut hay from here.
Thirt party packages can generally be installed fine anywhere, because they contain all required files within one tree. This means they can be "installed" i.e. untarred in some user directory and run from there. You only need to supply root access if you wnat it installed for all users (surprise!).
The MATLAB installer exemplifies this. 1. Download. ". 2. Execute. 3. Supply root password if you're instaling for all users or not if you're not. 4. Run MATLAB.
Again, if Mozilla have a dodgy installer (I've never checked), it's their fault, and nothing inherent in Linux.
But hey, users should just rely on updates from the repository. It only took the better distros 5+ years to start supplying major application updates to a handful of titles like Firefox without having to do a complete OS upgrade.
Not sure what your point is. Linux based operating systems generally work differently from other ones. If you want stability (i.e. things patched but unchanging otherwise), then you keep with the current version and install the updates. If you want new versions of everything with things changing, then you upgrade.
If you want to mix and match, then the "major" (i.e. Firefox and *Office) have been available as separate packages since forever, just like on other operating systems.
If you want to do a desktop upgrade without touching the system libraries, then you're asking for something to exist on Linux (amazingly it pretty much does not with some effort) which doesn't exist anywhere else.
Anyway, I use arch for up to date systems which just keeps everyting magically at the leading edge and Ubuntu for stable ones which keeps everything absoloutely unchanged with no nasty surprises but nicely patched.
The list of OS undesirables in your world is pretty substantial
No, the list in *your* world is undesirable. In my world, many of the
SJW n. One who posts facts.
No. I tried that. I tried everything. It doesn't recognize anything but right and left buttons.
If you want to run Photoshop, buy a Mac like every other graphics professional.
I notice a lot of people drivelling on about Linux being "insignificant" as a desktop OS. Is there a reason why I should care about that? What do I win if one day there are more desktop Linux installs than desktop Windows installs (that's already the case for servers)?
I use Linux because it has the tools to let me do the things I need to do. I don't use Windows, because it doesn't do the things I want to do. In some cases, I use Mac OSX because it does stuff that neither Linux nor Windows do well, like editing video.
The color and shape of desktop window widgets is irrelevant. Being able to browse a remote site via SFTP in a standard "Explorer" type view is irrelevant. When you get a working Exchange client, and a drop-in replacement for the Office suite (INCLUDING VISIO) then Linux on the desktop will be viable.
I want to delete my account but Slashdot doesn't allow it.
The last time I checked there were several different versions of .NET on my windows machine...
There's absolutely zero excuses for why an app written three years ago shouldn't run fine today.
I just downloaded the venerable "xv" linux binary from 1995 and it ran just fine on my openSuSE-12.1 .
- Peder
I think you got that wrong. The one who's stupid is you. Downright retarded, I'd say. Please stay away from any kind of electronic devices, they're clearly out of your league.
I don't read de Icaza's post as being about competition from OS X. I read it as pointing out a rather obvious truth: OS X is thriving because it sustains a large and vibrant community of commercial independent developers. Linux on the desktop is stagnant because it lacks a similar community of developers, and it lacks that community for reasons that are specific to Linux culture and ideology.
If you believe a desktop platform succeeds in large measure because independent commercial developers write for it, then lack of a such a community means something for desktop Linux.
When was the last time someone told you they wanted to move from Windows or Mac to Linux because they found a Linux application that just could not do without?
The truth is that, thanks to open source, any desktop application that runs on Linux very likely can be made to run on Windows or OS X.
-- Slashdot: When Public Access TV Says "No"
Comment removed based on user account deletion
"Witness the tens of thousands of independently developed "apps" in the repositories, and many many thousands more in user contributed repositories."
And there's the problem right there. I realize I'm trolling a bit, but at this point "a distribution with many thousands of "apps" ' has already lost by *several* orders of magnitude to Windows (insert number here) or OSX(.whatever). It saddens me to see what Linux hasn't become in the last few years: a true alternative to the mainstream. To parrot a commentator above: when you can't surf to a website (Mozilla), download an installable, and be up and testing just that fast, the argument was lost before it even began.
On the other hand, traditional (unpowered) woodworking still has craftsman dedicated to it, and customers that buy it at any price. Beautiful, but irrelevant to contemporary human progress.
I have used Linux exclusively since 1998. My first distro was Redhat, then Mandrake, and now I use Ubuntu and the Fluxbox desktop. Dumping Windoze was a challenge in '98. Hardware hacking was a skill that had a high learning curve. e-mail sent from Outlook looked awful, and God help you if somebody sent you an attachment generated by any M$ application. Things in general were a struggle. But now Linux just works. I can do any task in Ubuntu that I could in Windoze, including create and edit content of any kind. The Linux desktop is working just fine for me, thank you!
It is not that FOSS developers hate ABI compatibility. It is that the value of such compatibility for important projects (FOSS ones) is very near zero, thus why should they have extra work to achieve it?
Not at all, the value of ABI compatibility is so great that RedHat is a billion dollar company. (Everyone around here thinks RH sells phone support, but their real product is a stable Linux OS that isn't going blow up in the next three years.) There is a real economic angle here. RedHat employs developers who are busy breaking Fedora every six months. Then they employ other developers who save you from those crazy FOSSies by stabilizing and QAing things. It's a good racket.
Everyone discusses this as if it were just a matter of pure ideology. But ABI compatibility, regression testing, etc is an expensive proposition to provide. FOSS developers in general don't do it mostly because it's hard, boring work. It's much more fun to rewrite things and let the Enterprise customer deal with the aftermath.
When it comes to the Linux desktop, I think if the users were "serious", 90% of them would be on something like CentOS or Ubuntu LTS, not dealing with OS breakage and just getting their work done. But the users aren't serious, they're largely hobbyists who like to screw around with the latest and greatest toys. That's why there's 10 new distros to install every six months.
Business. Numbers. Money. People. Computer World.
Don't like tabs? Uncheck that box.
Don't like cookies? Uncheck that box.
Don't want bookmarks? Uncheck that box.
Don't want to use $plugin? Uncheck those boxes too!
Or disable the entire extensions system? Uncheck that friggin box!
There's no reason this "feature full" browser can't be reduced to nothing more than an address bar and a couple buttons as a minimal interface to webkit.
http://xkcd.com/927/
Are you retarded?
Buy a Mac, to use Photoshop?
A Mac to edit video? It may have be alright, but have you heard about the abomination called Final Cut Pro X?
It's funny to me because 99% of the time on Windows if you aren't including all of your dependencies with the application then there's a good chance that it won't run on the client machine. I've lost count of the number of times I've downloaded and older Windows application and found that I needed to go on a hunt for some specific version of some obscure Microsoft DLL to actually make it run.
If you use something completely built into the operating system, it's easy. If you're using some kind of library, then you have to fuss around to make sure it's either staticaly compiled in or the .so or .dll or .dylib is shipped with your program. If it's not defined as part of the OS, you have to take care of it yourself.
Thank you. I was going to say exactly this myself. ABI-compatibility is a half-issue. Windows has some shared libraries that remain ABI compatible for years and others that don't. It wasn't very many years ago that Windows had ".dll hell", where different programs would install conflicting shared libraries and screw up everything. On OS X, (almost) every app ships with its own libraries to avoid the problem completely.
Bottom line: if you want to use dynamically-linked shared libraries on linux, it's very easy, and the advantage is you don't have to worry about distributing and keeping those libraries updated. The disadvantage is it is impractical to do this without releasing your source code to a distribution maintainer who can recompile and package it for you. If you need to keep your source closed, distribute it with its own statically-linked libraries. This makes it equivalent to Apple's "app bundles" and plenty of commercial software handles this just fine. Although, Ubuntu has been toying with their commercial partners repository for a number of years, and I can see them providing a "compile it but keep the source closed" service to software companies, but I don't think they do this currently.
Your making the huge assumption, that the application couldn't have done with an update aswell.
Also, who cares, the package manager takes care ofeverything for the user. And a properly setup system will use background bandwith to download those updates.
I think it's an extremly small price to pay, besides, package maintainers can still decide to pospone the binary change and only integrate security patches. I've been running Ubuntu on my laptop for 4 years now. I never ran into api or abi issues as a user on it.
I can take Vista apps AND drivers and run them on 7 and 8 without any muss or fuss, that gives you support until 2017/2020/2022 depending on which version you decide to settle upon and from the looks of things its gonna be 7 for most which means 2020. That's 8 years of no hassles, or googling for fixes, no broken software or driver issues.
So sorry to rain on your parade, but just as 2K/XP were compatible with each other Vista/7/8 are the same. Oh sure they may keep some version of IE to try to get people to adopt but the numbers for IE have been dropping like a stone so who cares? All anybody really cares about is the third party software and drivers and those all "just work" and do so year after year. While they may change the pretty on top MSFT has always been VERY conservative with the driver model and as in TFA that is what counts.
Because without an ABI and libraries that are in constant flux there just isn't anything stable to build on, its a house built on shifting sand for software devs and without those devs porting your OS isn't getting used by the majority.
ACs don't waste your time replying, your posts are never seen by me.
I am using Linux
I have been using Linux since the early 1990's
In other words, I am no fanbois of Windows nor Apple
===
you don't say! while, I am using Windows
I have been using Windows since I was in the womb!
In other words, I am no fanbois of Linux or BSD.
Now I will trash Windows because the above was just a hook to get into your mind (lies) before I complete my paid operation of slamming an OS.
Because.. I saw what you did there.
It's not there job to maintain ABI. We are talking about free software here not proprietary. On Microsoft Windows and Apple maintaining a stable ABI makes sense. On GNU/Linux it would be counter intuitive. GNU/Linux is about freedom-it relies on freedom- not supporting proprietary software developers. If you can't figure out how to make money from developing free software from a developer perspective (nobody will hire you) then start your own damm company. For heaven sake. Take some risk and come up with your own business model. If you fail. Try, try, again. Stop waiting around for other people to do it. It's not going to happen.
I've got what is probably the most successful business in the GNU/Linux ecosystem and we ONLY release and support free software. It's targeting the DESKTOP! Yes- a market which people claim has failed. Doesn't exist. If it wasn't for the fact it's propelling itself we might be competing with Apple or Microsoft today. The problem for us is we have relied completely on the current GNU/Linux demand to propel us without any marketing. Despite this you will know the companies name in a few years from now. Many here already do. We're just now gaining the ability to hit the corporate market with our products. Sales of support for 10ks of thousands will be routine in coming years. We see demand for 20 million sales a year of just one product in coming years. Apple doesn't even sell 20 million computers a year. The GNU/Linux desktop is most likely got greater numbers today than Apple's Mac despite missleading numbers suggesting Apple has a larger market. Not for computers it doesn't. It's a lie. Numbers misslead.
And as far as small businesses go we were off the ground and running 3 years in- although it could have been one year had I not started the company out of college with zero dollars in the bank.
Gnome should have frozen at 2.0, before it decided to change in mid-stride and alienate its fanbase. Should have called the 3.0 something else, but still kept 2.0 alive and not totally forget its past. Now, you want a mobile-phone like UI? Don't insist that it's still Gnome, then you'd be making the Microsoft faux pas of having a start button on everything but the Zune.
WARNING: Smartphones have side effects--most of them undocumented.
*sigh*
Yes another person unable or unwiling to understand.
"App" development...
<aside>
We generally just call them programs on Linux.
Well! There's your problem No Apps!!!! Gotta have Apps!
The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
Well, what else are you going to use? You could buy Windows, but then you'd have to buy all the expensive training courses, too. Not everyone has the time or inclination to do a course and get all the MCSE certificates and stuff just so they can use a computer.
I just installed Linux Mint KDE a couple of weeks ago to dip my noob toes (after decades of PC ownership and programming) in the water. Not too shabby. So I decide to install a MIDI sequencer called Muse. It complains that it can't find "Jack". So I go to get Jack and there are two versions. I pick the newest package Jack2 and install it. Muse can't find Jack. Spend a half-hour googling to find that the problem might be solved with Jack1. I unload Jack2 and install Jack1. Music can't find Jack.
Etc. etc. Went through all this CRAP a decade ago when making computer music on major platforms meant spending 75% of the time fighting the technology. Hundreds of wasted hours. History. So LMK is now consigned to the "toy boutique" bin. There have been several other oddities that make LMK seem fragile. Love the speed and small footprint, but ....
"You must try to forget all you have learned. You must begin to dream." -- Sherwood Anderson
You can still run an application compiled against GTK+ 2.0 on any modern distribution..
Not unless libc versions are binary compatible, which they are not.
Fact: I have 10 year old game by Lokigames which wants libc version for which there isn't even "compatibility" library any more for the distribution.
Most Windows games from that era still run on newer Windows, even some from 95/98 era can be made to run.
So unless you have compatibility with libc from same era GTK or any other toolkit support won't matter anyway.
That is all about you; other people only come into it when they are elite users like yourself (the current "ecosystem"). Perhaps without realizing it, you are trying to refute the goals of many distros like Ubuntu.
My take differs in that I am pointing out (from my experience) what these distros are missing in trying to reach their intended wider audience. Like most others here, my posts contain a recognition of that audience and what TFA is trying to accomplish, whereas yours are assuming that the overall goal not only of the author, but also that of the distros you write software for, is invalid. In that you're being obnoxiously off-topic.
OK, then would it matter if the new platform were called "Linux Standards Base Desktop" instead? I don't advocate it at this point, but... Supposing LSB Desktop were suddenly to define a particular desktop environment and many other things that are expected on Windows and OS X, including the mechanics of package handling and dependency resolution... Would that suddenly cause you to say 'Get off my lawn' because the platform name has "Linux" in it?
wax virtuous.
Its the ones with the more self-serving attitudes that often become chronically unpopular and needlessly impenetrable.
Yes the binary should still run, and the SAME binary should run across several distros and several versions of those distros.
Agreed. Every time I buy a Humble Bundle, half of the games I try end up segfaulting.
My kingdom for mod points...
Linux already has a stable ABI. It's called the Linux Standard Base. It's only weaknesses are
but does the binary have to run or just work if you configure; make; make install again?
First of all, if you do that it's no longer the same binary.
So? If most of your software is FOSS and can be recompiled, why do you care if it's the same binary or not?
And this is why big name software for the most part won't support Linux
Is that really a problem? Oracle won't release a FLOSS build? BFD, who cares? Use PostgreSQL and save a fortune. Wolfram Alpha sounds cool, but isn't released for FLOSS? Their loss. Autocad isn't released for FLOSS? Sad, but their loss.
Debian, the last time I looked, offered 18k packages in their repositories, and Freshmeat/FreeCode/... offers plenty more. There's not enough FLOSS users to bother supporting FLOSS? FLOSS users aren't mere "users." They build, maintain, and support big systems that "mere users" use.
I don't need "Big Name Software" that doesn't care to support me on my choice of OS.
"Tongue tied and twisted, just an Earth bound misfit
Well, then enjoy your lack of quite a bit of software. Software is a tool, not a religion. If you can make something that millions are willing to pay for and can support it, it makes no sense whatsoever to just give the whole thing away since you lose the revenue stream that pays your developers. And no, the "community" won't develop it for you, won't pay for usability testing and UI design or the myriads of other things that you have to sink 10s to hundreds of thousands of dollars or more into... see GIMP below.
I for one would love to be able to run my copy of Photoshop on Linux without trying to make it work in WINE ( and most don't, not nearly as well anyways). As it is I have to keep a Windows machine around for it. GIMP just doesn't cut it, and that has been OSS for how long now? The UI is a horrible eye bleeding mess, some of the core functions I use either aren't available or seriously mess up my entire workflow, other than the UI looking like the north end of a southbound horse nothing is "in the right spot" in the menus / UI since I have used the "industry standard" Application for 10+ years. And it took YEARS for them to get a single window mode even though user had been screaming for it since day 1. If there was a native port of PS that looks and acts the same as on Windows I would dump the last crusty WinMachine I have in a heartbeat.
To err is human; effective mayhem requires the root password!
Microsoft and Apple corporate structure:
One head chef and 100,000 kitchen hands aspiring to become a head chef.
Linux community structure:
1,000,000 kitchen hands who believe that they can competently carry out the job of the head chef. The end result is that there are too many unproductive kitchen hands wandering in the kitchen.
In plain English:
The job of the CEO is to manage the corporation into making a profit.
It is the job of the subordinates to follow directions.
The computer department be it I.T., programming, servicing, purchasing, etc., are always subservient to corporate management. Computer department management jump and say how high, when told by corporate management, otherwise they will find themselves unemployed.
Venture into the real world of commerce and earning a living. Corporations will use whatever computer equipment required to conduct their business in the most efficient and profitable manner.
Understand the above principle and you will understand that the masses do not care about the operating system or the electronics; the masses want a productive end result.
Until such time that the Linux community organise themselves into a commercially viable alternative, Windows will dominate the desktop market, Apple will be a very profitable niche market and Linux fanbois will just dream that they can compete in an organised corporate environment.
That is why commercial Linux products are sold into the commercial server market.
I really do pity lusers like you. "Come on, I use Linux. Give me a Linux port of PhotoShop!" "Fuck you. You don't matter enough."
Sucks to be you, relying on stuff they won't let you have, and unwilling to make the available alternatives work for you. Boohoo.
"Tongue tied and twisted, just an Earth bound misfit
Well, at least I can install Windows and run the tools to make money. Too bad you can't go and apt-get install social-skills-dev and do some development on your own huh?
To err is human; effective mayhem requires the root password!
I tried the same thing under Linux and first found that there was no package, my distro didn't include it (for JGR was experimental at that time) so I had to use a tarball. ... and was confronted by a load of errors. First from the configure script (it wanted to see certain dependencies, which is good). I was unable to locate the exact *old* library versions (I was off by one or two MINOR version steps). So I edited the configure scripts to use the slightly-off library. Then I go to the compiler, which threw errors about definitions. Went in and solved that. Then when I finally made it to the linker I got a few additional errors.
Downloaded the tarball, did configure and make
It took me 2 whole days to hunt down those very specific version of obscure libraries X,Y and Z that would link. And even then, when everything compiled and gave me an executable, the graphics still wouldn't work.
And this is exactly why 95% of people will never see Linux as a desktop OS. I can relate to everything you said, but I've been in IT for 25+ years... the guy who painted my house, or my friend who works for a lawyer and for the most part uses Office - they don't have the time or the experience/patience to be compiling stuff to make it work. Until Linux has the kind of 'long term stability' of API/ABI's, forget about it being a usable desktop OS for the masses.
Personally, I'm intensely comfortable with the idea that GNU/Linux is a niche OS that will continue to be around in 30 years, while more focused OSes intended for a particular market segment come and go.
Windows 7 still runs DOS apps from the late 1980's.
Sucks to be you, relying on stuff they won't let you have, and unwilling to make the available alternatives work for you. Boohoo.
Well, at least I can install Windows and run the tools to make money. Too bad you can't go and apt-get install social-skills-dev and do some development on your own huh?
That's all you've got? My last big gig was with ExxonMobil, 1.25 a. I was contracted to fix a decade old front facing security ksh script and to help build their "Golden Image" Linux system that they were rolling out to ca. 10,000 sites. Sites, meaning places tanker trucks were refilling.
Hoser.
"Tongue tied and twisted, just an Earth bound misfit
If some old mis-design bugs you enough, add a new interface, but keep the old one.
All of the libraries I mentioned (plus GTK which I forgot) do exactly that during major release numbers. If you compiled your code with QT 2.foo it will work just fine in QT 2.bar unless you hit a bug (which is normally corrected in a subsequent minor release) or were exploiting one (which is your fault).
And those majors versions are available for a LONG time. In fact, they keep supporting the previous major version (even adding more minor versions) long after the next major release has been included in the major distros. The package maintainers (or you if it's closed source) then simply link to the major version. (Hint: if you have QT 4.foo.bar installed, QT will be symlinked to 4 which is simplinked to 4.foo which is simlinked to 4.foo.bar).
1) Which is a DRIVER issue, the application that talks to them remains the same.
2) API's tend to be VERY stable during major releases. Breakage typically only happens between major releases and both releases are usually available AND maintained for quite a while afterwards. Which is better than forcing your users to install old unpatched libraries that haven't been updated in months.
Your point? I'm a proffesional photographer, I make people happy, I'm also the contracted backup engineer for a fortune 500 company branch. That means I'm happy doing my job, you on the other hand type out post that make it sound like if your panties get in any tighter of a bunch you will castrate yourself.
Troll rating:
posts: meh, 2 - trying too hard
content: boring, -1 - even your insults are boring. You almost sound like a Canadian trying to break free of your politeness shackels.
re-readability: 1-shot - droll, boring, and unimaginative. Would not read again.
over all score: 1, yawn - Go back to troll school son.
Overall meme view of your troll attempt: "Son, I am disappoint."
To err is human; effective mayhem requires the root password!
Linux indeed never succeeded much in the traditional home desktop market where Windows and OS X split the market. But, of course, that market is being replaced by tablets and lightweight laptops, and Android (i.e. Linux) is kicking both Apple's and Microsoft's butt there.
The other desktop market is software developers, engineers, scientists, and education. OS X was briefly making some inroads there against UNIX and Linux, but Apple dropped the ball, first discontinuing its servers, then falling further and further behind with its workstations. That professional desktop market is largely split between Windows and Linux, with OS X becoming more and more irrelevant.
It's called "Win32 under Wine". Ancient Windows binaries run fine, ancient Linux binaries are stupidly unusable.
http://rocknerd.co.uk
Tell me again why after one dev puts effort in an open source project he should spend any time helping others piggyback their closed source stuff on it by stabilizing an ABI, which will microsoftize the whole stack (as in tying it irrevocably to some versions/arch/DRM scheme).
Besides, this is not relevant at all, give a stable ABI to desktop linux and vendors will still side with microsoft OR android OR apple whenever possible. Linux, er... GNU/Linux+ABI is better than 100% FOSS GNU/Linux, but windows, android, or osx give even more control to hardware makers, the hardware market is BASED on planned obsolescence.
Desktop linux IS ALREADY successful because free people can use it to have their free software infrastructure. They get it after some amount of effort, but the amount of effort wasted on complying with what the owners of non free infrastructures force on you is comparable. Are free people the 0,00001% of the market? too bad. Too bad for the others.
Do you want to know what linux needs? ask YOURSELF. Do I care about having one GUI win over the others? no. I want features in applications, and possibly more games. Your turn.
So you just turned supporting "Linux" into supporting Ubuntu, RedHat, SuSE, etc.
Unfortunately, that happened a long time ago, and that is a major reason why Linux never really took off as a replacement for windows.
No the so called "Microsoft Tax" is the reason why Linux has difficulty replacing MS Windows because most PC's come with MS Windows pre-installed. Considering that most people would have no idea how to install a distribution of Linux or even a Microsoft OS anyway so they stick to the one that is already installed which, particularly in first world countries that is a Microsoft OS.
There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
...and say the Linux desktop is just fine. What is needed are management apps for users and managers to make their systems work better / more efficiently from an END USER perspective and from an ENTERPRISE MANAGEMENT perspective. Virtually nothing on Linux makes use of LDAP even though it's in every (I think) distribution - I don't mean for single sign-on, I mean for application preferences. Yes, a bit like AD... after all, AD wasn't Microsoft's idea, they were just the company that made the best use of the technology.
But forgetting LDAP, just apps to do simple things like set up your ethernet / internet preferences would go a long way - no distribution I've seen to date will do this simplistic task. And there are two mechanisms within the Linux kernel to do it... iproute2 and ifconfig... one of which you'd never know is deprecated.
Just saying. KDE4, for example, does anything you need a desktop to do and Calligra does just about anything you would need for most offices (picking an example here, folks, don't jump on the desktop). It's a far better experience than * for me, however there are virtually no simple tools for configuring a system included with the desktop... and network manager needs a huge amount of work to be on par with any other OS. Also, all the APT/RPM/YUM graphical front ends I've seen suck... granted I gave up on them years ago and should have another look, what I've seen to date is pretty terrible - even acknowledging that they are far more functional than any other OS versions.
I know that programming OS management tools means targetting an OS and it's boring work compared to making shiny stuff... but c'mon.
Also, Linux needs rock-solid groupware - server and desktop - badly.
...Steve
In fact, FreeBSD has done this the right way, and by preserving ABI compatibility, it ensures that drivers only have to be written once. I'd argue that PC-BSD has the potential of being a lot more suitable for the desktop, since it doesn't have any of those Linux quirks. Just that PC-BSD needs to borrow less from FreeBSD in terms of things like jails, etc and focus more on targeting desktops. A good start would be things like having Wayland on the platform (which is not a priority for FreeBSD, but definitely ought to be one for PC-BSD). Another is to have compatibility layers that enable it to run OS-X applications. Another would be to have a whole legion of device drivers that would probably need to be written just once, since it has ABI compatibility (unlike Linux).
When I was an engineering student, my engineering lab consisted of Apples and Unix. The tool that students use is the tool that they will want to use when they graduate. If Linux was introduced in school then the students will want to use Linux when they graduate. Linux keeps the schools on a cutting edge of technology. Linux also creates a higher level of opportunity when the student graduates.
but does the binary have to run or just work if you configure; make; make install again? right the OSS world assumes that software can be recompiled, and most only needs that. Sometimes it needs a simple patch, but yes breaking ABI isn't really an issue. Breaking an API is much more of one.
If one is talking about Linux on the desktop, nobody should have to do any 'configure && make && make install'. Everything should be packed under whatever the package manager is - .rpm, .deb, .pac, .et al, and a single click should unpack anything, w/o throwing up any dependency errors.
Anyway, the reason the ABI is important is so that drivers written once for one version of a distro, or even better, one version of the Linux kernel, over an ABI, does not have to ever be re-written. The ABI should remain unchange, and if there are changes to the kernel, an ABI compatibility layer should be there b/w drivers and the kernel, so that any such changes are transparent to the drivers. Like others point out, the BSD guys have this done right, but Linux doesn't. It's a different issue that there are far fewer drivers for BSD than for Linux.
First off, OS X did absolutely nothing to linux. The market segments have about a .5% overlap. Fat walleted people spending extra on hardware because its cool doesn't overlap with nerdy people who like editing 15 text files and scrounging drivers and apps from 50 sources to get an OS installed.
I agree with all the points in the article, but have to say they're knee jerk reactions to the major problem: linux on the desktop has no business driver. Its not cheaper, its not significantly better, almost nobody knows how to use or support it compared to the brazillions of people with windows familiarity, and there is no killer app or capability that would motivate people to change to it. Also, almost nobody actually gives a %$#@ about open source. All it is is a hole in the ground where nerds argue over what should and shouldn't be done, most of it with zero business drivers.
People bought the apple ii for visicalc. People abandoned cp/m and went to ms-dos because IBM got behind it, standardized a hardware and operating system platform, and provided service and support for it. People went with windows instead of the technically superior OS/2 because IBM stepped on their dick with it about 47 times until windows had enough inertia that technically superior no longer mattered. OS X failed to take over in corporations because it (like linux) lacks a lot of usable security and enterprise management tools that actually work and can be used by the average IT guy and customer.
Windows may suck in a lot of ways, but I can stick a windows 7 disk into about 90% of the computers made in the last 8 years and have a fully running, working system when I'm done. Every time I install linux, I have to scrounge drivers, load optional software made optional because nobody would agree on making it standard, and edit text files. Then I have an operating system I got for free (instead of $40), which won't run many of the apps I use, isnt familiar to most people, and when it breaks I need help to fix. Oh yeah, anyone tried asking for help on any linux forum of any kind? Whole lotta fun getting told off by the script kiddies.
THATS the problem, not 50 little technical reasons. There simply isn't any clear and beneficial reason for any business (or any individual for that matter) to install it vs windows, unless you have a piece of iron with no OS and can't afford $40.
Are you sure you are talking about ABI compatibility, or are you confusing some other concept with it?
RedHat is neither more nor less self compatible than any other distro that uses linux and glibc.
Rethinking email
Actually, Windows 95 software ran smoothly all the way up to XP. Vista was the point where Windows went 64-bit, and that was where the breakage started. If a 32-bit s/w stops working b'cos the OS has gone 64-bit, I can understand it, if not fully support it. And besides, one could run an XP session in VirtualPC under Windows 7 if one has such apps.
Is that an option in Linux - let's say, you have a software that ran under a previous version, but wont under the current one b'cos multiple variables have changed - your glibc version, your Qt or GTK++ version, your DE version, et al? Can you just fire up KVM/QEMU and run your old software in a VM for that OS? I'm sure the answer is likely yes, but I suspect that that's a very non-standard way of doing things - Linux devs expect people to move everything lock, stock & barrel to the new environment, and sacrificing compatibility in the process.
It would be one thing if there was a compatibility breakage just once or twice b/w a major transition, such as going from 32 bit to 64 bit, or something like that. But having to do that for every minor rev update is a sure way to discourage Linux adaptation on the desktop, no matter how 'free' it is.
You will like GoboLinux. Sadly people dont use it much.
Beein using it for years on my desktop and find it 100 times better than Windows. I laugh at these people who claim they have to "compile source code" to get a Linux distro to work. What is this? 1996? I never compile software. All the software I need is in the Ubuntu repositories, waiting for download.
In Linux distributions, it's not common to release security fixes in shared libraries. Naturally, it's much easier to just install one new package rather that having to recompile and update 50 packages depending on it.
But it's true there's a clear down side to it too.
Commercial stuff is free to provide copies of the libs they need along with the package. Not that we won't bitch that they are provide libXYZ-2.3.4 which has known escalation to root bug FOO, but they could. They can statically link or dlload things. They could also publish something like "Ubuntu 11.10 with updates as of YYY-MM-DD date, Fedora 14 with updates as of YYYY-MM-DD" with that and a RPM and a DEB the distros should be able to make it work.
Heck the nvidia driver seems to work almost all of the time on the newest whatever (not git Xorg-server but well...). Yes I do have to rebuild it when i compile a new kernel, but i wouldn't expect ubuntu users to be doing that often. The ones that do should be able to apt-get it again and have it work. If ubuntu can't that's a failing of apt-get.
All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
Sure it is, or at least should be. Security fixes are backported, otherwise any given RH release does not change.
Business. Numbers. Money. People. Computer World.
That's nice in theory and usually true in practice, but not universally true. While not explicitly the same issue, this bug ( https://bugs.launchpad.net/ubuntu/+source/eclipse/+bug/997461 ) highlights how even a large company like Google doesn't put in the effort to deal the sporatic shifts.
Stable ABI is a complete red herring.
How are you going to make a 386, PPC or Arm ABI compatible?
Even if it was technically possible, ABI stability would be very bad for Linux since it would encourage more binary blobs which make stability and compatibility into a complete nightmare a la windows.
This isn't 1999. You should be using a distro which automatically rebuilds and keeps your dynamic referential integrity.
The posix API has been stable for almost 3 decades, which means software still runs the same without changing a single line of code. Compare that to windows versions that have a long history of breaking APIs due to overwhelming amounts of bad security decisions made in design.
There's no burden on the user, thanks to repositories, packet managers and dependencies.
It is, in fact, less of a burden than with any other system which don't deliver a proper repository systems for software.
In capitalist USA corporations control the government.
And yes, I am speaking as someone who has successfully shipped prebuild binary linux programs. I built them on one system (ubuntu 10.04) and so far they have proven to work on every other system I've tried them on so far.
This. This thread is based on bullshit FUD claims. I also didn't recognize the need to re-compile programs after slight library or even kernel changes from my early Linux years when large number of programs I wanted still needed to be compiled from sources - only proprietary video drivers and vmware kernel drivers after kernel upgrades.
This babbling here is nothing but FUD.
If the penalty for attracting app developers like you is to make it more Android/Windows/iOS like, then please, stay well away for ever.
Amen to that.
In capitalist USA corporations control the government.
I'm, personally, rather glad that new distros keep popping up. I'm glad the world didn't stabilise on Debian or Redhat or Slackware or whatever, since I like Arch. And I'm watching the new Bedrock linux with interest, too.
Same here because I like Debian, I used to like Fedora - formerly known as Red Hat, and I don't know what I will prefer in five years but I do know that not everyone likes Fedora or Debian but something else - and there is likely bound to be a good option for them too available. It's a large part of why people who like Linux like it :)
In capitalist USA corporations control the government.
Because they have different requirements, dipshit.
Also you're completely ignoring the billions of embedded linux devices. Some of those can only loosely be described as distributions, but those people will get very angry if you try to standardize on, well, much of anything.
Servers and desktops frequently diverge at the hardware level. That means that there's lots of stuff in the kernel that isn't used in one configuration. What benefit does it have to try to shoehorn wildly different use-cases into the same package, except that it saves you a little mental activity?
If there were not good reasons for the fragmentation, it wouldn't exist. If it does exist, it's because someone decided it was worth extra effort to change things -- a lot of extra effort. That's called putting your money where your mouth is. Or you could call it having the courage of your convictions. Or you could call it the actions of someone with more than a subconscious parasitic existence, but you wouldn't know much about that so we'll skip the discussion.
If you think the same software should be running on your smartphone, HPC cluster, remote sensor, router, server, and desktop, you may work for Microsoft. You may also be a complete idiot. But, I repeat myself.