From alsa-devel-owner@alsa.jcu.cz  Sun Feb 28 23:36:41 1999
Received: from screech.cs.alfred.edu (IDENT:root@screech.cs.alfred.edu [149.84.148.201])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id XAA14260
	for <alsa-devel@alsa.jcu.cz>; Sun, 28 Feb 1999 23:35:05 +0100
Received: from Screech (lansdoct@Screech [149.84.148.201])
	by screech.cs.alfred.edu (8.8.7/8.8.7) with ESMTP id RAA21233
	for <alsa-devel@alsa.jcu.cz>; Sun, 28 Feb 1999 17:35:12 -0500
Date: Sun, 28 Feb 1999 17:35:12 -0500 (EST)
From: "Christopher T. Lansdown" <lansdoct@screech.cs.alfred.edu>
To: alsa-devel@alsa.jcu.cz
Subject: Re: (SB Live) Free drivers or not? (fwd) 
In-Reply-To: <3.0.32.19990228140401.0095b8f0@mail.inprise.com>
Message-ID: <Pine.LNX.4.05.9902281726580.20895-100000@screech.cs.alfred.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

> Am I to understand you correctly that at any time Linux can suddenly change
> the kernel to a point that current libraries ( I assume these are like .DLL
> files in MS Windows..Dynamic Linking Libraries..loaded by an app at
> run-time, instead of compile time..is this correct? .o is their name?) will
> no longer work at all? 
	The answer is yes and no.
	yes: it *can*.  Anything can change this way.  NT *can*.  Solaris
*can*.  Actually, among these groups, Linux is the lease likely to,
because if really changed in some sort of truly wacky and non-beneficial
way, someone would fork the code and everything work work on the fork.  NT
would just screw people over.  Of course, you're probably more likely to
see Bill Gates tarred and feathered then to see any OS do this.  I'd bet
on seeing elephants fly first, myself.  Every event that is theoretically
possible *can* happen.  This is just in the range of events with such a
low possiblity that people normally discount it as being impossible.  So
the conclusion is no.  Se below.
	no:  What the person was talking about was binary kernel modules.
I.e. the .o files that you load with insmod or modprobe.  If someone
writes one of those that he doesn't release source for, Linus has stated
that that is legally permissible.  He just won't think twice about
changing something internal the kernel which breaks the binary only kernel
modules.  I.e. if creative drivers are released binary only, there's no
guarantee that they will work with any kernel but the one that they were
compiled against. User space has nothing to do with this, which is what
dynamically linked libraries are about.

> I am a bit worried about this because I plan to
> support the Linux community, but I am not giving my actual program away for
> free, or the source code. I am worried that a new change in the kernel
> could render my application useless? Or is their some other means to how
> this works? I would assume that a new kernel would mean I could recompile
> my project as is and it should work, so long as it links in the correct
> libraries (if anything changed) etc.
	As long as your program stays in user space, you're fine on all
kernels.  If your program makes invasions into kernel space (the way that
insmod or modprobe and the like do), then you're not guaranteed
compataility.  I am assuming that you are talking about a purely
user-space application, so your fine through any version of Linux.
Libraries loaded by ld aren't going to be effected (e.g. libc, the math
libraries, openGL, etc.).
	Btw, you might be interested in taking a look at the economic
model of Cygnus software.  They make a great business with their main
produt (gcc) being GPLd.
	-Chris


lansdoct@cs.alfred.edu
"If I had had more time I would have written you a shorter letter." - Pascal
Linux Programs: http://cs.alfred.edu/~lansdoct/linux/
Linux - Get there. Today.


