Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-03-02 Thread Thomas Bushnell, BSG
Sean 'Shaleh' Perry [EMAIL PROTECTED] writes:

 According to the FSF, linking a GPL library is the equivalent of
 preparing a derived work.  

According to not just the FSF, linking a GPL library to something else
*IS* the preparation of a derived work.  



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-18 Thread Steve Langasek
On Fri, Jan 17, 2003 at 03:05:04PM -0500, Jeff Licquia wrote:

  Sure, code can be rewritten to use gnutls natively.  But I don't
  understand why anyone would consider this a useful expenditure of
  developer resources when the necessary OpenSSL compat glue could simply
  be made available under the LGPL.

 I suppose it depends on whose resources are being wasted.  Certainly the
 GNU project's resources aren't.

Perhaps not directly.  Who knows how many people who would otherwise be
spending time on GPL software will instead be stuck porting
free-but-GPL-incompatible software to use GNU TLS?  I find that hard to
justify.

 FWIW, porting to the native API didn't turn out to be difficult.  If the
 GNU TLS project doesn't bend on the licensing issue, it might behoove us
 to write a Porting HOWTO, or some such.

I would appreciate seeing such a document.  It seems GPL-compatibilty
with SSL-enabled postgres libs will be an issue soon for me because of
freeradius.

-- 
Steve Langasek
postmodern programmer


pgprYESBtZkK6.pgp
Description: PGP signature


Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-18 Thread Jeff Licquia
On Sat, 2003-01-18 at 11:52, Steve Langasek wrote:
 On Fri, Jan 17, 2003 at 03:05:04PM -0500, Jeff Licquia wrote:
 
  I suppose it depends on whose resources are being wasted.  Certainly the
  GNU project's resources aren't.
 
 Perhaps not directly.  Who knows how many people who would otherwise be
 spending time on GPL software will instead be stuck porting
 free-but-GPL-incompatible software to use GNU TLS?  I find that hard to
 justify.

Well, this is the GNU project we're talking about.  How much
GPL-incompatible software do they distribute?

  FWIW, porting to the native API didn't turn out to be difficult.  If the
  GNU TLS project doesn't bend on the licensing issue, it might behoove us
  to write a Porting HOWTO, or some such.
 
 I would appreciate seeing such a document.  It seems GPL-compatibilty
 with SSL-enabled postgres libs will be an issue soon for me because of
 freeradius.

Once things settle down with CUPS, I might just start writing such a
document.  Of course, I won't mind if someone beats me to it. :-)

Here's what I've learned so far:

 - SSL_library_init() and friends - gnutls_global_init().

 - You have to create a credentials object to hold your credential info
(we use X.509, these are our CAs, this is our cert, etc.).  This is kind
of like a SSL_CTX in OpenSSL, except that it's more loosely coupled. 
SSL objects are created from SSL_CTX objects, but gnutls_session objects
are independent from credentials objects and can, in theory, communicate
without them.

 - SSL_new() - gnutls_init()

 - SSL_connect() - gnutls_handshake()

 - SSL_read() - gnutls_record_recv() and SSL_write() -
gnutls_record_send().

 - SSL_shutdown() - gnutls_bye()

 - Errors are nicer.  gnutls_perror() and gnutls_strerror() do pretty
much what you think they'd do.

The documentation on the GNU TLS page seem pretty good.  They even
include examples of both clients and servers at various sophistication
levels.



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-18 Thread Sean 'Shaleh' Perry
On Saturday 18 January 2003 10:00, Steve Langasek wrote:
 On Sat, Jan 18, 2003 at 12:32:34PM -0500, Jeff Licquia wrote:
   Perhaps not directly.  Who knows how many people who would otherwise be
   spending time on GPL software will instead be stuck porting
   free-but-GPL-incompatible software to use GNU TLS?  I find that hard to
   justify.
 
  Well, this is the GNU project we're talking about.  How much
  GPL-incompatible software do they distribute?

 None that I know of.  Are you ascribing to the GNU project the position
 that if you're not one of us, we don't care what hoops you have to jump
 through, even if those hoops eat up time you would have spent working on
 GNU software?

yes, see libreadline.  *LOTS* of software would use it if it was not GPL.



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-18 Thread Jeff Licquia
On Sat, 2003-01-18 at 13:00, Steve Langasek wrote:
 On Sat, Jan 18, 2003 at 12:32:34PM -0500, Jeff Licquia wrote:
  Well, this is the GNU project we're talking about.  How much
  GPL-incompatible software do they distribute?
 
 None that I know of.  Are you ascribing to the GNU project the position
 that if you're not one of us, we don't care what hoops you have to jump
 through, even if those hoops eat up time you would have spent working on
 GNU software?

Not as a general stereotype.  But certain elements within it do feel
this way, or at least put off that impression.

Myopia is also possible.  Anyone involved in a cohesive project can
start to get tunnel vision; it happens to the best of us.



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-17 Thread Jeff Licquia
On Thu, 2003-01-16 at 11:56, Steve Langasek wrote:
 While true, this doesn't address the fundamental complaint that the
 licensing of the OpenSSL compatibility layer renders it worthless for
 most applications.  The ironic result is that those who write
 GPL-compatible software are free to use the older APIs that are
 historically associated with GPL-incompatible code; and those who write
 GPL-incompatible software, free or not, must choose between using
 libraries that are wholly GPL-incompatible, or using libraries with a
 learning curve.

This could be interpreted as a subtle promotion of the GPL (and
compatible licenses).  The requirement to port, under this theory, is
like a tax on incompatibly licensed projects.

In my case, though, it backfired.  There is no incompatibility between
CUPS and the GPL in and of itself, but upstream has a strong vested
interest in not losing the additional privileges of the LGPL on the CUPS
libraries.  To them, even accepting the patch to *allow* this
configuration made too many implied statements.  So, they felt obligated
to reject the patch and continue to force people to use OpenSSL for
encrypted communications.  This puts GPLed projects in a quandary: write
an OpenSSL exception to their license, or forego better integration with
CUPS printing?

Fortunately, this case ends on a happy note.  I got fed up with the
issues and ported CUPS to the native GNU TLS API, and upstream has
accepted the patch.  It will show up in 1.1.19 (and possibly 1.1.18-3
and following in Debian).

 Sure, code can be rewritten to use gnutls natively.  But I don't
 understand why anyone would consider this a useful expenditure of
 developer resources when the necessary OpenSSL compat glue could simply
 be made available under the LGPL.

I suppose it depends on whose resources are being wasted.  Certainly the
GNU project's resources aren't.

FWIW, porting to the native API didn't turn out to be difficult.  If the
GNU TLS project doesn't bend on the licensing issue, it might behoove us
to write a Porting HOWTO, or some such.

-- 
Jeff Licquia [EMAIL PROTECTED]



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-16 Thread Sean 'Shaleh' Perry
On Thursday 16 January 2003 02:50, Shaul Karl wrote:
   Can someone explain what is the problem with the following situation?
 In particular, why it is important here to have the OpenSSL layer
 relicense under the LGPL?



According to the FSF, linking a GPL library is the equivalent of preparing a 
derived work.  Thus if you link a GPL library your entire application becomes 
GPL.  This means a GPL library is useless to many, many applications both 
free and proprietary.



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-16 Thread Simon Josefsson
Steve Langasek [EMAIL PROTECTED] writes:

 Hi Shaul,

 On Thu, Jan 16, 2003 at 12:50:57PM +0200, Shaul Karl wrote:
   Can someone explain what is the problem with the following situation?
 In particular, why it is important here to have the OpenSSL layer
 relicense under the LGPL?

 Think of the case of an LGPL library that wants to include SSL
 functionality.  If it links against the GPLed GNU TLS layer, it cannot be
 used by GPL-incompatible apps, because the GPL requires the application
 to be distributed under the terms of the GPL; if it links against the
 OpenSSL libs, it cannot be used by GPL apps, which require the same thing
 of the libraries.

There is a third option: Make the library use GNU TLS natively,
without the OpenSSL compatibility layer.  GNU TLS core is LGPL.



Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-16 Thread Steve Langasek
On Thu, Jan 16, 2003 at 05:40:47PM +0100, Simon Josefsson wrote:
 Steve Langasek [EMAIL PROTECTED] writes:

  Think of the case of an LGPL library that wants to include SSL
  functionality.  If it links against the GPLed GNU TLS layer, it cannot be
  used by GPL-incompatible apps, because the GPL requires the application
  to be distributed under the terms of the GPL; if it links against the
  OpenSSL libs, it cannot be used by GPL apps, which require the same thing
  of the libraries.

 There is a third option: Make the library use GNU TLS natively,
 without the OpenSSL compatibility layer.  GNU TLS core is LGPL.

While true, this doesn't address the fundamental complaint that the
licensing of the OpenSSL compatibility layer renders it worthless for
most applications.  The ironic result is that those who write
GPL-compatible software are free to use the older APIs that are
historically associated with GPL-incompatible code; and those who write
GPL-incompatible software, free or not, must choose between using
libraries that are wholly GPL-incompatible, or using libraries with a
learning curve.

And Debian is stuck in the middle.

Sure, code can be rewritten to use gnutls natively.  But I don't
understand why anyone would consider this a useful expenditure of
developer resources when the necessary OpenSSL compat glue could simply
be made available under the LGPL.

-- 
Steve Langasek
postmodern programmer


pgpM1HYhgH7E5.pgp
Description: PGP signature


Re: GNU TLS OpenSSL compatibility layer under GPL, not LGPL

2003-01-16 Thread Glenn Maynard
On Thu, Jan 16, 2003 at 05:40:47PM +0100, Simon Josefsson wrote:
 There is a third option: Make the library use GNU TLS natively,
 without the OpenSSL compatibility layer.  GNU TLS core is LGPL.

This is just an argument that the compat layer doesn't need to exist at
all, which is basically true; it exists to make switching from OpenSSL
easier, not to make it possible.

But it doesn't seem to be related to which license it should use.  If
it's useful for GPL apps, it'd be just as useful for (as Steve mentioned)
LGPL libraries.

-- 
Glenn Maynard