netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Brian F. G. Bidulock" <bidulock@openss7.org>
To: Chase Venters <chase.venters@clientec.com>
Cc: Daniel Phillips <phillips@google.com>,
	Stephen Hemminger <shemminger@osdl.org>,
	Sridhar Samudrala <sri@us.ibm.com>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC/PATCH 1/2] in-kernel sockets API
Date: Tue, 13 Jun 2006 18:31:12 -0600	[thread overview]
Message-ID: <20060613183112.B8460@openss7.org> (raw)
In-Reply-To: <200606131859.43695.chase.venters@clientec.com>; from chase.venters@clientec.com on Tue, Jun 13, 2006 at 06:59:21PM -0500

Chase,

On Tue, 13 Jun 2006, Chase Venters wrote:
> 
> It depends on what you mean by "pure-BSD". If you're talking about the 
> 4-clause license with the advertising clause, then you are correct. Otherwise 
> (IANAL) but my understanding is that BSD code can even be relicensed GPL by a 
> third party contribution (though it is perhaps kind to ask for relicensing 
> permission anyway).

Yes, and the long list of open source licenses listed on the FSF website
as incompatible with the GPL.

> Then would offering a 'stable API in disguise' not be a disaster and an 
> irritation to these people? If the kernel doesn't specify that an in-kernel 
> interface is stable, then there is no reason to expect it to be. It might not 
> change, but there won't be too much sympathy for out-of-tree users if it 
> does. The kernel comes with big warnings about the lack of a stable API for a 
> reason.

In fact most core kernel facilities (spin lock, memory caches, character and
block device interface, even core file system) have had a very stable API
(way back to early 2.4 kernels).  An in fact most of them are derived from
some variant or precursor to UNIX.  For example, memory caches are a Sun
Solaris concept.

It is the lack of an ABI that is most frustrating to these users.

> 
> > Another thing to consider is that the first step for many organizations in
> > opening a driver under GPL is to release a proprietary module that at least
> > first works.  
> 
> If the driver is an old-tech Linux port, then it seems there isn't too much 
> stopping them from doing this today (aside from the fact that some people 
> think proprietary modules are murky anyway). In this case, we don't want a 
> stable API/ABI, because then we leave them with little incentive to open the 
> code.

"old-tech"?  No, these are high-tech drivers supported by commercial RTOS,
from which Linux stands to benefit.  And, by not allowing these organizations
to take the first step (generate a workable Linux driver) such a policy
provides them little incentive to ever move the driver to Linux, and cuts
them off from opening it.

I don't think that it is fair to say that an unstable API/ABI, in of itself,
provides an incentive to open an existing proprietary driver.

> We're not as perfect as I wish we were. But the lack of stable API (dead 
> horse) is something that is fairly well established and understood. I think 
> most people feel that the cost-benefit analysis, for Linux anyway, strongly 
> favors no stable API.

Well, the lack of a stable ABI is well known.  The API is largely stable (but
not sacrosanctly so) for the major reason that changing it within a large
code base is difficult and error prone at best.

  reply	other threads:[~2006-06-14  0:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-12 23:56 [RFC/PATCH 1/2] in-kernel sockets API Sridhar Samudrala
2006-06-13  5:07 ` Stephen Hemminger
2006-06-13 11:13   ` Arnaldo Carvalho de Melo
2006-06-13 11:22   ` Brian F. G. Bidulock
2006-06-13 21:12     ` Daniel Phillips
2006-06-13 21:40       ` Brian F. G. Bidulock
2006-06-13 22:00         ` Chase Venters
2006-06-13 22:30           ` Daniel Phillips
2006-06-13 22:47             ` Brian F. G. Bidulock
2006-06-13 23:59               ` Chase Venters
2006-06-14  0:31                 ` Brian F. G. Bidulock [this message]
2006-06-14  0:53                   ` Chase Venters
2006-06-14  6:07                     ` Brian F. G. Bidulock
2006-06-14  7:58                       ` Chase Venters
2006-06-14  9:28                         ` Brian F. G. Bidulock
2006-06-14 10:43                       ` Alan Cox
2006-06-14 10:54                         ` Brian F. G. Bidulock
2006-06-14 10:36                     ` Theodore Tso
2006-06-13 22:44           ` Brian F. G. Bidulock
2006-06-13 23:42           ` Ben Greear
2006-06-14  0:05             ` Chase Venters
2006-06-14  0:18               ` Brian F. G. Bidulock
2006-06-14  0:29                 ` Chase Venters
2006-06-14  0:36                   ` Brian F. G. Bidulock
2006-06-14  0:19               ` Ben Greear
2006-06-14  0:38                 ` Brian F. G. Bidulock
2006-06-14 13:30       ` Harald Welte
2006-06-14 14:29         ` Erik Mouw
2006-06-14 15:26           ` Harald Welte
2006-06-14 17:48         ` Daniel Phillips
2006-06-14 18:03           ` Brian F. G. Bidulock
2006-06-14 20:52           ` Sridhar Samudrala
2006-06-13 14:58 ` Jan Engelhardt
2006-06-13 16:27   ` Sridhar Samudrala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060613183112.B8460@openss7.org \
    --to=bidulock@openss7.org \
    --cc=chase.venters@clientec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=phillips@google.com \
    --cc=shemminger@osdl.org \
    --cc=sri@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).