Strategy (was Re: Improving copyright)

Jeroen Dekkers jeroen at dekkers.cx
Sat May 15 19:33:52 UTC 2004


At Sat, 15 May 2004 17:38:16 +0100,
Niall Douglas wrote:
> 
> On 15 May 2004 at 10:52, Jeroen Dekkers wrote:
> 
> > > Well you're not exactly comparing apples with apples here. Many
> > > command line programs are simple enough that a FreeBSD built binary
> > > runs on Linux fine because it uses nothing more than the basic POSIX
> > > API (despite different clib's) which is of course identical on both
> > > as both are compiled with GCC.
> > 
> > Totally wrong. You're talking about APIs, but compiled programs use
> > ABIs, which is a different thing. And no, the ABIs between the FreeBSD
> > C library and the GNU one are very different.
> 
> Both the GNU and BSD C libraries offer the same API's eg; size_t 
> fread(void *buffer, size_t size, size_t count, FILE *stream). Both 
> use the same compiler (GCC) and so therefore that API will convert 
> into the same ABI eg; _fread using the same parameter to stack 
> conversion mechanism (the procedural call convention).
> 
> Therefore if your program used very few extremely universal calls you 
> could even change the entire operating system and the binary need not 
> know any better. If Windows also used ELF binaries you could even 
> have a good chance of running a simple Win32 binary on FreeBSD if you 
> mapped the Win32 C library to the FreeBSD one using /etc/ld.conf (is 
> that the right file? I always have to look it up).

Neal already explained this is totally wrong.
 
> > > If you can find me an X11 binary from 1996 than runs unmodified on a
> > > modern installation without using some legacy binary compatibility
> > > package then I'll gladly retract my assertion.
> > 
> > Your assertion "A Linux binary from 1996 stands *zero* *chance* of
> > running unmodified on the latest Linux" is proven wrong.
> 
> I would argue it's not a Linux binary - I know that's slicing words. 
> Ok clarified version: "A Linux binary from 1996 of a similar 
> complexity to typical binaries running on Windows at the same period 
> stands *zero* *chance* of running unmodified on the latest Linux 
> without some form of library emulation package". Quite a mouthful, 
> which is why I didn't write it first time.

I think cvs is a lot more complex than notepad.
 
> > And IMHO binary compatibility isn't really important. Source
> > compatibility is a lot more important, because you can just recompile
> > the program you have.
> 
> Do even 90% of the world's computer users know what a compiler is?

No. What has this to do with it?
 
> That kind of foolish statement is unfortunately typical of 
> programmers from a Unix background. Thank god we're finally getting 
> over it.

What is foolish about it? Do I say the users have to recompile it?
No, I don't. The recompiling can just be done by the distribution the
user is using, or somewhere else the user gets his binary.

Jeroen Dekkers



More information about the Discussion mailing list