[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: multiarch/bi-arch status (ETA) question



On 7/5/05, David Wood <obsidian@panix.com> wrote:
> On Tue, 5 Jul 2005, Adam Stiles wrote:
> 
> > Binary compatibility is irrelevant at best  {every Linux machine already has a
> > compiler installed}  and harmful at worst  {Windows has wide-scale binary
> > compatibility -- and rampant malware}.  

That is the theory, and I do believe in theory... until something more
practical comes along. I use Openoffice, Acrobat Reader, Partimage,
Mplayer, a bit of Wine, Oracle and sometimes Matlab for Linux. That
makes seven applications that are not supported on pure-amd64. To the
average user, running or not running seven applications is *way* more
important than your theory. In fact, the average user is probably
better off with a 32bit system, until he/she has 4 GB of memory.

> 1) We don't care about anything that's not free software. (This is already
> too much for most people, but let's say that's no problem...)

Yep, that is the Debian stance. And Debian constantly redefines what
counts as free software, which means you can suddenly be out in the
rain.

> 2) We believe that C/C++ is usually magically portable across hardware
> architectures.

As programmer I have to say that it should be, if you apply the due
care. However, it will never really work unless you actually test and
debug it. BTW, gcc/gdb does not properly support 64bit on SPARC, just
as a side note on "magically portable".

> 3) For any software, like say wine, mplayer with win32 emulation, etc,
> where the magic doesn't work, we expect you to _not_ switch architectures,
> or _not_ use that software, until you port it properly. 

Software that does not compile on 32bit is conceptually broken, and it
has to be fixed. That is correct from a software engineering point of
view. However, for the user broken software is completely fine, as
long as it works.

> This is where I fail to see the logic that binary compatibility is
> harmful. 

It is backwards logic. Binary compatibility is a good think, but it is
more important for closed source systems than for open source systems.
Binary compatibility also comes at a price: more wrappers, more
effort, slower development. This is more relevant for open source
projects than for commercial software.

Therefore commercial closed software has a completely different
compromise for binary compatibility than open source software. Open
source software trades binary compatibility for conceptual clarity and
easier development. So not requiring binary compatibility can buy us
advantages, but it is not in itself a good thing.

My point is that I don't see much advantage of AMD64 for the average
user, but I see *lots* of disadvantages. And that is especially true
for Debian: every other 64bit system I have tested was taking a more
user oriented stance on this issue.

Thomas



Reply to: