Is linux really worth it?
Jan 22, 2005 at 7:05 AM Post #46 of 70
The BSD's are pretty snappy and also happen to be my operating systems of choice. While exotic hardware tends to lack support, the system is good enough for me.
 
Jan 22, 2005 at 2:38 PM Post #47 of 70
Quote:

Originally Posted by Wodgy
Linux needs a good, consistent solution for shared library versioning, at least on par what Windows 3.1 had, or it will remain unusable for many people and a massive, sometimes insurmountable, headache for commercial developers.


Tell me about it. My company struggles with this every day. We probably have more support problems with Linux than all other platforms combined.

Linux is cool, I like it a lot. But Wodgy is right. Unless these binary compatibility problems are solved, it will remain very difficult for commercial developers to support Linux.
 
Jan 22, 2005 at 3:13 PM Post #48 of 70
Quote:

Originally Posted by jamont
Tell me about it. My company struggles with this every day. We probably have more support problems with Linux than all other platforms combined.

Linux is cool, I like it a lot. But Wodgy is right. Unless these binary compatibility problems are solved, it will remain very difficult for commercial developers to support Linux.



That doesn't happen on all distro's. Get Gentoo or Debian. Gentoo compiles EVERYTHING YOU WANT from SOURCE, and that includes the package's dependancies. Debian does a complete binary compilation, and same with all its dep's. Just type "emerge fvwm" or "apt-get install fvwm" and the package "fvwm" will be downloaded, installed, and then the dep's of fvwm will be downloaded and installed.

It's foolproof. You, of course, are using some crappy distribution like Fedora or Mandrake.

What I suggest is either get the Gentoo install done on the Anaconda installer, or install debian (because debian install is quite easy.

Plus, I have never run into compilation errors with binary files. It's almost impossible!
eek.gif


And what's this about commercial developers not supporting Linux?! Why would you WANT COMMERCIAL developers? I hope you folks realize that commercial developers are part of the problem. I would highly recommend you use Linux again, and just to make sure, see if Linux uses free or non-free software
wink.gif
And also make sure you notice the quality is usually beter.
 
Jan 22, 2005 at 5:50 PM Post #49 of 70
Quote:

Originally Posted by Aman
I would stay away from Apple OS's because they seem to be too powerful for their own good - their own low-end G4 laptops cannot run the OS well with ease - which is why I installed Gentoo on it.


I'm using a G3 iBook and it runs OS X Panther smoother than I've seen PCs run Windows. I have no idea what you're talking about.

In terms of snappines of the UI (I mean how fast menus react to clicks, how fast windows resize and minimize, OS 9, and dare I say it -- Linux -- definitely have the edge though. But snappiness isn't everything (as OS X does so many things so much better than either of these OSes), and OS X is slowly getting snappier with each new release.

Too powerful for their own good ,what a strange thing to say.
rolleyes.gif
 
Jan 22, 2005 at 7:11 PM Post #50 of 70
Quote:

Originally Posted by Aman
That doesn't happen on all distro's. Get Gentoo or Debian. Gentoo compiles EVERYTHING YOU WANT from SOURCE, and that includes the package's dependancies. Debian does a complete binary compilation, and same with all its dep's. Just type "emerge fvwm" or "apt-get install fvwm" and the package "fvwm" will be downloaded, installed, and then the dep's of fvwm will be downloaded and installed.


The whole POINT is that there should be NO need AT ALL for package managers. Apple and Microsoft have managed to pull it off, why can the Linux/OSS community? Also, because of Linus Torvald's position on binary compatitibility with kernel modules between kernel version, you pretty much HAVE to distribute the source code for drivers, which, due to NDAs that hardare manufacturers are bound to, is pretty much impossible for a large amount of hardware, leaving the bulk of driver support up to he community.

Quote:

And what's this about commercial developers not supporting Linux?! Why would you WANT COMMERCIAL developers? I hope you folks realize that commercial developers are part of the problem. I would highly recommend you use Linux again, and just to make sure, see if Linux uses free or non-free software
wink.gif
And also make sure you notice the quality is usually beter.


Commercial developers are the reason that computer today are not just the playthings of major universities, large corperations, and rich tinkerers. Having software that is unsupported is simply unacceptable to most companies, no matter how well it is written or how secure it is. If they have a problem they expect someone to fix it, and fix it fast, and I doubt that OSS developers have the time to provide that level of support for their software.

In addition, commercial developers do not "steal" the work of open-source developers, though they may use the same techniques in their software (which is fair because you're letting them look at your source code). If you didn't want them to use the innovations you made then just close the source.
 
Jan 22, 2005 at 7:40 PM Post #51 of 70
geise: if gaming is the main or one of the main uses of your computer, running Linux just doesn't make sense. There are no great Linux games you can't run on Windows. There are a few top-tier games available for both, but huge amounts are missing. You can plug some, but not all, of the gaps with wine or Cedega, but it's a bit ludicrous, because it's a huge pain to get working most of the time and, at best, it's a little bit worse than Windows. It'll never be as good or better. So it's just pointless. IMHO, Cedega / wine are more appropriate for the confirmed Linux user who just wants to play the occasional game and doesn't mind tweaking to get it to work. I actually game a lot but my tastes are obscure, and the stuff I like to play is fine on Linux (Doom via prboom and dosemu, Transport Tycoon with openttd, and a bit of Quake on occasion...)
 
Jan 22, 2005 at 8:23 PM Post #52 of 70
eh, I just wrote two pages of hot air, it's not worth it, and we're way off topic. Wodgy, you are free to have your own opinions, but I stated mine and I'm not going to argue it further; I use Linux and Windows daily and I *like Linux more* in the sense of actually, usefully, using it. That's my perspective, and you can't *argue* me out of it, because I experience it every day. I'm not going to try and argue you out of your perspective either. There are many other people like me (and equally many, or more, unlike me) out there. In response to the original question, unless this thread has thrown up any obvious reasons not to, you should try Linux, because you might find you're like me. If you don't, then you can of course quit using it right away. Nothing lost.

And one point I'll rescue from the rant - aman, please keep away from the distro advocacy. Every single front-line distro these days has a dependency-resolving package manager, even including *Slackware*, for crying out loud. It was a feature that was exclusive to Debian for a short period of time, but that's ancient history, and it never was exclusive to Gentoo. SuSE and Mandrake have both had theirs for at least four years. Fedora's had its (yum) since it was born. It's not even *news* any more, it's just accepted. Whatever distro you like is fine by me; inaccurately badmouthing others is not.
 
Jan 23, 2005 at 1:27 AM Post #53 of 70
Quote:

Originally Posted by Aman
Wodgy: Why would you want me, a linux coder, to meet with other Open Source fanatics to design a "perfect" PIM, when nobody else asks for it? And especially the attitude you give, it would not go well with anybody.


My point was that people, including yourself, are constantly arguing that Linux is better in so many nebulous ways then Windows, but when it comes down to it, they just implement a clone of Outlook. Yes, Evolution had virtual folders eight months before Outlook, but that's it. The rest, including the underlying data model and basic UI, is a pure clone. It is not better or more productive in any meaningful way.

The way to get people to switch to Linux is to offer better, more powerful or usable applications, so there is a real reason to switch. In many cases clones are necessary, and I actually appreciate the effort that went into Evolution, but I would get more excited by new apps. Look at Apple's iCal. It's more primitive than Outlook, but it goes about things in such different ways that some people fall in love with it just for the way it works. Calendar sharing is ridiculously easy for average people, no back end server required, even though it is less powerful than Outlook. It's just a different approach, and this difference can attract people. Gnumeric is good, but it's an Excel clone right now. Granted, its superior numeric accuracy in a few cases is an actual good reason for some people to switch, but why not borrow some ideas from truly innovative spreadsheets like Lotus Improv? Look at Apple's new word processor, Pages. Finally, twenty two years after Word 1.0 (!) we finally get a word processor usable by the masses that does automatic ligatures. Why did it take 22 years? Why is this still not in AbiWord or OpenOffice? LyX is good, but it is not going to convince people to switch (and plus it runs just fine on Windows). Something like TeXShop on OS X may get some people to switch. Finally a version of TeX with real-time document preview, thanks to the speedy display PDF engine on OS X. That one app would personally save me a bucket of time, and is one of the reasons OS X is attractive to me.

Quote:

We don't get paid for what we do - it's completely hobby-based. If you find something wrong with the system, YOU can do it! YOU can get together some buddies and make the perfect PIM, then you will solve the problems of your own and benefit open source.


This attitude is one of the core problems with converting ordinary people over to Linux. Most people just don't have the ability or the time to do this.

(Ironically, I do have the ability. There is a group of people led by Jeff Sonnabend who are working on getting the Ecco source from Netmanage and open-sourcing it. If that happens, I pledge that I'll finally get an OS X machine and get Ecco compiling natively with darWine. That would make me very happy, you have no idea.)

Quote:

And what are you on about, Wodgy? There is a comparable "product" to some of those you mentioned:

Xine is a PERFECT DVD player. There is nothing wrong with it, not a single bug detected in years by me.


Yes, but I was talking about DVD authoring tools, not DVD players. I don't believe Xine can be used for authoring DVDs (creating the interactive menus, arranging the chapters, etc.).

Quote:

We Linux developers offer INCREDIBLE amounts of power, INCREDIBLE amounts of innovation and creativity, and INCREDIBLE amounts of SOPHISTICATED, CLEAN, and BUG-FREE programming. No developer for Microsoft, nor any Microsoft product, can offer you that. Sorry, but considering that there hasn't been ONE open security fault in OpenBSD in the last eight years


Well, you know Theo just likes blowing hot air. OpenBSD hasn't had any remote exploits in the default install. Once you actually enable some of the apps that ship in the OpenBSD distribution, there have been plenty of remote exploits found over the years. There have also been local exploits found in the default install. Theo is just like Stallman, he talks the talk but has trouble walking the walk.
 
Jan 23, 2005 at 1:48 AM Post #54 of 70
Quote:

Originally Posted by Aman
That doesn't happen on all distro's. Get Gentoo or Debian. Gentoo compiles EVERYTHING YOU WANT from SOURCE, and that includes the package's dependancies. Debian does a complete binary compilation, and same with all its dep's. Just type "emerge fvwm" or "apt-get install fvwm" and the package "fvwm" will be downloaded, installed, and then the dep's of fvwm will be downloaded and installed.


This is no solution! It's the craziest, worst kludge around (second only to having to recompile the kernel when installing hardware). End users shouldn't have to compile anything, ever (unless they want to). If the library dependencies problem is so broken that you have to distribute complete source code for everything in order to get truly reliable, consistent behavior, well, the system is obviously poorly thought out.

Commercial developers just can't do this, for obvious reasons. Arguing that they're nuts and they just need to wise up to the open source religion and that the whole legal system for trade secrets needs to change is like arguing we should boil the ocean. It'll never happen.

Quote:

And what's this about commercial developers not supporting Linux?! Why would you WANT COMMERCIAL developers? I hope you folks realize that commercial developers are part of the problem. I would highly recommend you use Linux again, and just to make sure, see if Linux uses free or non-free software
wink.gif
And also make sure you notice the quality is usually beter.


Because I want a damn outliner! Look at all the software for OS X. I want stuff like that. Open source developers just don't care about the same kinds of applications commercial developers do. The open source guys keep releasing window manager after window manager. I don't need that. I need to get real work done. I don't really care about the open source religion. I just need an outliner.

Plus, commercial developers bring levels of commitment, coordination, and design to a project that open-source developers working on their own can rarely match. Computer people working alone are often are too individualistic, lack group and social skills, and have trouble working together when they don't get their way. Every time a project forks because of a disagreement, or a project developer leaves to pursue some new flight of fancy (e.g. Miguel de Icaza stopping work on Gnumeric to work on Mono), the project's energy gets diluted.

Face it, almost all the large-scale Linux applications that have been successful have had commercial money funding a core set of developers and overall designers. Firefox and Thunderbird never would have happened without AOL and then later the Mozilla foundation coordinating the efforts, providing infrastructure, and paying a few key developers. Same with Evolution. Same with OpenOffice. Same with Nautilus.

Commercial developers are good at harnessing energy and directing it. That's why Linux needs them. Right now, Linux just makes life too hard for commercial developers, for all the reasons I've already enumerated. Even though OS X likely has fewer users, there's a ton of really high quality commercial stuff available for OS X. It's almost unbelievable really. (Check out the three links I gave earlier to various OS X outliners; each has a unique approach and each offers some features you cannot find in Windows outliners.) Linux needs to create some of that positive energy, not drive it away.
 
Jan 29, 2005 at 4:08 AM Post #55 of 70
Hope ya'll don't mind me dragging this up... saw it in the 'What OS do you use?' thread and found it quite interesting. I'm just going to state my opinions on the main topics discussed here; entirely too much stuff to start quoting.

First, for commercial support. Red Hat, SuSE, and others have had tech support for years. Heck, you can even get a 24/7 personal hotline if you want. Yes, you have to pay for it (although you usually get a year of free support if you buy the distro), this is no different than Microsoft. Last I checked, they charge $35 per incident (yes, I know, two free calls per product...). This is on top of the $150-$400 you're paying for the OS. Corporate support packages are even more expensive; ranging from the $10-$20K/year, I believe. Finally, why would a corporation need tech support if they've got a decent sysadmin?

On upgrading OS/Kernels...I still think the 'Upgrade' Windows version is ludicrous. You want me to pay $150 for a cored-down version of a bloated OS that I have to install over the top of a previous one? Yeah, that makes sense. Especially when upgrading your kernel these days has gotten so easy with any GUI package manager you just click 'Next' until done. At the very worst, you'd have to manually download the kernel and edit your bootloader. Unless you're compiling it, but then, normal users don't do that. Even without a GUI, emerge, apt-get, or what-have-you will fetch it all for you and edit the files. You say this is difficult, and too much to expect from a user. How is this more difficult than having to deal with upgrading your entire OS, and possibly risking losing all your data? Upgrade a kernel, even if it doesn't boot, no problem. Boot the old one and figure out where you went wrong. Upgrade Windows, it doesn't boot, time to format and reload. Or, of course, load a Linux Live CD and backup your data
biggrin.gif


As for package management, I don't see how you view Linux's method as a kludge. Windows is more of a kludge than Linux when it comes to installing and removing programs. Ever taken a look around the registry after unstalling something? 99% of the time, it leaves crap behind. Even Microsoft products. When you remove a package using a half-way decent manager with Linux, it takes everything away.

Finally, on productivity. I'm much more productive in Linux than I am in Windows. From the little things like tab-completion, to things like program stability and speed. (I've had Word crash or slow to a halt too many times, and OpenOffice on Windows is a bit large. AbiSuite is showing promise, though)

There's also the fact that I don't bother to set up my Windows games under Wine, so I don't have HL2 or what-have-you to tempt me
biggrin.gif
 
Jan 29, 2005 at 6:02 AM Post #56 of 70
Quote:

Originally Posted by Stephonovich
Hope ya'll don't mind me dragging this up... saw it in the 'What OS do you use?' thread and found it quite interesting. I'm just going to state my opinions on the main topics discussed here; entirely too much stuff to start quoting.

First, for commercial support. Red Hat, SuSE, and others have had tech support for years. Heck, you can even get a 24/7 personal hotline if you want. Yes, you have to pay for it (although you usually get a year of free support if you buy the distro), this is no different than Microsoft. Last I checked, they charge $35 per incident (yes, I know, two free calls per product...). This is on top of the $150-$400 you're paying for the OS. Corporate support packages are even more expensive; ranging from the $10-$20K/year, I believe. Finally, why would a corporation need tech support if they've got a decent sysadmin?

On upgrading OS/Kernels...I still think the 'Upgrade' Windows version is ludicrous. You want me to pay $150 for a cored-down version of a bloated OS that I have to install over the top of a previous one? Yeah, that makes sense. Especially when upgrading your kernel these days has gotten so easy with any GUI package manager you just click 'Next' until done. At the very worst, you'd have to manually download the kernel and edit your bootloader. Unless you're compiling it, but then, normal users don't do that. Even without a GUI, emerge, apt-get, or what-have-you will fetch it all for you and edit the files. You say this is difficult, and too much to expect from a user. How is this more difficult than having to deal with upgrading your entire OS, and possibly risking losing all your data? Upgrade a kernel, even if it doesn't boot, no problem. Boot the old one and figure out where you went wrong. Upgrade Windows, it doesn't boot, time to format and reload. Or, of course, load a Linux Live CD and backup your data
biggrin.gif


As for package management, I don't see how you view Linux's method as a kludge. Windows is more of a kludge than Linux when it comes to installing and removing programs. Ever taken a look around the registry after unstalling something? 99% of the time, it leaves crap behind. Even Microsoft products. When you remove a package using a half-way decent manager with Linux, it takes everything away.

Finally, on productivity. I'm much more productive in Linux than I am in Windows. From the little things like tab-completion, to things like program stability and speed. (I've had Word crash or slow to a halt too many times, and OpenOffice on Windows is a bit large. AbiSuite is showing promise, though)

There's also the fact that I don't bother to set up my Windows games under Wine, so I don't have HL2 or what-have-you to tempt me
biggrin.gif



Made some very good points, all of which I may not have to echo to make my point
smily_headphones1.gif


Wodgy: That's not a bad attitude, to ask you to do something. The entire point of open source is for you to share what YOU want with the world. If not, then you'll just have to wait, just like how you have to wait for four years to get a sensible security update (however, four years too late!), which just will lead to more problems in the future such as program compatability errors, MORE exploits, and lesser performance. Hell, try running a DOS program in Windows XP/Longhorn. If I wanted to, I could run a simple calculator program for UNIX from the seventies if I had the source for it. Try doing that in Windows... zero backwards compatability, very limited forward compatability.

If I saw more demand for a media player, I'd consider helping out in making one. However, we aren't getting them. The latest reports are showing that people are interested in user-friendliness right now, and not media-player powerhouses.

I would be willing to do what you say, and I agree that it'd be the best possible thing to get more people involved. However, what you must realize is that we will not spend our limited time (we put a lot of work into this stuff) into something that nobody wants.

If people want easier package management and a better repository, we give them that.

However we are makign advances. Evolution just came out, if you're familiar with Enlightenment.. a DVD player can be written in the Evolution libs in under ten lines. Simplicity of code is coming, and so is ease of compatability.

Seriously though, when you try to make a program with the same features/concepts as iMovie, you can tell me how difficult it is... that's right: VERY difficult.

By the way, we're half there: ARTS is a fantastic little synthesizing program for audio, and there are plenty of nice digital audio applications from recording to editing... and we still support every computer device and chipset out there. EVERY one.

Mr. Radar: Your whole concept of Linux is flawed. That is not the point at all. I don't know what else I could add to that...
 
Jan 29, 2005 at 6:48 AM Post #57 of 70
None of these were really directed at me, but I'm bored, and figured I'd comment anyway.

Quote:

Originally Posted by Aman
Hell, try running a DOS program in Windows XP/Longhorn. If I wanted to, I could run a simple calculator program for UNIX from the seventies if I had the source for it. Try doing that in Windows... zero backwards compatability, very limited forward compatability.


This is another one of the areas where I feel Linux shines. I, for one, love old DOS games. Commander Keen, Crystal Caves, and old consoles. For consoles, at least the emulators run on 2K/XP, so that's not an issue. But for true DOS games, you have to get DOSbox, which doesn't even work some of the time. Windows code has changed so dramatically from 3.1-9x-NT that it's no wonder it's so crash prone. They just keep building on the previous versions, never actually fixing the problems. Linux builds on previous versions as well, but they've also created an extremely stable kernel, have rigorous testing before any patch is allowed into the tree (with some distros going even further - the fact that quite a few still default to the 2.4 kernel at install speaks for this), and it shows. What other OS can you run on PCs, Macs, Sun, Alpha, SGI, PDAs (PocketPC included), Xbox...? And what's more, be 100% customized for that particular base, and run without slowdowns or bugs due to porting?

Quote:

Mr. Radar: Your whole concept of Linux is flawed. That is not the point at all. I don't know what else I could add to that...


Indeed. Comments like "My opinion on Linux is that it's perfect if you like to tinker with your computer constantly, however for general desktop use Windows is easier, if you keep it up to date and put a little effort into security and maintainence." and "The whole POINT is that there should be NO need AT ALL for package managers. Apple and Microsoft have managed to pull it off, why can the Linux/OSS community?" are leaving me rather puzzled, quite frankly. Linux does not require constant tinkering if you don't want to; major distros like Red Hat, Mandrake, and SUSE have proven this. They have all the automatic patching features Windows users have come to expect, and what's more, they check your system for any possible incompatibilities with already installed packages/versions. Do you recall the massive list Microsoft released after hordes of angry SP2 users demanded to know why applicationX wouldn't work? And yet they 'just work', eh? Hmm... as for no package managers in Windows/Mac, yes, you're right. They've forced the software developers to make their own installation programs, which creates even more of a hell. Sometimes they work, sometimes they don't. In extreme cases, they crash your system. And they almost always, without fail, leave behind bits and pieces in the registry (for Windows, anyway) and system folders. With Linux, you can either use your distro's package manager, or run ./configure && make and be done with it. It'll look at your system, figure out what you have installed, warn you if you need anything (again, if you were using the package manager, it'd take care of all the dependencies for you), and quietly install itself. If it encounters an error, it tells you what file, what line, and what log to look at. Windows error messages are so cryptic and vague they're about useless. I don't want a hex number I have to Google and then spend 10 minutes searching forums, I want to know what file crashed so I can fix it.
 
Jan 29, 2005 at 8:39 AM Post #58 of 70
I totally disagree about the negative slant on package managers. However I may be biased in using the Ubuntu package manager which is really just based on the Debian one, which despite being behind in the latest and greatest (which does not always apply as much with Ubuntu), carries a high reputation.

The truth is Windows DOES have a package manager albeit a very crappy one. It is basically just a list of links to third party app installers...its called Add/Remove programs. The Ubuntu or Debian counterpart is more like a Client Server approach to Add/Remove/Update instead of just a bunch of links to third party installs there is definitely actually *more* standardization, not less. Under windows it can be any version of Installshield, Wise, or whatever exe you want actually. Likewise to upgrade apps in Windows you either need to do windows update, or office update, or an individual app update like Acrobat or Visual Studio. With the package manager you can update your OS and Apps with a single command line or a few clicks of the mouse.

So for those asking why Linux needs klunky package managers are deluding yourself because Windows already has one...it is just so far behind that you never recognized it as really being anything to be worth mentioning. There is really no debate or contest, the Client Server/Repository package manager is far ahead of what Windows has to offer with a list of easily broken links to third party non-uniform installers/uninstallers. I find it funny that people are asking why Linux needs a package manager, when I ask myself why on earth Windows doesn't get up to speed in those regards. What requires more fiddling and wasted time...updating and installing/uninstalling apps independently or with a single command line. Just think windows update or office update, but far superior in stability, ease of use, and options. Lets see I just got through updating Firefox, updating newer versions of gstreamer (i.e. media player), and a bunch of other stuff I didn't really need to pay much attention to without having to go through 5 splash or dialog screens of uninstall/install and clicking Next 5 times on each.

And you can easily install things without requiring a distro specific package. I just installed Sun's latest JDK + Netbeans and the only specification was that it was for Linux...not Debian Linux, not Gentoo, not Redhat, not Ubuntu...just Linux. The install worked perfectly, faster than with XP, and the whole IDE for that matter is faster and stable, and not a little faster...a LOT faster.
 
Jan 29, 2005 at 11:38 AM Post #59 of 70
You guys just don't grasp the core reason why package managers are necessary in Linux and completely optional on every other modern operating system, from OS2 Warp to NeXtStep to Windows to Mac OS X.

Package managers solve a number of problems, some of which are analogous to installers on Windows, but the core reason package managers are necessary is because the library versioning system and the dependencies system on Linux is totally unmanageable. Not just by normal people, but by most people unless they have a lot of time on their hands.

On every other modern operating system, it's possible to distribute generic binaries that just install. Not so on Linux. You need binaries specifically compiled for your specific distribution, with appropriate configuration files telling the app where to find things on this particular distribution. The binaries must have been compiled very recently, or the chances that something will break is very high. Thus, commercial vendors more or less have to release a different package customized to every Linux distribution they want to support. This is ludicrous. It is also the main reason why the package management concept exists. Everything else is secondary.

One of the real reasons people hunt around installing a dozen distributions is because they want one that offers all the packages they need. This was mentioned in the members lounge thread. Why is this even important? Because it's a royal pain in the ass to install stuff on Linux if you don't have packages customized to your specific distribution!

Consider the example of a Haskell compiler I tried to install on Linux a while ago. I had to use this specific Haskell compiler because I needed to use a library developed for that compiler by a grad student in the Netherlands who had since moved on. The compiler was no longer maintained, but was available in both source form and as a set of binaries compiled for an ancient version of Red Hat.

I had a modern Red Hat installation. Tried to get the binaries running. Didn't work. The binaries had been compiled against an older, incompatible version of glibc. Damn. There were also probably other obsolete dependencies.

Okay, so the binaries didn't work. So I tried compiling the source. Tons of errors because the source itself referenced functions from the old glibc. The configuration file didn't help. Spent half the afternoon trying to update the source. Realized I was going to waste several days doing this.

In the end, I just hunted down an ancient version of Red Hat, installed it, and installed the compiler on that.

Now, consider what would have happened on Windows. Even if the compiler binaries were ten years old and so obsolete that they had been compiled for Windows 3.1, they would have still run under Windows XP. No need to recompile from source. Just run the binaries and they work. The vast majority of Windows 3.1 applications run without a hitch on Windows XP.

Compare this to the Linux situation, where the binaries were about two years old and they already wouldn't run on a modern distribution.

On a day to day basis, I use a commercial program called Ecco Pro that was last updated in 1997. It's eight years old now, compiled for Windows 95, and it runs perfectly on XP. I'm willing to bet you that you cannot find a single Linux binary from eight years ago that runs on current distributions. Even dead simple text-based POSIX-conformant programs will not run without dicking around with obtaining and configuring an older version of glibc.

(Not to mention, I know plenty of people who still run Lotus Agenda, a DOS program from 1991 with no modern counterpart. It is rumored that compatibility for such apps may break in Longhorn, but 15 years of binary compatibility is exceptional, and DOS programs run fine in DOSbox anyway, so Microsoft is hurting no one by finally breaking compatibility.)

The core problem here is that Linux breaks compatibility with older apps with virtually every major library and distribution change, which is why you cannot distribute a single binary and have it work reliably across all distributions and often across new versions of the same distribution.

Sometimes, you even need to distribute different binaries depending on the hardware drivers that people are using! Witness someone in the Members' Lounge complaining that he needed a different version of X.org for his Radeon 9700. This is truly dependency hell, and package managers are just a band aid.

Linux could have dealt with application compatibility it two ways:
  • institute a binary compatibility scheme similar to other modern operating systems
  • punt on the problem and push the responsibility for compatibility down to "package" maintainers.
Linux chose the latter because it was easier, required less discipline, and because the sources for most applications are available... but in the real world, this is no solution at all, because the sources are often not available. And even if old sources are available, the effort it will take to get them up to snuff is usually just not practical for nontechnical people.

In the real world, commercial developers need to release binaries that work consistently across multiple distributions. Users need to be able to just install stuff. Programs shouldn't have to be "packaged" first. Package management should be optional, not mandatory. It doesn't do any good to stick your head in the sand and deny this problem exists. It's a major hurdle for application developers and end users, and a huge waste of time for the package maintainers.

Linux will never hit the mainstream until people can just distribute binaries and have them work on any reasonable generic distribution and be confident that these binaries will still run two years from now. This is true of almost every other major operating system, including some Unix-based ones such as NeXtStep.
 
Jan 29, 2005 at 12:21 PM Post #60 of 70
Although i don't use linux atm I believe that none of the linux like operating systems are backwards compatible like windows is. Linux was never meant to be a "binary system" as far as i know. I consider this a strong point, because that kind of backwards compatibility will not increase performance. If you want to have a system that still runs binaries after a few years then linux will probably never right for you.

Madman2003.
 

Users who are viewing this thread

Back
Top