Slashdot Mirror


The Importance of OS Backwards Compatibility

gbjbaanb writes "Raymond Chen (of ancient Microsoft heritage) has a blog where he describes some of the things he's worked on, as well as oddments of obscure code and design decisions in Windows. Regardless of what anyone thinks of Windows, it is informative and often thought-provoking. Recently, Raymond posted an entry about backwards compatibility, and why it is such a big deal for large corporations. Something that I have read about on Slashdot regularly (where Windows is criticized for bothering with it at all), I thought readers would be interested in exactly why Microsoft spends so much effort on backwards compatibility, and by inference, why it is an important topic for getting Linux adopted by big business."

8 of 380 comments (clear)

  1. Linux fall very short on backwards compatiblity by InsaneProcessor · · Score: 5, Insightful

    I am still working on 2.4 to 2.6 kernel issues. Linux and it's authors have no concept of backwards compatiblity. We have to redo everything and our purchased software suffers even more.

    --

    Athiesm is a religion like not collecting stamps is a hobby.
  2. Huh? by Salvance · · Score: 5, Insightful

    Something's not right with these links ... is someone just trying to /. their own blog here or am I being redirected? The first link is completely off topic and goes to a post about SoftMac (a Mac emulator), the second is just an example of how one company has 9000 legacy scripts that require older version of windows (+ 400 16 bit programs). So what? This hardly seems like the a front page of slashdot argument for OS Backwards Compatibility ... there's really no argument other than stating the 9000 # and the 3 years it would take to convert them.

    Pure and simple, Microsoft has protected their market share by remaining backwards compatible, and will continue to do so for that reason only. A company like Apple can afford to ignore backwards compatibility to some extent, as this actually drives greater revenue from their loyal customer base buying new software. Microsoft though, cannot afford to give their corporate users a chance to make a migration decision.

    If Microsoft eliminated backwards compatibility, thousands of companies would be in a position where they needed to include the cost of migrating software in the upgrade decision. All of a sudden, Linux would become a viable option for these corporate clients, which Microsoft can't afford. For example, my company currently has over 900 16 bit applications that we haven't touched in ~10 years. Almost all of these run fine under XP and the beta versions of Vista, so upgrading to Vista will be a cheap option. However, if Vista didn't support these 16 bit apps, we'd have to spend years of time and Millions of dollars upgrading ... in this case Linux would likely become our new O/S.

    For this reason, Linux advocates (and many others) would love to see Microsoft remove backwards compatibility, but from a business standpoint Microsoft just can't do it.

    --
    Crack - Free with every butt and set of boobs
  3. Re:Omelette? by CockMonster · · Score: 5, Insightful

    no point breaking eggs if no-one will be able to eat your omelette

  4. With open source the same problem exists by PadRacerExtreme · · Score: 5, Insightful
    Not true at all. All that has to happen is have a supporting library change and the code doesn't work. Two examples:

    I am looking into a problem we have here where my software works fine with GD 2.0.23. If I upgrade GD to 2.0.28 (compiling from source, not using binaries) my code stops working. Everything compiles fine. Everything links fine. Just doesn't work.

    Look at the FOX toolkit. The interface completely changed from 1.X to 2.X. No backwards compatibility. I need to re-write all of my source to handle the new interface.

    --
    Just remember - if the world didn't suck, we would all fall off.
    1. Re:With open source the same problem exists by mha · · Score: 5, Insightful
      So don't upgrade major versions.


      Not possible - no one supports that old version. If there are any important fixes (not just security, anything) they are always for the latest version. Open source people don't bother supporting older versions... ;-)

      It's also open-source, so you're free to keep your own development and bug fixes going if you can fund it yourself.


      This argument isn't even worth refuting, it's so obviously childish.
  5. Re:I admit to have not RTFA, but by abigor · · Score: 5, Insightful

    "For MS, backwards compatibility is delusional lip service - but that is what IT managers like, after all."

    Er, have you ever worked in software or IT? Microsoft place the highest emphasis on backwards compatibility, running 16 bit software in virtual machines and 32 bit software natively. I'll ignore your inane comment about IT management, since you sound like you're just making stuff up anyway.

    Can you explain the precise mechanism of this Unix binary backwards compatibility you're talking about? I work with Linux every day and have since 1998. I'm pretty sure if I grabbed a version of, say, Postgresql from those days and tried to launch it now, it wouldn't work, nor would it even compile. Same with any gui desktop app or driver. I haven't worked a lot with AIX or HP-UX since the '90s, but I'd be pretty surprised if a CDE app from 10 years ago just fired up without any problems.

  6. Re:With open source ... by archaic0 · · Score: 5, Insightful

    You're sort of missing the point here though. This statement is pretty common in the Linux world... "all you have to do is recompile..." ALL you have to do? Really? All I have to do is re-compile? Assuming I have the proper kernel to begin with, and the proper libraries, along with all their dependencies... I just want to run a program man, I don't want to become a programmer just to use my computer. (90% of office workers speaking, I.T. specific roles excluded)

    The truth is that compiling a program (under ANY platform) IS rocket science level stuff as far as computers are concerned. Yes, a programmer does it in his sleep (as do most Linux daily users). But Joe CEO and Jack employee can click next all day but the moment he has to type ./configure or ./make or whatever, his eyes will glaze over and he'd rather spend a million dollars on a setup wizard app than have to go to school just to learn how to install a free app. Not to mention the fact that 6 times out of 10, you'll get an error and have to track down what went wrong and fix something before you can attempt to compile again.

    Compiling source to a binary IS complex stuff despite what any mainstream Linux supporters might think. And having to re-compile something EVER, WILL keep it from being accepted main stream.

    I've even heard people say "well all ya gotta do is just make your own kernel and there ya go, piece of cake". As easy as that might sound for the Linux guru, that is exactly equal to telling a driver to build their own car. Plenty of mechanics out there that can do it, yes, but EVERYONE isn't a mechanic nor should they be. People who build their own kernels and compile software are the mechanics of the computer world and shouldn't expect all computer users to be mechanics.

    I for one do not ever want my bosses to be as 'smart' as us I.T. guys are. Why then would they have any use for me if THEY know how to compile a kernel? If the world was so enlightened as some people seem to want it to be, then a lot of people would be without jobs because their skills wouldn't be needed.

    Don't get me wrong though, I'm not saying one way is the end all better way, I'm just saying that as long as the corporate world is run by people who just 'want it to work' (which will be forever) software that requires the user to do the programmers job will not fly. All my servers are Linux servers, but that's only because myself and the other techs here are skilled at making them work. I wouldn't DREAM of putting Linux on our desktops. Are you crazy?! Will YOU then be the one who baby sit every soccer mom who comes to work for us and teach them how to use it for free?

    If products could be packaged such that they get compiled during install, but in the background with the user being none the wiser, then it might fly. Like say your installer went out and did all the work on its own of gathering the required libraries while the user only ever saw a wizard with a next button.

    My two cents, take it or leave it...

    --
    [ http://www.dvigroup.net/self ] ...where I keep my pennies and nickels...
  7. Backwards compatiblity by Savage-Rabbit · · Score: 5, Insightful

    With Free/Open Source Software, you are free to upgrade the applications with the OS, and it's the distros' business to make it work.

    In an enterprise Environment isn't always as simple as upgrading to the latest bleeding edge Linux, downloading the newest software versions, compiling, installing, uploading your configs and scripts and everything works flawlessly. That's the point TFA was making. Unless your distro is 100% backwards compatible (ok, 90% compatible, there are always problems) back to, say... the 2.2 kernel many corporations won't take Linux seriously as a solution because the cost of debugging the problems that accompany each upgrade because of broken compatibility issues would be prohibitive. Today some Enterprise grade Linux distro's offer this kind of a guarantee, at least up to a point. So if you have ever wondered why people shell out all that money for RedHat SuSE and Co and their Enterprise quality distributions when they can download Slackware for free, that's **one** of the reasons why. While they may not be on the bleeding edge technologically or perform as well some other distributions, the stability and continuity these Enterprise distros offer reduces costs appreciably.

    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow