[snip]
> a program in /contrib linking to an LGPL lib has never been 
> an issue.  
> Linking to LGPL libs doesn't encumber the software linking to it.
> 
> > > If that is a real objective, I'm surprised.
> > 
> > The base source tree has always been as BSD pure as we can 
> make it ... 
> > its never been kept a secret ...
> 
> True.  But not linking to LGPLd libs would be a bit extreme there.

========================================================================
=======
NOTE UP FRONT -- Please email all flames directly to me at
dcorbit@connx.com ...
========================================================================
=======

I disagree.  Because of the language in the LGPL:
http://www.gnu.org/copyleft/lesser.txt

I would not use LGPL tools in any finished commercial project.  For me,
if PostgreSQL linked against LGPL libraries, it would kill its
usefulness for me completely.

One interpretation of the following:
 "For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you.  You must make sure that they, too, receive or can get the source
code.  If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it.  And you must show them these terms so they know their rights."

Would be that tools that use LGPL libraries must also be distributed
without cost.

Consider this section:

 "However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library".  The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables."

LGPL is also a virus [IMO-YMMV].  Please send all flames directly to my
email address [dcorbit@connx.com] so we don't fill up the PG list with
advocacy stuff.

Commercial systems can get very paranoid over questionable legal
language.  Even if what it says is not "what was intended" -- that is
still what it says and might possibly be enforced at some future time.

Pure opinion of mine says...
The BSD license is a very good license.
The ACE license is a very good license.
http://www.cs.wustl.edu/~schmidt/ACE-copying.html
The MIT license is a very good license.

There are others:
http://www.opensource.org/licenses/

Now, I don't care if PostgreSQL has a TON of GPL stuff in it as long as
it is OPTIONAL.  I don't care if you have to use GPL/LGPL tools to build
it, as long as they are not directly linked into it.


Wed, 2 Apr 2003 15:11:54 -0800
"Dann Corbit" <DCorbit@connx.com>
Re: contrib and licensing
On Wednesday 02 April 2003 18:11, Dann Corbit wrote:
[snip]
> > True.  But not linking to LGPLd libs would be a bit extreme there.

> I disagree.  Because of the language in the LGPL:
> http://www.gnu.org/copyleft/lesser.txt
>
> I would not use LGPL tools in any finished commercial project.  For me,
> if PostgreSQL linked against LGPL libraries, it would kill its
> usefulness for me completely.

>  "However, linking a "work that uses the Library" with the Library
> creates an executable that is a derivative of the Library (because it
> contains portions of the Library), rather than a "work that uses the
> library".  The executable is therefore covered by this License.
> Section 6 states terms for distribution of such executables."

<stifles ROTFL>

Everyone does realize that on Linux PostgreSQL binaries link against glibc, 
which is LGPL......
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11


Wed, 2 Apr 2003 20:56:54 -0500
Lamar Owen <lamar.owen@wgcr.org>
Re: contrib and licensing

On Wed, 2 Apr 2003, Lamar Owen wrote:

> On Wednesday 02 April 2003 18:11, Dann Corbit wrote:
> [snip]
> > > True.  But not linking to LGPLd libs would be a bit extreme there.
>
> > I disagree.  Because of the language in the LGPL:
> > http://www.gnu.org/copyleft/lesser.txt
> >
> > I would not use LGPL tools in any finished commercial project.  For me,
> > if PostgreSQL linked against LGPL libraries, it would kill its
> > usefulness for me completely.
>
> >  "However, linking a "work that uses the Library" with the Library
> > creates an executable that is a derivative of the Library (because it
> > contains portions of the Library), rather than a "work that uses the
> > library".  The executable is therefore covered by this License.
> > Section 6 states terms for distribution of such executables."
>
> <stifles ROTFL>
>
> Everyone does realize that on Linux PostgreSQL binaries link against glibc,
> which is LGPL......

I assume the standard dynamic linker counts as "a suitable shared library
mechanism for linking with the Library" as per LGPL 6b. ;)


Wed, 2 Apr 2003 18:59:03 -0800 (PST)
Stephan Szabo <sszabo@megazone23.bigpanda.com>
Re: contrib and licensing
Lamar Owen <lamar.owen@wgcr.org> writes:
> <stifles ROTFL>

> Everyone does realize that on Linux PostgreSQL binaries link against glibc, 
> which is LGPL......

And your point is?

On other Unixoid systems you can link against BSD-license libc code, or
some-random-proprietary-license code from HP or Sun or whomever.  glibc
doesn't have a monopoly in that sphere.  But mlw is offering code that
will *only* run against a single implementation that is LGPL licensed.
That makes it effectively LGPL.

			regards, tom lane


Wed, 02 Apr 2003 22:39:57 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: contrib and licensing 
On Wednesday 02 April 2003 22:39, Tom Lane wrote:
> Lamar Owen <lamar.owen@wgcr.org> writes:
> > <stifles ROTFL>

> > Everyone does realize that on Linux PostgreSQL binaries link against
> > glibc, which is LGPL......

> And your point is?

That everyone is being entirely too picky.  Hey, we link against other things, 
too.  Some aren't LGPL.  The readline example is a good one, incidentally: 
it's GPL.  And its stubs are in the backend, of all places.  At least on 
Linux.

Gotta watch any 'static builds' then.

> On other Unixoid systems you can link against BSD-license libc code, or
> some-random-proprietary-license code from HP or Sun or whomever.  glibc
> doesn't have a monopoly in that sphere.  But mlw is offering code that
> will *only* run against a single implementation that is LGPL licensed.
> That makes it effectively LGPL.

One could clean-room reimplement if the demand is enough.  

But, if one wants to get picky, let's talk about the license issue of 
PL/Python.  The PSF looks like a rat's nest. 
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11


Wed, 2 Apr 2003 23:53:38 -0500
Lamar Owen <lamar.owen@wgcr.org>
Re: contrib and licensing
Lamar Owen <lamar.owen@wgcr.org> writes:
>> And your point is?

> That everyone is being entirely too picky.  Hey, we link against other
> things, too.  Some aren't LGPL.  The readline example is a good one,
> incidentally: it's GPL.

Yeah, it's an excellent example: there is an alternative implementation
under a different license (libedit).

> And its stubs are in the backend, of all places.

Really?  I must have missed that.

> One could clean-room reimplement if the demand is enough.  

Certainly, any of this stuff *could* be reimplemented.  But for stuff
that's being proposed for contrib, what's theoretically possible given
enough demand isn't the important real-world issue.  Contrib stuff is,
by definition, stuff that hasn't yet had all that much work put into it.
So it's appropriate to ask where it can really run *right now*.

			regards, tom lane


Thu, 03 Apr 2003 00:04:33 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: contrib and licensing 
On Wednesday 02 April 2003 21:59, Stephan Szabo wrote:
> On Wed, 2 Apr 2003, Lamar Owen wrote:
> > >  "However, linking a "work that uses the Library" with the Library
> > > creates an executable that is a derivative of the Library (because it
> > > contains portions of the Library), rather than a "work that uses the
> > > library".  The executable is therefore covered by this License.
> > > Section 6 states terms for distribution of such executables."

> > Everyone does realize that on Linux PostgreSQL binaries link against
> > glibc, which is LGPL......

> I assume the standard dynamic linker counts as "a suitable shared library
> mechanism for linking with the Library" as per LGPL 6b. ;)

Then I guess we had better not make any static linked builds, no?

The whole thread just got ridiculous, that's all.  So I attempted to 
illuminate the 'ridiculosity' of the whole matter.  Speaking of 'ridiculous' 
reminds me:

Readline is full-bore GPL.  There's no 6b exception there.  We dynamically 
link readline, on most Linux distributions.  Of course, Tom has a point; 
there are alternatives available.  None are as good as readline, though.  
Which is one of the reasons it's GPL'd in the first place, according the the 
GPL FAQ.  

In fact, the GPL FAQ contains this little tidbit:

'If a library is released under the GPL (not the LGPL), does that mean that 
any program which uses it has to be under the GPL?
    Yes, because the program as it is actually run includes the library.'

:-O

Hmmm..... 'as it is actually run' means with the library embedded in the 
resulting dynamically linked program -- just because it's dynamically linked 
doesn't mean that code isn't part of the program.  Should we say 'bye bye' to 
readline?

Of course, there's the issue of the BSD license being 'compatible' with the 
GPL.  Then it gets hairy.  And picky.  Fun fun fun.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11


Thu, 3 Apr 2003 00:24:17 -0500
Lamar Owen <lamar.owen@wgcr.org>
Re: contrib and licensing
On Thursday 03 April 2003 00:04, Tom Lane wrote:
> Lamar Owen <lamar.owen@wgcr.org> writes:
> > And its stubs are in the backend, of all places.

> Really?  I must have missed that.

On Linux as compiled in Red Hat 9, at least:
[lowen@localhost lowen]$ ldd /usr/bin/postgres
        libpam.so.0 => /lib/libpam.so.0 (0x4002c000)
        libssl.so.4 => /lib/libssl.so.4 (0x40034000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x40069000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4015a000)
        libz.so.1 => /usr/lib/libz.so.1 (0x401b8000)
        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x401c6000)
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x401f3000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x401f7000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x40224000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40236000)
        libdl.so.2 => /lib/libdl.so.2 (0x4024b000)
        libm.so.6 => /lib/tls/libm.so.6 (0x4024e000)
        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x40271000)
        libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 
(0x40273000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x40286000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
[lowen@localhost lowen]$ /usr/bin/postgres --version
postgres (PostgreSQL) 7.3.2
[lowen@localhost lowen]$

> Certainly, any of this stuff *could* be reimplemented.  But for stuff
> that's being proposed for contrib, what's theoretically possible given
> enough demand isn't the important real-world issue.  Contrib stuff is,
> by definition, stuff that hasn't yet had all that much work put into it.
> So it's appropriate to ask where it can really run *right now*.

FWIW, very few things in contrib use anything beyond libc.  The dblink stuff 
is a notable exception.  It needs an SSL and a Kerberos 5 library.

If the library is reasonably popular (meaning it's in at least one major OS 
distribution, including Debian) then 'what's the harm?'  If the lib isn't 
that popular, then, regardless of license the question 'should something that 
uses it even be here' should be asked.  The issue of a straight GPL library 
is serious for us; a LGPL one less so.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11


Thu, 3 Apr 2003 00:35:15 -0500
Lamar Owen <lamar.owen@wgcr.org>
Re: contrib and licensing


Tom Lane wrote:

>  
>
>On other Unixoid systems you can link against BSD-license libc code, or
>some-random-proprietary-license code from HP or Sun or whomever.  glibc
>doesn't have a monopoly in that sphere.  But mlw is offering code that
>will *only* run against a single implementation that is LGPL licensed.
>That makes it effectively LGPL.
>  
>
Here is my "vision" for  lack of a better term.

Server 'A' runs a "web services" version of a PostgreSQL server, (or any 
soap server) I have a working prototype that works.
Server 'B' runs a different instance of PostgreSQL.

With the ability to return multiple columns in a set of rows from a 
function, it should be possible to do this:

select foo.a, bar.b from foo, 
soapexec('http://somehost/pgsql?query=select+b+from+bar') as bar where 
foo.b = bar.b;

(or something to that effect, the SQL may not be perfect.)

To be able to do that, we need:

some HTTP request code
a solid XML/SOAP parser.
The "soapexec" function needs to be able to do a few things:
Return more than one column in a multirow set.
Find out the field names that are expected.
Find out the datatypes that are expected to be returned to the query.

Tom, when one creates a function, can the function tell, in an efficient 
way, what data types and names may be expected?

I have been talking about adding this feature to a few developers not 
involved with PostgreSQL, and they are finatic about the idea. As far as 
I can tell no other DB does this.



>
>  
>


Thu, 03 Apr 2003 07:50:16 -0500
mlw <pgsql@mohawksoft.com>
Re: contrib and licensing
Lamar Owen <lamar.owen@wgcr.org> writes:
>>> And its stubs are in the backend, of all places.

>> Really?  I must have missed that.

> On Linux as compiled in Red Hat 9, at least:
> [lowen@localhost lowen]$ ldd /usr/bin/postgres
>         libreadline.so.4 => /usr/lib/libreadline.so.4 (0x401c6000)

That's because our build mechanism links *all* needed libraries in *all*
executables, rather than trying to distinguish which ones are actually
used by each executable.  The ldd indication is the only connection to
libreadline --- if it had been a statically-linked situation, you'd find
no trace of readline (nor several other of these libraries, I suspect)
in the backend executable.

			regards, tom lane


Thu, 03 Apr 2003 09:29:39 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: contrib and licensing 
On Thursday 03 April 2003 09:29, Tom Lane wrote:
> Lamar Owen <lamar.owen@wgcr.org> writes:
> >>> And its stubs are in the backend, of all places.

> >> Really?  I must have missed that.

> > On Linux as compiled in Red Hat 9, at least:
> > [lowen@localhost lowen]$ ldd /usr/bin/postgres
> >         libreadline.so.4 => /usr/lib/libreadline.so.4 (0x401c6000)

> That's because our build mechanism links *all* needed libraries in *all*
> executables, rather than trying to distinguish which ones are actually
> used by each executable.  The ldd indication is the only connection to
> libreadline --- if it had been a statically-linked situation, you'd find
> no trace of readline (nor several other of these libraries, I suspect)
> in the backend executable.

As I said, its 'stub' is there.

But it is in (and used by) psql (as of 7.3.2).
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11


Thu, 3 Apr 2003 11:38:59 -0500
Lamar Owen <lamar.owen@wgcr.org>
Re: contrib and licensing
Lamar Owen <lamar.owen@wgcr.org> writes:
> But it is in (and used by) psql (as of 7.3.2).

Certainly.  I don't see a problem with that as far as the source
distribution goes; you can build it with readline, libedit, or neither.
Binary distributions are another matter.  I think a pretty good case
could be made for switching the RPMs to use libedit, if one wants to be
morally pristine about license issues.

			regards, tom lane


Thu, 03 Apr 2003 11:47:38 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: contrib and licensing 