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."
No, UNIX is the umbrella. Linux is a kernel under that umbrella. OSX is an OS under the umbrella. Stop trying to rewrite computing history.
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."
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.
If it's "all about the kernel", then why would you include OS X (which does not use a linux kernel) with the things we call "Linux", which do?
here's a thought: educate yourself on a topic before speaking about it.
-Lod
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.
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.
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.
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
OSX is not Linux. It is a UNIX (i.e. BSD-derived in this case), while Linux is UNIX-like, i.e. a clean (sort of) room re-implementation.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
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.
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.
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.)
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.
There is no argument, you are simply wrong. OS X does not use a Linux kernel.
-Lod
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.
Linux on the desktop hasn't happened for one reason, and one reason only: Linux is fractured. There are several desktops, window managers, package systems, even kernels. This isn't the case with OS X or Windows, where you have a single API and standard to develop for. No commercial developer is going to write software for a chameleon operating system with a half dozen desktop packages.The same thing that caused Linux to take off with hobbyists and adapt so well to the server room is the same thing that will prevent it from ever being a major desktop OS: choice to the extent of almost chaotic proportions. Apple in particular succeeded because they in fact limited choices in some spheres for the sake of consistency and unity. And it worked for them.
Everytime the Unix community... Linux included... has tried to bring things together into a single standard of some kind, the result has either been something that looks like it was put together by committee *cough*CDE*cough* or lots of end users went "Nope, I'm gonna fork it", and produced so many variants that one standard never catches on.
There will never be a "Year of the Linux Desktop" because there will never be a single Linux.
Life is hard, and the world is cruel
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.
That is SO last month!
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.
Chaos - everything, everywhere, everywhen
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.
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
Ad hominem much? You know, it really takes away from the power of your argument... So do typos/grammos.
No. What he said is pretty much true. Mac OS-X uses a heavily modified BSD kernel. It is 100% not Linux. Also, I don't see anything wrong with suggesting somebody check their facts before posting. Saying something is ad hominem doesn't make it so.
Attempting to discredit somebody's point by criticizing their grammatical and spelling errors is, however, ad hominem.
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.
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?
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.
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.
Gee, I use the former system and I'm a member of the latter group. The devices on my "desktop" (really laptop) machine don't change often enough that the absence of something as general as udev doesn't matter, and there aren't that many tasks that need to be done periodically for me to bother firing up crontab, and the other shell-script stuff I just do directly from a terminal window rather than binding it to keyboard shortcuts in the GUI (I assume those are the "keyboard shortcuts" to which you're referring). Then again, a lot of the scripts I whip up on the spot to perform a task that I'm unlikely ever to need again, so I just stuff it in /tmp and run it from there, e.g. in a find ... -exec command.
So stop that nonsensical propaganda!
Yes, please do.
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.
Now THAT's a proper ad hominem.
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.
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
Mac is certified, official Unix. (from your opengroup link)
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
I've used RPM, Deb, and Portage systems. They all suffer the same fundamental issues: library upgrade issues, dependency issues, and overall system upgrades being needed at some point. Each one of those, let alone as a group, represent an aspect of frailness that leaves very little room for manual or any other sort of recovery if something goes wrong. And the robustness issue is precisely because FOSS is far from spectacular when it comes to dealing with error cases, like say a random power outage.
The hibernate issue, I would note, would have been a lousy stop gap solution, so even if it worked flawlessly, it'd solve nothing of the robustness issues. Having said that, it's pretty ridiculous that hibernation is such a massive issue given that 99% of it is a software issue (dump memory and needed drivers to disk, shutdown, reload memory and needed drivers, restart drivers, resume). Sure, there'd be all sorts of minor hiccups (like broken network connections), but the fact that hibernate fails as a more fundamental level--like when you start including encrypted swap or an encrypted hibernation file--and just fails to boot real reeks of fundamentally bad design at some level. I'm not saying the fix is trivial, but I'm not inclined to do the work more because I don't want to power cycle my computer to death in testing.
As for the wifi issue, the real problem is the driver disappearing which has happened repeatedly in the Linux world. Consider how OSS has been mostly dropped in most distros. Wifi issues is only a more poignant example because it fundamental blocks finding a resolution; other stuff, like having to use VESA to get a working accelerated graphics driver, allow one to at least progress to the point of correcting the latest disto or kernel change. Of course, it all comes down to maintainers keeping track of every change to drivers in the system and using those as a dependency trail. The only reason most distros do better with library ABI breakage is they have to do all the recompiling themselves and hence see the issues start popping up. But that can still mean a period with something broken.
Eurohacker European paranoia, gun rights, and h
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?
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.
One of the biggest reasons that Linux hasn't made it on the desktop is poor Video Game Support!
Maybe it was a concern 10+ years ago when if you wanted to play the latest Doom you had to have a PC. But things changed, starting with PS3 and ending with a number of other usable consoles. I got PS3 here, for example, and a bunch of games on BlueRay disks for it. Since then I stopped playing on a PC, except a few old games that I care to remember now and then.
But I don't run Linux on my desktop - even though I'm well aware of Linux and I run it on a few servers here and elsewhere. I simply have zero reason to do so. The Windows tax, about $50, is paid at the time of purchase of a box, and I cannot imagine suing MS to get it back. Besides Win7 is pretty good as it is. IMO Win7 is better than a typical Linux distrubution. All the software is available for it; most of it is free enough. As the geeks get older they also get richer, and they value their time more than money; they learn that the money can be earned, but the time cannot. If a piece of software costs $100 (say, Quicken) and takes 5 minutes to get from nothing to a fully functioning system it is better than to spend $0 and waste weeks trying to cobble together a comparable solution. (Comparable? With WebConnect? Hard to believe; I haven't checked on GnuCash recently, though.)
So why in the world would a generic, average user want to use Linux? What are the advantages? In some cases I can understand that Linux can be easier to administer remotely, like when you are building a computer for your grandparents. But VNC is an option on Windows as well. Resistance to viruses? Perhaps - until a virus for Linux shows up. Anything else that a common man would care about? Something for what a common man would wipe his $50 investment clean and install Linux? I don't see a convincing reason to switch at all. Microsoft was wise enough to hide its tax well; on top of that if you go to Fry's and look at a computer with Linux, the price is the same - the money just goes not to MS but to the place where that Linux box was assembled. The customer does not feel a difference price-wise, but he feels a lot of difference usability-wise. That's why Linux on desktop is going nowhere; MS wares are cheap enough and good enough. Some even say that they are better than Linux (see above) but that may end with release of Win8.
This is also the reason why Linux on servers is alive and well. MS charges a lot of money for even an entry level server ($800 for a Small Business Server, IIRC) - this money will buy you a lot of stuff if you don't care about windows-specific functions like the domain controller or SharePoint services. Apache is even easier to configure than the IIS. Still, many businesses buy into SBS just to get MS Exchange.
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.
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.
Believe it or not, that used to be Ubuntu. Back 8 or 10 years ago, there were all these distributions that offered 'choice!' by loading the biggest Gnome or KDE desktop crammed to the gills with EVERY and I mean EVERY app that was available. Stable, beta, working or not. You opened a panel and there were 17 calculators to choose from, 23 IRC clients, about 15 web browsers, 7 different terminal apps... you get the idea. Most of it was half-broken shit.
The beauty of Ubuntu in the beginning (I thought) was that they cut out all of that. You got a nice, slick installer that installed Debian Unstable (which we'd all known for years was fine for everyday use) with a slick graphical installer. You booted up to a nicely themed Gnome desktop with only the best ONE of each type of application installed. They were smart about choosing what apps to include by default, and I felt that their choices resonated very closely with experienced linux users who generally all agreed on the best app for a particular usage. The whole Debian repository was mirrored and available, but you didn't have to dig through a bunch of crap to find the stuff that you most likely would have chosen to install yourself. Configs were all clicky-clicky, but all your fave debian cli tools like aptitude still worked as expected.
I really thought that Ubuntu was going to become the polished distro that brought Year Of The Linux Desktop(tm) from fantasy to reality. I still think that they had a real chance to pull that off. (At least up until about 8.0, then it started to get weird).
My $0.02 plus tax.
do() || do_not();
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.
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
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.
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.
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.
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.
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!
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.
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.
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.
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?
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 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.
Comment removed based on user account deletion