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."

75 of 380 comments (clear)

  1. Omelette? by caluml · · Score: 3, Insightful

    You've got to break a few eggs to make an omelette, I always say.
    For a tasty omelette, add cheese, tabasco sauce, and ground black pepper.

    1. Re:Omelette? by CockMonster · · Score: 5, Insightful

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

    2. Re:Omelette? by Monokeros · · Score: 4, Funny

      (+1 Yum.)

      --
      The Statue of Liberty is America's lawn jockey.
    3. Re:Omelette? by thc69 · · Score: 2, Funny

      Maybe they were 16 bit ISA analogy moderators. The PCI analogy bus is 32 bits and not backwards compatible...

      --
      Procrastination -- because good things come to those who wait.
  2. 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.
    1. Re:Linux fall very short on backwards compatiblity by Anonymous Coward · · Score: 2, Insightful

      The fact that most software found on a typical Linux install has source available only mitigates the backwardly-incompatibility. In the same way that Internet Explorer vulnerabilities are mitigated by "the attacker must trick the user to visit a web page". Sure it helps, but... not really.

  3. 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
    1. Re:Huh? by blindd0t · · Score: 3, Interesting

      Just know that while your 16 bit apps will run under Vista, but this is only true for the 32bit version of Vista, as your programs will always fail to run in the 64bit version... This may not be a big deal now, but it could become a problem as 64bit processing becomes more common.

    2. Re:Huh? by TheThiefMaster · · Score: 4, Interesting

      Then why upgrade the machines running the legacy apps / scripts at all? It's not like the older versions of windows don't run fine. Making sure they're not connected to the internet is all you need to do to make them secure, or if that's not viable then heavily restrict their access with a firewall (preferably hardware). After all, why should a weather data sensing and reporting machine (for example) be able to connect to anything except the database it's sending the data to? Why should it be able to get any incoming connections at all? Even running unpatched windows 3.0 it would be safe if set up like that.

      Do small in-line hardware firewalls exist? Just with an incoming and outgoing RJ45 socket and a hardware circuit that only allows data through to or from a single ip (or range)? I can see many businesses could use these.

    3. Re:Huh? by rainman_bc · · Score: 2, Insightful

      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.

      As compared to the upgrade path to OSX, where non native apps wrong like a slug in emulator mode?

      Flame away here, but Microsoft has been fairly good with their backwards compatibility. At least as good as OSX, if not better.

      If a law firm for example continues to insist they should be running Word Perfect 5.1 because that's all the legal secretaries want to use, that isn't Microsoft's problem. Moving to Linux isn't going to make that any different either.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    4. Re:Huh? by Jerf · · Score: 2, Informative

      Raymond Chen's blog is worth reading for the technical posts, and the most interesting ones are about Windows reverse compatibility or why certain Windows API things are the way they are, but there is no one link that you can give for them. That's probably why the submitter's links seem unfocused. His blogging software doesn't seem to have any categorization.

      There are some real gems in there and if you are serious about software development you should probably just read the whole blog. Doesn't take that long and you can skip the more personal posts if you like.

  4. Compatibility freak? by smittyoneeach · · Score: 2, Funny

    Compatibility freak?
    Retro chic
    Tweak the hardware
    Old-school sleek
    Burma Shave

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  5. billions at stake by yagu · · Score: 4, Interesting

    There is a bit of a "you rub my back..." going on when Microsoft maintains backwards compatibility. While MS is still the 800-lb Guerrilla, they have an audience with which they collaborate to some degree to make billions of dollars. MS holds the reins, but the team would refuse to pull at all if Microsoft cut them all of at the compatibility pass -- that would guarantee a stampede to find alternatives in OS implementations.

    I don't think many are aware how hard Microsoft has to work to maintain compatibility... I once talked with one of the MS engineers -- he said much of the OS code has preamble code to run through a giant "case" statement to accommodate and make allowances for either bad or incorrect coding by outside developers, or bugs in their code that don't execute correctly for the outside software. It's a lot of baggage to carry around, but it's baggage worth billions of dollars.

    Interestingly (to me) is I don't think Linux's big task yet is to maintain backwards compatibility with Linux programs (though that would be nice, and seems to mostly be a given anyway), I think the bigger task for Linux is to maintain backwards compatibility with Microsoft programs, specifically legacy Windows software. Unless and until that hurdle is cleared, Linux will always be #2, or #3, etc.

    (Sorry for the paragraph of metaphors.)

    1. Re:billions at stake by clickclickdrone · · Score: 2, Funny

      >While MS is still the 800-lb Guerrilla
      Please tell me you meant gorilla?

      --
      I want a list of atrocities done in your name - Recoil
  6. It's the data! by cpinto · · Score: 3, Insightful

    Actually, I see a much bigger need to be able to access information than to be able to run old applications. The big problem in all of this is that a lot (if not all) legacy applications have closed data repositories so being able to run those applications in a modern OS is imperative.

  7. Re:Windows Backward Compat? by NineNine · · Score: 4, Informative

    Do people really think Windows does a good job with backward compatibility?

    Absolutely. Probably the best in the industry. You can still run Visicalc on any Windows machine.

  8. 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 AdamKG · · Score: 4, Insightful

      The difference is, you still have 2.0.23, and you can keep it forever. With restrictive-licensed software, that isn't the case. With MS moving to yearly licenses- especially for companies- F/OSS is going to look more attractive to companies who can't afford to rewrite their software at a whim- they will love the option of sticking with the earlier library.

      Notice that even though it would be convenient for you to be able to upgrade GD- it's not required. You have an eternal license to it (Assuming it's under an OSS license, which I don't know for sure as I have no idea what GD is :D but it wouldn't make sense in the context if it were proprietary... but whatever. )

      --
      groupthink: It's good for self-esteem.
    2. Re:With open source the same problem exists by Fastolfe · · Score: 3, Interesting

      So don't upgrade major versions. Something breaking between 2.0.23 and 2.0.28 is a bug, and should be filed and treated as a bug (unless it was your error). Have you done that? Important applications should undergo testing when new releases of libraries come out, specifically to catch issues like this. The fact that your testing picks up problems doesn't mean there's a flaw in the process. This demonstrates that the process is working. If you had simply upgraded all of your clients with the assumption that things would work, that would indicate a flaw in the process.

      Something breaking between 1.x and 2.x is expected. A lack of compatibility is expressed right there in the version number. Major projects will keep each major version going independently for some time. You should continue to see bug fixes in the 1.x line even though 2.x is out, provide demand and interest is there.

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

    3. Re:With open source the same problem exists by Darkforge · · Score: 2, Insightful
      So don't upgrade major versions. [...] Something breaking between 1.x and 2.x is expected.
      You and I have come to expect that, because we're used to it. But that's not the way it has to be; Microsoft has billions of dollars and enormous market share because they don't break backwards compatibility, even with major releases. (If they did, nobody would upgrade, just as you say.)
      --

      When I moderate, I only use "-1, Overrated". That way, I never get meta-moderated!

    4. 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:With open source the same problem exists by Arker · · Score: 4, Funny

      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... ;-)

      Nonsense. Just use Debian.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    6. Re:With open source the same problem exists by Sancho · · Score: 2, Insightful

      Can you point me to a place that shows that MS is moving to yearly licenses? Also, point me to a clause that says I can't continue running an older version of their software? Thanks in advance.

    7. Re:With open source the same problem exists by Alphager · · Score: 2, Informative

      why this is modded funny is beyond my understanding: Debian supplies its releases with updates for _ALL_ the software included. Oldstable still includes KDE 2.2 .......

  9. update treadmill by Speare · · Score: 3, Interesting

    (Also from an ancient Microsoft experience.)

    Microsoft's continued existance has ALWAYS depended on cash cow products such as MS-DOS, Word, Excel and Windows. The only way that a product goes from concept to cash cow is through multiple releases which are sold to end users, offering the vital feedback to improve the product and market preparation to need the product. The only way a cash cow does not turn into a dead cow is through multiple releases which are sold to end users, offering newer features for devotees and fixing some of the most egregious integration problems for enterprises. Without new versions, people grow out of a product. Users adopt a new methodology entirely, or adopt a new product from someone else.

    An update treadmill necessarily requires that the updates keep coming. Users cannot adopt a new update unless it is nearly seamless to synchronize and integrate with the other treadmills they are running.

    --
    [ .sig file not found ]
  10. Two ways by Bluesman · · Score: 4, Interesting

    Backwards compatibility is important, but there are two ways you can do it.

    One is to include all of the old stuff in your new OS, the other is to continue to support the old version, or possibly emulate it on the new version.

    It seems that backwards compatibility significantly impedes progress. Why not continue to support the older versions, but separate them from the new stuff? Our computers are fast enough to run Windows 3.1 in a VM, much faster than it would run on the hardware it was designed for.

    Better yet, include a copy of the old software in the new one, with a built in emulator designed to run it.

    It's important to maintain backwards compatibility, but it's just not a good excuse for bad design decisions in new softare.

    --
    If moderation could change anything, it would be illegal.
    1. Re:Two ways by beuges · · Score: 2, Insightful

      Mr Chen has also addressed that issue at length as well. There are many problems with simply including an emulator with the new OS that can host the old OS, for example supporting copy/paste between apps in the native OS and apps in the emulated OS. Simply providing an emulated solution for backwards compatibility with the old OS was considered but rejected because it provided a crappy user experience.

      Another example - you have a network share mapped on your native OS. You double-click a file in the network share which is associated with a program written for a previous version of the OS, so it needs to be launched in the emulator. Emulator lauches, and launches the old application. How does the emulator know that this drive needs to be network mapped?

      Not to mention the fact that you'd have two task bars, two system trays, two start menus, etc.

  11. Backwards Compatibility is the ONLY option by Jennifer+York · · Score: 4, Insightful
    Any argument against Backwards Compatibility (BC) is usually based form the point of view from the developer and not the user. A developer decides that it is too hard to implement a feature, or some such thingy, and they decide that a "re-write" is the best option. This is quite often the wrong decision if you are developing software for money. Throwing away the mountain of existing code so that a developer "feels" more comfortable is bad business. There are often better ways to solve this problem, and refactoring the code early and often is a good strategy.

    Now, if you happen to write code for fun, like me, then you are of course free to chuck it all out and start again. The Fun Factor outweighs the cost, since the cost is free. So govern yourselves accordingly, if you want to make money, then do as little as possible to develop the code, if you are in it for love and glory then do it for yourself.

  12. Re:Windows Backward Compat? by thomasdz · · Score: 2

    Well, as far as basic filesystems ... Micro$oft has done pretty well...
    I'm guessing that good old FAT-12 (floppy) filesystem from the 1980's is still supported in Vista, right?
    FAT-32 and the more-than-eight-letter-filename system from Windows-98 (95?) is also supported in Vista.

    But I guess, almost everybody still supports lots of old stuff...
    I think Linux still supports the old Minix partition type
    The latest & greatest VMS release can still read & write old VMS hard disks from the 1980s also.

    Thomas Dzubin

    --
    Karma: Excellent. 15 moderator points expire sometime.
  13. Re:Windows Backward Compat? by lymond01 · · Score: 4, Funny

    I put my CD in backwards and it worked just great in Windows. What needs some hard core journalistic investigation is Windows Upside-Down compatibility.

  14. Backwards compatability a must by ohearn · · Score: 4, Insightful

    Trust me in a corporate setting not having backwards compatability is a big deal. For home users it is even worse.

    If you loose backwards compatability you run into the same problem that all the smaller OSs have in getting the corporate world to adopt them on a larger scale. An IT manager may be able to convince the bean counters to give enough money to do the OS swap, but try asking them for the money to have to swap every application you have as well because the old ones won't work anymore. Then on top of that try getting the funding and the authorization for the time to retrain all your employees on new applications that they are not as familiar with. Beyond that, productivity will go down for a while until people get used to the new systems even with training. Now if the new system is truely more efficient (from a worker bee point of view in time to complete a task) this may eventually pay for itself, but do you really think most upper managers are going to be that patient before firing the IT manager for screwing over the entire company's productivity rates? If you do then you are dealing with much more patient managers than I am used to or just folling yourself. That is the true cost of loosing backwards compatability, especially when a large number of your key applications are built in house, then you can't just go purchase the new version that will run on the new platform with minimal retraining needed. For companies that develop a lot of thier own applications in house, you have a lot of down time until the IT departments can recode to whatever new standard the new OS requires.

    Home users are better and worse off in some senses. While a lot of home users will probably just buy the new versions of major software (office software, email, etc.) when they purchase a new computer that still adds a lot to the cost of a machine. For the more technically savvy people out there (this is /. after all), even if you like the new OS and it's features, do you really want to have to replace every app you've got because they don't work properly anymore. Yes VM solutions can mitigate a lot of this, but those solutions are not perfect.

    I was one of the people that MS picked up on a 6 month contract for the extra support load when XP SP2 came out. Take it from someone who was there, the biggest complaint (especially from corporate customers) was when it broke compatability with old apps they were using. I heard a lot of people (and people I knew personally) say that they would install SP2 once the compatability issues were fixed when they eventually swapped to a newer version of the key app that they couldn't live without. Now MS did fix some of those issues with patches shortly after SP2 came out, but imagine that problem scaled up to replacing an entire OS without regards to backwards compatability. I know everyone around here likes to bash MS, but they are not nearly stupid enough to piss off thier corporate customers that badly. They know that would be the fastest way to push people away from Windows in a heartbeat, or at least to insure that not many people bithered swapping to the new version instead of just staying with what they already had that works.

  15. I've never criticized Windows for compatability by Chris+Burke · · Score: 3, Insightful

    Because I know they need it. Without compatability with old Windows software, the next buying cycle every CTO on earth would have a chance to consider whatever operating system they wanted since all would involve switching to entirely new software, as opposed to now where buying Windows to replace Older Windows is the automatic choice. It isn't just Window's market share that maintains there monopoly, it's the resulting market share of software for Windows that really does it. Drop that, and Windows' real advantage is gone.

    I do make fun of them for not being able to stabilize and secure some of the old code, though I understand it's tough when the code is old, complicated, and crufty, and a lot of old programs require "bug for bug" compatability.

    I think the solution for them is deprecation. Old interfaces that are stuffed with crufty code, and which were often insecure by design anyway, should simply be made unavailable for new applications. You have an old app that wants to use it, fine. You want to code a new app using OLE or ActiveX or what have you? Tough. Eventually software gets replaced, and eventually you wouldn't have any software using the old systems and you could disable them. Sadly there's still plenty of new development using ActiveX and other crap, so MS both shows no interest in doing this nor may they be able to.

    Now how does this apply to Linux? In Free Software Happy Land, you have the source to all the software on your system, so with the ability to recompile you don't need binary backward compatability. Being able to link your source code against new libraries can fix a lot of the problems with having to support really old binaries. There's still the issue of interface compatability (which is tied up in binary compatability in the Windows world), but a lot of the interfaces are stable.

    This isn't Free Software Happy Land, though, we're talking about businesses. Personally I think that adopting Linux should also come with adopting some of its philosophies, in particular that having source code is much much better than not having it, so if you aren't getting source then it had better be much much better than the program you can get with source. Linux does not have a strong history of binary compatability, and I'm not sure it's best for Linux to start establishing such a history. Business may not like it, but maybe they need to adapt to Linux not the other way around. Who knows, they might figure out that they like getting source code from their vendors and accidentally discover a better way to do things.

    --

    The enemies of Democracy are
    1. Re:I've never criticized Windows for compatability by Rodness · · Score: 2, Insightful

      This isn't Free Software Happy Land, though, we're talking about businesses. Personally I think that adopting Linux should also come with adopting some of its philosophies...

      That's an idealistic view, and completely out of whack for most people. Remember that most businesses (at least in the US) are small businesses, meaning that the IT person usually wears other hats. That IT person is more likely to be a Mom or Pop type who just wants the damn thing to work and doesn't want to go fiddling with source. The moment they upgrade and there's bustage, if they don't switch outright then they're going to make a mental note that it fucked up the business for a week and the next time there's upgrading to be done, they're going to consider something with better backwards compatibility, ie Windows Server or something.

      The analogy to your view would imply that just because I drive a car, I'm interested in doing the maintenance myself.

      If you use Windows, do you automatically share Redmond's philosophies? I didn't think so, or you wouldn't be reading Slashdot. So why should Linux users necessarily share Linux's philosophies?

  16. FUDmeister! by NineNine · · Score: 2, Insightful

    Pick any random Linux distribution or *BSD and you will find many "30 year old programs"

    Well that's a good argument, isn't it?

    Stop being stupid - most 16 bit windows software does NOT run on windows XP.

    Really? Are you just flat out lying in order to accomplish something, or are you really that clueless? Would you like to see a screenshot of what I have running right now, my intelligence-challenege little friend?

  17. Re:Windows Backward Compat? by LordSnooty · · Score: 3, Funny

    torrent plz

  18. Re:Windows Backward Compat? by Jay · · Score: 2, Interesting

    Backward Compatibility: Running your COBOL written in 1971 on the current release of z/OS without changes.

    FYI: the hardware architecture has gone through 2 addressing mode changes since then - from 24, to 31, and now 64 bit addressing.

    --
    You think emacs is evil?! You've never used VM's XEDIT have you?!! That's evil, baby!
  19. Re:With open source ... by PFI_Optix · · Score: 4, Insightful

    Allow me to do a variation on a Balmer-related meme:

    Dependencies! Dependencies! Dependencies! Dependencies! Dependencies! Dependencies! Dependencies!

    I'm a broken record on this subject, but I've had quite a few nightmare compiles on Linux that have resulted in me abandoning it on my laptop in favor of Windows. At least there the software I want to use works. They have *got* to fix that problem if Linux is going to become a mainstream desktop product.

    --
    120 characters for a sig? That's bloody useless.
  20. Re:Windows Backward Compat? by captnitro · · Score: 2, Interesting
  21. Re:FUD, FUD, and more FUD by NineNine · · Score: 2, Insightful

    I don't ever plan to run 27 year old programs, and neither do a large amount of people

    I disagree. There are tons and tons of old DOS programs that are still at work today in many, many businesses. I user several, myself, along with a few 16 bit programs. Not using something simply because it's old is pretty dumb. Do you just throw out old things once they get too old, even if they're still working?

  22. 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.

  23. How do you explain the travesty that is Vista? by Great_Jehovah · · Score: 2, Informative

    We have several in-house apps that were written recently enough to be done in C# and none of them work in Vista. We have two guys working to convert them and they've had no success after spending dozens of hours on the problem.

    1. Re:How do you explain the travesty that is Vista? by LunaticTippy · · Score: 2, Informative

      What's the problem? I converted all our in-house vb.net and c# code to work in vista already. The only hiccups I had were a quirky parallel port library for some external hardware. Most of our apps didn't even need to be recompiled.

      --
      Man, you really need that seminar!
  24. Re:Windows Backward Compat? by $RANDOMLUSER · · Score: 2, Funny

    Lost the source, did you? ;)

    --
    No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  25. Re:Windows Backward Compat? by plopez · · Score: 3, Insightful

    Probably the best in the industry
    Only if you ignore IBM. Their customers spend huge sums on very large, capable machines and expect a huge ROI (banks, oil companies, gov't institutions) so there is old JCL and Cobol running on mainframes going back to the 70's. If it doesn't run natively, you can always run it under VM.

    I for one haven't found any useful applications I can run prior to mid 90's.

    --
    putting the 'B' in LGBTQ+
  26. Re:Blog's interesting;submission gave me a WTF mom by brunascle · · Score: 2, Funny
    #!/bin/sh
    echo "Hello, World"
    what do i win?
  27. 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...
  28. Re:With open source ... by letxa2000 · · Score: 2, Insightful
    I agree. From 2002 to early 2006, I was using Linux exclusively on my laptop desktop. I got used to things not working. And although I am a geek, my goal in life is not to Google and investigate to see if I can tweak my OS to do what I want. This year I got a new laptop with XP on it. Everything just worked so I just stayed with that.


    I still have my Linux laptop which I ironically use as a Linux server--something that Linux is good at.

  29. Re:Windows Backward Compat? by crunch_ca · · Score: 2, Interesting
    Wow, memories.

    It seems to come up on Linux under Wine, (wineconsole), but seems to run very slowly and doesn't work beyond getting the initial screen up. Of course, I haven't spent too much time trying to get it to work...

  30. Compatibility? What about VB? by MrSteveSD · · Score: 3, Insightful

    I thought readers would be interested in exactly why Microsoft spends so much effort on backwards compatibility

    Shame they don't do that with other products. They discontinued the VB language (forget about VB.NET, not the same!) and left thousands of companies in the lurch. Millions of dollars were invested in writing VB products around the world and many of the companies do not have the finances to completely rewrite their products again in a new language. I suspect that many of them are keeping quiet since making a big noise about it would frighten both customers and investors.

    I was therefore happy to hear that Java is going open source. Perhaps we can now consider it "safe" to use.

    1. Re:Compatibility? What about VB? by MrSteveSD · · Score: 3, Interesting

      After seeing how bad the "converter" was we quickly abandoned the idea of automatically converting to VB.NET or anything else. Even in principle there are many problems with automatic conversion such as issues caused by the fact that objects lives are no longer so predictable (reference counting vs Garbage Collection). And if you have tried to do clever stuff in VB6 to get around its limitations (like we did), you are really in trouble.

      So we also decided the best thing was to rewrite things component by component, or at the very least write all new components in C# and use INTEROP. However, we found interop to be absolute hell. After I left the company they hired a .NET consultant and I have since found out that they had such problems communicating between the different .NET and VB components that they resorted to communicating via the database in some awkward way (I shudder).

      I suppose that as long as you stick to developing using Mono and as long as Microsoft do not shut Mono down in the future in some legal attack, developing with C# is safe. Obviously if you develop using Visual Studio you will end up using all sorts of things that won't work with Mono. Even so, the fact the Microsoft dumped a language that so many people were using does not fill me with confidence.

      Obviously Microsoft has a lot of momentum but if I were in charge of a business I would sooner choose Java than .NET. Sun are actually interested in having a cross-platform system whereas Microsoft are too tied up with pushing Windows. And now that Java is going fully open-source, it's an even more attractive option.

  31. Incorrect by Orrin+Bloquy · · Score: 2, Informative

    OOo chokes on Mac Word files from 5.0 and before, and 5.0/Mac was a huge segment of the Word market in the 90s. The current MS Office apps on both platforms can read them. Trust me, I've tested this extensively. Sun has gone on record that they don't think pre-6.0 Word files for Mac are any kind of a priority for OOo, although they hint StarOffice might be able to do it.

    --
    "Made up/misattributed quote that makes me look smart. I am on /. and I must look smart."
  32. Re:Windows Backward Compat? by 0racle · · Score: 2, Insightful

    Your point? Since the NT line does not ship with DOS, but a command interpreter, that the NT OS's run DOS programs is a very good indication of MS's backwards compatibility.

    --
    "I use a Mac because I'm just better than you are."
  33. Re:With open source ... by Magada · · Score: 2, Insightful

    Products can and are packaged like that. Ever heard of Gentoo, for instance? True that you are left staring at that "Next" button for a long time, ;-) but it does work, there's no dependency hell and when it doesn't work, it's usually a bug in the app, not missing kernel header files or some such inanity. Under the GPL, you are supposed to have the sources. Why not use them?

    Also, soccer mom doesn't need kernel upgrades, or tweaked kernels, or upgrades to apps. She needs security patches, no more, no less. Apps can and should stay the way they are because Aoccer mom doesn't really want to "upgrade". She wants things to JustWork(tm), 'cause she's a luddite.

    --
    Something bad is coming when people are suddenly anxious to tell the truth.
  34. 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
    1. Re:Backwards compatiblity by westlake · · Score: 2, Insightful
      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.

      in what environment could a process so agonizing and fragile as this ever be called "simple?"

  35. Re:Public Enema #1 by swordgeek · · Score: 2, Insightful

    I sense a lot of anger coming from this one.

    Seriously, you've got a point. An honest OS vendor guarantees backwards compatability only using published, official programming interfaces. Application vendors turn around and find some obscure undocumented library call that makes life easier for them, and use it everywhere. When the OS is upgraded, the app breaks and "backwards compatability" gets shat upon unfairly.

    A major problem though, is that many of these applications are niche products which makes them a de facto monopoly. If the customer needs functionality "x", then they're the only game in town. Thus the customer says, "I don't care if it's the application vendor's fault, fix it in the OS or I'm switching to Windows!"

    Result: Backwards compatability is guaranteed for cases where it _should_ break. Unpublished interfaces become official and supported standards. Cruft carries forwards.

    As for the "don't upgrade your computers," that's lovely--as long as you don't want any support for your OS. Kind of hard to get (unrelated) patches for OSes that have been EOSL for four years, though. Next year, a significant part of the western world is going to change daylight savings time, which will require a patch. Any machines that are running old OSes are going to be unable to keep proper time.
    Pretty close to a metaphorical gun, I'd say.

    --

    "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  36. Re:I admit to have not RTFA, but by ms139us · · Score: 2, Informative

    I appreciate where you are coming from and I cannot comment on AIX or HPUX, but I can comment on Solaris. Sun has been fascist about binary backword compatibility.

    I wrote a 32 bit SCSI target driver in the early-90s using the (then deprecated) Solaris 2.3 ABI and it worked flawlessly until the early 2000s when we were required to switch to a 64 bit kernel, a switch we had delayed since the 90s.

    The company still runs a version of Oracle compiled for Solaris 2.2 (1992?) and it works flawlessly, except it has a bug in its use of log archiving that was masked by earlier versions of the UFS. They still run the 14-year old 32 bit Oracle binaries on a 64 bit Solaris 8 box.

    Backword compatibility is critical in the enterprise, and honestly, much of the OSS world ignores this.

  37. Scale Models by Doc+Ruby · · Score: 2, Insightful

    Without backwards compatibility, however incomplete, different versions of Windows would be different platforms. Which would compete with each other, and especially with new releases of apps and OS. And interfere with Microsoft's claims to represent 90% of installed computers/users/whatever. Which claims are the main factor when most people decide whether to buy/install/develop MS apps.

    Backwards compatibility, even if not extensive enough to make all installed MS hosts (including WinCE) into a single platform for the largest imagined application scale economies, is enough to create the illusion of those benefits. Which keeps people buying and building MS at the large scales which actually do deliver those lesser, but still extremely competitive, scale economies.

    --

    --
    make install -not war

  38. Small businesses? by mha · · Score: 2, Insightful

    A friend of mine has a very nice mexican restaurant and the software for the cash register is DOS based. It looks good (even uses a touch screen), it works - why would he ever invest 10000 Euros to buy a new one (that much because it's special software, you can't buy cash register software for restaurants at CompUSA, and he has to buy new hardware too - even if the new stuff would run on his machine, the companies who sell it to him and support him require this to lower their own support load by refusing to support any hardware/software combinations but their own ones).

    I myself still own half of a (German) MBE (Mailboxes Etc.) store (95% business customers, 75% digital printing), and the only reasons our PCs were up to date were a) we did a lot of digital printing and some design, and Adobe Creative Suite CS(2) needs LOTS of resources (but it's great software - proprietary, bloated, etc. - but I like it anyway except for the price :-) ), b) I'm an IT guy, had quit my employee life only half a year before starting this business together with a friend, c) we just started so everything was new. But reality is, you're busy all day and thinking about which patch, what software, or what nice piece of hardware one could buy for ones business is the LAST thing one wants to worry about in such a situation! There just is no time to deal with IT, and little money ((esp. onsite) IT support is *very* expensive if you have a question that cannot be answered by the outsourced call center in India), and if there's money left one can think of many more important investments than IT. Do you know how expensive even very basic equipment used for making brochures or booklets is? (tip: don't EVER buy plastic, such machines must be STEEL or they'll fall apart - paper is very tough, hard to process, you won't belive it!)

    There are many, many SMALL businesses like that. You /. guys keep talking about huge data centers and big businesses with a big budget and an IT department. Do you have any idea how hard any update is for the much larger part of the economy, the SMALL businesses? They cannot afford to higher someone, they cannot afford to spend much time on their software (even I need more than a full day to finish setting up a new PC, I just got a new Dell, and installing all my software and setting up my work environment is SUCH a pain!)

    You (in general, majority here) don't like large corporations or at least treat them with a LOT of suspicion, but all I ever read here is about the big companies.

  39. Re:With open source ... by 99BottlesOfBeerInMyF · · Score: 3, Insightful

    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.

    I think modern package management is weak on every platform, but by combining several into the OS would bring the benefits you crave. I'm a huge fan of OpenStep/GNUStep/OS X where applications are folders ending in ".app" with a specific structure. This allows for multiple binaries for different platforms in one "file" that can just be copied and run anywhere. There is an increase in size, but given modern hard drives it is tiny, especially since all resources can be shared rather than duplicated. And having those resources separate is great for those of us that want to grab a song or image used in some game we have. The portability and lack of an installation step is really, really nice, especially for novice users.

    To get back to your specific point, I see no reason why source code and build instructions cannot likewise be included in this package. Add a little "build custom binary" option for each application and you have the ability to do just what you ask, but without the drawback of having to wait for an install process. In fact, the OS could automatically schedule the compiling of a custom binary the first time a program is run. There is no need for a wizard at all. Drag the program where you want it and double click. There's no need for dependency checking either since needed libraries are in the package. I really think this level of simplicity would benefit everyone.

  40. Microsoft still doesn't get it right by doodlebumm · · Score: 4, Insightful

    Even after billions and billions of development dollars Microsoft still breaks lots of applications on their major releases. I've been working on a server 2003 system that we've had to tweak and fiddle with for over a month to get a couple of applications to work properly, and we're still working on them. There are a couple more that will not work and have to be abandoned. These are older applications, so that could be the problem, but they were running on server 2000. No one can tell me that they are 100% compatible, because they are not.

    Which would I rather do, try to get a program to work that is proprietary on a proprietary system or open source on an open source system? Hmmmmm. Let me think.

    Also, if you want an open source application be backward compatible, send a little money to the authors. I bet you'll get a much better response from them than you would from a company that charges you an arm and a leg for a proprietary application. Try getting Microsoft to make a change to their system! Even large companies have to usually take what they get pushed on them from Microsoft.

    1. Re:Microsoft still doesn't get it right by suv4x4 · · Score: 2, Insightful

      I've been working on a server 2003 system that we've had to tweak and fiddle with for over a month to get a couple of applications to work properly, and we're still working on them. There are a couple more that will not work and have to be abandoned. These are older applications, so that could be the problem, but they were running on server 2000. No one can tell me that they are 100% compatible, because they are not.

      Do you know what this means. That in most cases those apps were not coded properly. Let's take IE7 for example. People scream how it breaks apps left and right.

      I tested 30 of my existing sites, some involving relatively complex CSS and JS ("ajax") functionality. I haven't found a single flaw. That shocked me, you know? No issues whatsoever, after all doomsday reports about IE7 being so incompatible.

      The reason is many people don't code to specs, don't code to standards, don't code to API's. They just code and tweak until it seems to work and then move on. The reasons are plenty: lack of experience, lack of time and so on.

      Still, when you use the tools (in my case HTML/CSS/JS) you're provided with in the way they were meant to be used, there's a huge chance your apps will work with future versions.

      If you rely on race conditions, hacks, or pure luck, this is virtually impossible to be backwards compatible with, although apparently MS tries hard to do that as well.

  41. Re:With open source ... by tchuladdiass · · Score: 4, Insightful

    The fix is simple, but most people argue against it. Use shared libraries where appropriate, and static libraries where it makes sense. The argument for shared libraries everywhere is that it saves disk space, and it makes updating all your apps easier by just upgrading the libraries they depend on. This is ok for widely deployed and tested libraries, where it is very unlikely that something will break between minor versions. But if a library is likely to be used by only a handfull of apps (such as audio / video codecs), then by all means compile them into the app. That way you reduce the number of dependancies and the breakage, at the expense of a bit more disk space used and the inconvience of upgrading a few more packages when a bug is found in the library in question.

    Note, that this is mearly an issue for third-party packages for your os. Everything that comes with the os can follow whatever rules is best suited for it, as the whole thing is developed together. But I see no advantage to having to track down and install a dozen seperate library packages in order to get a particular app installed, esp. if those libraries are use _only_ by that app. Also, the worst offense a package can commit is to require major updates to packages that are included as part of the os. If the os ships with a supported version of libfoo-1.7.2.so, then the app package should be compiled against that version and not against (and requiring) libfoo-1.7.5.so (or worse, libfoo-1.8.x.so), instead if it actually requries functionality that is only present in the newer lib version, then it should ship with a private copy either statically linked, or installed in the app's lib directory. Because if something else uses that lib, chances are it will need libfoo-1.7.4.so, and be incompatible with libfoo-1.7.5.so (even though minor version increases shouldn't break compatibility, but it happens anyways).

    [ /soapbox ]

  42. Am I the only one who's thinking about this from.. by The+Great+Pretender · · Score: 2, Insightful

    ...a non-coding standpoint. As a business we have a huge amount of data in the archives, in our case only from 91. One of our biggest issues is if we need to access that data we need the current platforms and application software to be backwards compatible. If the systems were not backwards compatible we would have to dedicate a/several computer/s and then up-load the old software to access the data. I suppose that we could use emulators. Bottom line is that it would be a huge pain for IT. In addition, it would be nice if anyone of the Project Managers can access the data from the server directly without worrying how to view it.

    --
    A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
  43. Re:Pure FUD, Re:Backwards compatiblity by Anonymous Coward · · Score: 2, Insightful
    twitter, please read this carefully. Following this advice will make Slashdot a better place for everyone, including yourself.

    • As a representative of the Linux community, participate in mailing list and newsgroup discussions in a professional manner. Refrain from name-calling and use of vulgar language. Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer. Your words will either enhance or degrade the image the reader has of the Linux community.
    • Avoid hyperbole and unsubstantiated claims at all costs. It's unprofessional and will result in unproductive discussions.
    • A thoughtful, well-reasoned response to a posting will not only provide insight for your readers, but will also increase their respect for your knowledge and abilities.
    • Don't bite if offered flame-bait. Too many threads degenerate into a "My O/S is better than your O/S" argument. Let's accurately describe the capabilities of Linux and leave it at that.
    • Always remember that if you insult or are disrespectful to someone, their negative experience may be shared with many others. If you do offend someone, please try to make amends.
    • Focus on what Linux has to offer. There is no need to bash the competition. Linux is a good, solid product that stands on its own.
    • Respect the use of other operating systems. While Linux is a wonderful platform, it does not meet everyone's needs.
    • Refer to another product by its proper name. There's nothing to be gained by attempting to ridicule a company or its products by using "creative spelling". If we expect respect for Linux, we must respect other products.
    • Give credit where credit is due. Linux is just the kernel. Without the efforts of people involved with the GNU project , MIT, Berkeley and others too numerous to mention, the Linux kernel would not be very useful to most people.
    • Don't insist that Linux is the only answer for a particular application. Just as the Linux community cherishes the freedom that Linux provides them, Linux only solutions would deprive others of their freedom.
    • There will be cases where Linux is not the answer. Be the first to recognize this and offer another solution.

    From http://www.ibiblio.org/pub/linux/docs/HOWTO/Advoca cy

  44. Re:With open source ... by jZnat · · Score: 2, Interesting

    I think the only problem with that is proprietary apps can't statically compile GPL or LGPL libraries, and proprietary apps seem to be the ones that have unfixed dependency issues.

    --
    'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
  45. Re:Pure FUD, Re:Backwards compatiblity by julesh · · Score: 2, Interesting

    But they take an OS with less than 70% seriously?

    I'd lake to know where you got that 70% figure from. Seriously; the number of applications that actually broke with XP SP2 is tiny.

  46. Re:With open source ... by tchuladdiass · · Score: 2, Insightful

    But they could ship the dynamic versions, and store them in their own app directory. Then use LD_LIBRARY_PATH, or LD_PRELOAD, or even use dlopen().

    Also, even open source apps have that issue, when you are downloading pre-built packages. MythTV is an example (of coures, it is an unfair example as it is still considered beta). I would rather download one RPM that has the needed shared libraries in a private directory or have most of them statically compiled in this case. That way it would be easy enough to make one package that works on multiple os distros (one rpm should work with rhel / centos 3.x, 4.x, fedora core 4, 5, 6, for example).

  47. Quite true by csoto · · Score: 4, Interesting

    This is one of the reasons "Solaris is better than Linux." There are few things that we've deployed on Solaris 2.5 (possibly none, but I won't swear to my memory) that don't also work under Solaris 10. This is a far cry from the Linux 2.4-2.6 headaches we've experienced.

    --
    There exists no way of exchanging information without making judgments. --Bene Gesserit Axiom
  48. Re:With open source ... by SanityInAnarchy · · Score: 2, Informative

    Looks like I'm arguing against it.

    Those who do not understand package management are doomed to reimplement it, poorly. Although you do make a point:

    Note, that this is mearly an issue for third-party packages for your os.

    Perhaps, but most distros now support adding third-party repositories, and even if you don't, when you download a .deb file manually, it's still going to pull in dependencies when you install it.

    Ultimately, I see compiling things statically as being kind of like offering a WinZip Self-Extractor file for a Windows XP program. Ok, it's guaranteed to work, but it's still a bit of pointless waste.

    And by the way:

    Because if something else uses that lib, chances are it will need libfoo-1.7.4.so, and be incompatible with libfoo-1.7.5.so (even though minor version increases shouldn't break compatibility, but it happens anyways).

    There are multiple, very good ways of dealing with this. The libfoo guys shouldn't have broken compatibility, or should've sat around and come up with all the ways they'd like to break compatibility and put together libfoo-2.0.0. Or, the package that's incompatible with libfoo-1.7.5 could depend on libfoo-1.7.4 -- both can easily exist on the same system. Or you could just not symlink libfoo-1.7.5.so to libfoo-1.7.so or any of its other aliases -- packages that know about 1.7.5 can link to the 1.7.5 version, packages which don't know about them will stick with 1.7.4 automatically.

    All of this can be handled by a distro maintainer, so a really simple solution for most of these problems is to simply find a way to allow your app to be distributed, or if you can't do that, pay some developers to maintain parts of the distro that your app cares about, and keep everything compatible.

    And audio/video codecs should not break compatibility between versions... period. How simple can you get? But if you let your app use a shared library, that means your app could automagically get any codec I install with the system.

    --
    Don't thank God, thank a doctor!
  49. I'll say not even all programmers by Moraelin · · Score: 3, Insightful

    While I'll fully aggree with your points about the common user, I'd argue that IMHO it's not that much different for programmers and generally those in IT roles. Sure, for a programmer it's a lot less intimidating and a lot less "rocket science", but that doesn't mean he/she will automatically enjoy it.

    Speaking as a programmer, the interesting and challenging part is the _programming_ part. The tweaking of algorithms, the thrill of learning some new technique, etc. That's the fun part. The compiling itself is _not_ the exciting part. Sitting and watching Joe's Own Toy Program (TM) compile is about as exciting and watching paint dry. Tracking down the dependencies for it is even less exciting.

    In fact, I'll even go ahead and say that anyone whose great feat was compiling some 3rd party program, probably isn't really a programmer to start with. There are a ton of people who just like to pretend they're oh-so l33t because they can run someone else's build script. Maybe they even configured (through the nice supplied GUI) and compiled (by running the commands supplied in the readme) a _kernel_. Wow, that makes them sooo great computing gurus. Not. That's to programming what script-kiddies are to real security experts. A sad joke.

    And even as programming goes, the fun is doing the things _I_ want to do, learning the things that _I_ find interesting at the moment. Maybe I'll toy with this great new algorithm or language I just heard about, or maybe I'll mod a game just for the sake of seeing if I can get to the ballistics code, or whatever. Whatever tempts me at the moment. But that's a personal, subjective and transient thing. What tempts me tonight might be (and usually _is_) a whole other thing than whatever program Tom couldn't be arsed to finish, or Dick couldn't be arsed to test, or Harry couldn't be arsed to port. I want to do _my_ stuff, not debug Tom, Dick and Harry's programs just because they happen to be OSS and on my computer.

    Basically just like a literature buff might choose to spend the evening reading the novel of _his_ choosing instead of coming over to help the neighbour's kid finish a school essay about War And Peace. Sure, he certainly is qualified to help that kid, but it's not necessarily what he'd choose to spend the evening with.

    In the end what I'm saying is that what I want from a computer is no different from what Jack Random and Jane Average want. I want it to just work. Whatever I choose to do with it, whether it's programming my own toy app or watching a DVD or playing a game, I _don't_ want to compile the IDE/media-player/game/whatever first, and that goes double for pointless track-the-dependencies games. If I chose to do X tonight, then anything else that gets in between me and X (like having to first compile some other stuff) is just a waste of my time.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  50. Re:With open source ... by gfxguy · · Score: 2, Insightful

    But they wouldn't upgrade the OS on those boxes!

    --
    Stupid sexy Flanders.
  51. Re:With open source ... by westlake · · Score: 2, Insightful
    She wants things to JustWork(tm), 'cause she's a luddite.

    a "luddite" rebels against technology that threatens her employment. your soccer mom simply wants to get the weekly financial reports out on time so she can get home to her kids.

    she has every right to expect tech that "just works."

  52. Opportunity for a Winetasting? by Ungrounded+Lightning · · Score: 2, Interesting

    Seems to me that backward compatability issues are an OPPORTUNITY for linux.

    Windows API support in linux (ala Wine) not only CAN be done, but it's EASIER for older, frozen, versions of Windows, which are no longer moving targets.

    Seems to me that a "tested and seems to work" compatibility list for older Windows commercial apps versus an API emulator/kernel/library version number would provide:
      - IT departments with an opportunity to migrate and a starting point for doing their due-dilligence checking
      - API emulator project members the feedback they need to find and fix any mis-emulation that is blocking such a migration
      - Linux evangelists a selling point
      - Management the wake-up call that it is now POSSIBLE to migrate away from their addiction to Microsoft and other proprietary software, and
      - Stockholders a hammer to use on management. B-)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  53. You didn't work on any Windows Upgrade by DrYak · · Score: 2, Interesting

    Windwos upgrade aren't smooth either.

    Major upgrades at microsoft breaks a lot of stuff. The main problem is their philosophy of backward compatibility which manage to accumulate both the bad side of backward compatibility and non compatibility.

    Most of the time, Microsoft tries to assure compatibility by keeping around old APIs over and over across each generation of products, but each time fixes bits to keep up with modification of the underlying technology. You end up with a Windows XP wich is "somewhat" compatible with application written for Win9x, but not quite exactly, because some details have been subtely tweaked during the software evolution. And you end up with situation were you have to test each Service Pack to be sure that it doesn't break any critical application before deploying to the whole company.

    Sure, you have to keep as much compatibility as possible so you don't break old apps and can't just scrap everything with each generation, and on the other hand you have to do fixes and introduce new technology otherwise there won't be anything new in a "new" version.

    But there are better ways to achieve this. Mac OS X is a nice example, that regulary uses emulation to ensure backward compatibility. Between 68k and PowerPC, between different version of OS and OS X, between PPC and Intel.... each time they make a new architecture offering new possibility, and instead of keeping some old stuff that only drags evolution back, they choose to emulate it, which have the benefit of both keeping backward compatibility, but also isolating legacy code in a sand box which won't interfere with newer generation technology. Bugs that crashed previous version of the OS will only crash the one inside the virtual box. (On the other hand, due to legacy code, some bugs hang around for a very long time in Windows. Such as the "dir nul\nul" bug whitch crashed all the way from very early MS-DOS (3.xx something I think) up until the last DOS-based Windows)

    Opensource software on the other hand have a different possibility : because their source is open, users can fork the code, provided there's enough interest to keep a copy of the old version parallel to development on the latest one. GTK is a nice example in user land : GTK 2.0 completly broke the API and ABI of previous version. But most current distribution still carry a GTK version 1.xx which is still maintained and debuged. The Linux 2.4.x kernel tree for various reason (smaller footprint, support for older hardware that was dropped later, etc.) is still maintained and bug fixes and newer functionnality are still backported from 2.6.x because there are enough people to care and because the GPL doesn't forbid them to do it. (It is as if there was a community of Windows 95 user still porting functionnality from Windows XP and fixing security).

    With microsoft product, sadly, it isn't so. It's always "windows" but it's not always quite the same windows. Once a product has been end-of-life-ed there's nothing you can do against it as a user (License forbids you), you can only switch to the newer version and hope that the compatibility will good enough and that the "tweaks" haven't broken anything.
    On the other hand, thanks to Microsoft, students in university can earn enough money to eat, by helping IT staff to test compatibility between service packs and softwares.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]