Linked by Thom Holwerda on Mon 15th Jan 2007 11:25 UTC
Linux 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 201867
To read all comments associated with this story, please click here.
I disagree
by robinh on Mon 15th Jan 2007 12:14 UTC
robinh
Member since:
2006-12-19

The example on Ian's blog post of altering the memory allocater to support an old broken program is totally crazy. Imagine if the Linux kernel developers did something like this: there'd be uproar!

Backward compatibility is less of an issue for free software for 2 reasons: (1) It's free, so replacing the whole thing won't cost you anything other than time, and (2) Free software tends to implement open standards, so if any given program stops working, you'll probably be able to find a different program which implements the same standard.

--Robin

Reply Score: 4

RE: I disagree
by Brendan on Mon 15th Jan 2007 13:43 in reply to "I disagree"
Brendan Member since:
2005-11-16

Backward compatibility is less of an issue for free software for 2 reasons: (1) It's free, so replacing the whole thing won't cost you anything other than time, and (2) Free software tends to implement open standards, so if any given program stops working, you'll probably be able to find a different program which implements the same standard.

I agree, but I think you've missed the point: Backward compatability is very important for all of those commercial, closed source Linux applications. It's probably why there's so many commercial application and game developers working to get their proprietory applications/games working on Linux, and why the shelves of most computer stores are full of titles like "World Of Warcraft For Linux"...

Reply Parent Score: 5

RE[2]: I disagree
by dmantione on Mon 15th Jan 2007 14:07 in reply to "RE: I disagree"
dmantione Member since:
2005-07-06

> Backward compatibility is very important for all of those commercial, closed source Linux applications.

... and many of those open source applications. Many open source software projects have a need to supply binaries for their users. It is very nice if they don't need a different binary for each version of each distributions.

I think many Linux users have sometimes got into the situation that a program they did download didn't work. Sometimes compiling it yourself is easy, sometimes it is a major annoyance. The solution is backward compatibility.

Reply Parent Score: 2

RE[2]: I disagree
by jaylaa on Mon 15th Jan 2007 14:24 in reply to "RE: I disagree"
jaylaa Member since:
2006-01-17

I agree, but I think you've missed the point: Backward compatability is very important for all of those commercial, closed source Linux applications. It's probably why there's so many commercial application and game developers working to get their proprietory applications/games working on Linux, and why the shelves of most computer stores are full of titles like "World Of Warcraft For Linux"...

I agree, but I don't think the success of commercial, closed source Linux apps should take precedence over the progress of Free Linux apps. I would prefer that the developers (not that I have a say) spend their time on more worthwhile things than putting in hacks like what were described in the article just so that some closed source company's binaries don't break.

Reply Parent Score: 5

RE[2]: I disagree
by pinky on Mon 15th Jan 2007 14:38 in reply to "RE: I disagree"
pinky Member since:
2005-07-15

>I agree, but I think you've missed the point: Backward compatability is very important for all of those commercial, closed source Linux applications.

It's not a problem for commercial application but it's a problem for non-free software.

And here we are at the crucial question:

1. Do we want a free OS which respects users freedom and offers technically the best we can?

Than it's good to have no large backward compatability because it's just not a good technically situation if you have to keep and maintain all the old code. It's also not bad to have no large backward compatability because it doesn't hurt the free OS and the free apps. So it has no drawback to reach goal 1.

2. Or do we want just another OS which makes it easy for people to use it (make money with their non-free software) but don't contribute to the community and to the OS as a whole?

Than maybe we should have large backward compatability. But we have to know what impact it will have. Maybe we will have more users and more non-free apps. But on the other hand we would lose our focus on having an complete OS which respect users freedom and we would have to make many technical compromises. Also would it still be the OS we liked? Linux come into existence without caring about backward compatability or about some non-free vendors. Will it still be "our" OS if we start caring more about them than about us?

I would go with option 1. Everyone can have his own opinion on this topic but it is important to see what it would mean to the system we know and like.

Reply Parent Score: 3

RE[2]: I disagree
by archiesteel on Mon 15th Jan 2007 19:44 in reply to "RE: I disagree"
archiesteel Member since:
2005-07-02

I agree, but I think you've missed the point: Backward compatability is very important for all of those commercial, closed source Linux applications.

Commercial, closed-source Linux applications are much more likely to used statically-link libraries (included in the application directory, most likely), so backward-compatibility is not really an issue, unless the app is so old that is uses a.out instead of ELF (and even then, I believe recent kernels still include a.out compatibility).

Note: IIRC the version of GCC used can have an impact...can anyone confirm this?

In any case I honestly believe that has very little to do with Linux adoption and/or availability of commercial software for it - there are many other factors for this, the main one being customer inertia and OEM pre-installing Windows.

Edited 2007-01-15 19:45

Reply Parent Score: 4