
Ian Murdock blogs
about the importance of backward compatibility.
"Yes, it's hard, particularly in the Linux world, because there are thousands of developers building the components that make up the platform, and it just takes one to break compatibility and make our lives difficult. Even worse, the idea of keeping extraneous stuff around for the long term 'just' for the sake of compatibility is anathema to most engineers. Elegance of design is a much higher calling than the pedestrian task of making sure things don't break. Why is backward compatibility important?"
Thread beginning with comment 201887
To read all comments associated with this story, please
click here.
Member since:
2005-06-29
I didn't like this article, but anyway, it's a huge drawback for Linux as the average joe can't just buy software on CD/DVD and hope it just works... get that 6 month old CD and re-install that software he needs again now...
The world doesn't live up just from Software Livre (that would be awesome, but that's not the reality), the average joe usually don't care about this issues, they just want the hole think to work.
It's not just Linux, MacOS X suffers from something similar... you're always forced (indirectly) to upgrade to another OS X version (that means $ and some technical knowledge); but the OS X situation is WAY better than Linux, as the only vendor can make things somehow more controlled in terms of compatibility issues. (by the way, software installation method is amazing in this system! just drag,n drop to copy and run. Preferences files are standard and in a single location, etc)
This kind of issue also happens with Windows, of course... specially with professional software. There's plenty of machines that still running Windows 2000 (even with recent hardware) because of old software (that still works, that have people how knows how to use it and, specially, because there's no reason to spend money in another software as the one they own does what they need.). But again, it's yet another degree.
The way linux distros are today, you're bounded directly to their support and their software repositories and, if you're not somehow experienced with Linux, unable to easily work with third party software.
This also becomes even more difficulty to small and even medium software makes support Linux in their software (well, maybe that one distro make and that specific version).
This new wave of web-apps (local, intranet or net-dependent) is a huge thing to help this problem, but still... most of professional programs and performance-dependent software can't go this way.
Another problem is in the front of portable apps that can run from portable drives (usb drives, flash memory, etc...). We usually expect this software to run in several machines. It's no difficult to do this with small (and even bigger ones like Firefox and Thunderbird) in one Windows environment, it's ok in MacOS X too as you can run software from partition images, but it's a bit harder with linux with you have some different versions and distros in your enviroment.
I'm not sure if someday this problem can be solved in Linux... but there's some hope. Even if this problem can't be solved, the situation can be WAY better if the programs agree with preferences and user databases/data. Even if someone is migrating from one system to another, and if the programs this person have doesn't "just work" in the new system, they won't mind that much if all pictures just work with the new system's picture program. If all tags in photos are properly saved; if all it's music collection still working, playable and properly organized; if all 3d models that person build professionally properly work with the new system... you get the idea.
It doesn't solve the problem, but helps a lot!