>> Linux/ELF certainly does support DLLs. Shared libraries (.so's) are
>> essentially equivalent.
>
>I don't think so. DLLs come with a documented, supported API that allows
>dynamic linking at run time, where both the DLL name and the entry point
>name can be computed strings. (See my prior point about failure to
>establish stable higher-level APIs.) DLLs also have explicit control over
>which names from the link get exported -- they don't automatically export
>all extern names. This makes DLLs much more suitable as a way to package
>reusable functionality.
If I understand right, ELF supports all this, though documentation and
support are not what they should be, otherwise you wouldn't be confused.
Control of entry points under C is a mess, involving a large number of
"static" statements. I don't think ld has any way to limit the export
of global variables from a shared library. MS fixes this in one of
their utilities.
>> The GPL model may not be the best model in all or even most cases, but
>> what other way is there to distribute the ownership of (ie. the money)
>> from a program that has (like many programs) many authors.
>
>The GPL model has no direct relationship with the ownership of the code:
>ownership of the code copyright resides with anyone who has contributed to
>it
> ...
>The GPL model for distributing the money also bears no relation to either
>the authorship or the ownership of the code. The only people who can make
>money from GPL'ed code are distributors and service providers.
> ...
>The GPL is a fine way to distribute the *benefits* of multi-author software,
>but, in my opinion, not a good way to distribute the *rewards* of creating
>it.
As you say, a program belongs to all its authors, and any of them has
the right to stop its use. In this way, it's like a piece of property
tied up in escrow with many owners; such land often stays vacant for a
long time. From a practical point of view, there seems to be only two
ways to handle this:
(1) Have somebody (Bill Gates) contract with a number of people to write
what's necessary, and pay them what they are willing to accept.
(2) Cast your bread on the waters. (GPL)
I write *seems*, because I'd like to find a third option; but I don't know
what it is.
Jonathan Ryshpan <jon@halsp.hitachi.com>
Those who have put out the eyes of the people
reproach them for their blindness. -- Milton