Thread: contrib and licensing

contrib and licensing

From
mlw
Date:
I know nothing in contrib should be GPL, I have no problem with that. 
The question is the requirement of a GPL library to build a contrib project.

My SOAP/XML function will probably require my LGPL library as there is a 
lot of code I have written that I would need to implement it.

Is there any sort of philosophical problem with that?



Re: contrib and licensing

From
Rod Taylor
Date:
On Tue, 2003-04-01 at 16:31, mlw wrote:
> I know nothing in contrib should be GPL, I have no problem with that.
> The question is the requirement of a GPL library to build a contrib project.
>
> My SOAP/XML function will probably require my LGPL library as there is a
> lot of code I have written that I would need to implement it.
>
> Is there any sort of philosophical problem with that?

There is a big difference between an LGPL'd library and a GPL'd library.

The latter may have problems as I believe your code should be GPL'd, but
the former should be fine.

--
Rod Taylor <rbt@rbt.ca>

PGP Key: http://www.rbt.ca/rbtpub.asc

Re: contrib and licensing

From
Tom Lane
Date:
mlw <pgsql@mohawksoft.com> writes:
> I know nothing in contrib should be GPL, I have no problem with that. 
> The question is the requirement of a GPL library to build a contrib project.

> My SOAP/XML function will probably require my LGPL library as there is a 
> lot of code I have written that I would need to implement it.

If it won't work without your library then there's not much point in
putting it into contrib.  Might as well just put it in your library
and distribute same as you have been doing.
        regards, tom lane



Re: contrib and licensing

From
mlw
Date:

Tom Lane wrote:

>mlw <pgsql@mohawksoft.com> writes:
>  
>
>>I know nothing in contrib should be GPL, I have no problem with that. 
>>The question is the requirement of a GPL library to build a contrib project.
>>    
>>
>
>  
>
>>My SOAP/XML function will probably require my LGPL library as there is a 
>>lot of code I have written that I would need to implement it.
>>    
>>
>
>If it won't work without your library then there's not much point in
>putting it into contrib.  Might as well just put it in your library
>and distribute same as you have been doing.
>  
>
I'm a little put off by this attitude, are you saying there are no LGPL 
dependencies in PostgreSQL or /contrib?

If that is a real objective, I'm surprised.



Re: contrib and licensing

From
"Marc G. Fournier"
Date:
On Wed, 2 Apr 2003, mlw wrote:

>
>
> Tom Lane wrote:
>
> >mlw <pgsql@mohawksoft.com> writes:
> >
> >
> >>I know nothing in contrib should be GPL, I have no problem with that.
> >>The question is the requirement of a GPL library to build a contrib project.
> >>
> >>
> >
> >
> >
> >>My SOAP/XML function will probably require my LGPL library as there is a
> >>lot of code I have written that I would need to implement it.
> >>
> >>
> >
> >If it won't work without your library then there's not much point in
> >putting it into contrib.  Might as well just put it in your library
> >and distribute same as you have been doing.
> >
> >
> I'm a little put off by this attitude, are you saying there are no LGPL
> dependencies in PostgreSQL or /contrib?

In fact, yes ... or, at least, if there are any left in /contrib, its only
because we haven't moved them to gborg yet ...

> 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 ...



Re: contrib and licensing

From
"scott.marlowe"
Date:
On Wed, 2 Apr 2003, mlw wrote:

> 
> 
> Tom Lane wrote:
> 
> >mlw <pgsql@mohawksoft.com> writes:
> >  
> >
> >>I know nothing in contrib should be GPL, I have no problem with that. 
> >>The question is the requirement of a GPL library to build a contrib project.
> >>    
> >>
> >
> >  
> >
> >>My SOAP/XML function will probably require my LGPL library as there is a 
> >>lot of code I have written that I would need to implement it.
> >>    
> >>
> >
> >If it won't work without your library then there's not much point in
> >putting it into contrib.  Might as well just put it in your library
> >and distribute same as you have been doing.
> >  
> >
> I'm a little put off by this attitude, are you saying there are no LGPL 
> dependencies in PostgreSQL or /contrib?
> 
> If that is a real objective, I'm surprised.

I think it's more that if the lib is commonly included in most 
environments, like say readline is, then someone will have to download the 
lib seperately anyway, so you might as well have the soap functions be 
there at the same place.

If your LGPL lib and / or an analog in BSD land are common, then including 
it in contrib would make perfect sense.



Re: contrib and licensing

From
"scott.marlowe"
Date:
On Wed, 2 Apr 2003, Marc G. Fournier wrote:

> On Wed, 2 Apr 2003, mlw wrote:
> 
> >
> >
> > Tom Lane wrote:
> >
> > >mlw <pgsql@mohawksoft.com> writes:
> > >
> > >
> > >>I know nothing in contrib should be GPL, I have no problem with that.
> > >>The question is the requirement of a GPL library to build a contrib project.
> > >>
> > >>
> > >
> > >
> > >
> > >>My SOAP/XML function will probably require my LGPL library as there is a
> > >>lot of code I have written that I would need to implement it.
> > >>
> > >>
> > >
> > >If it won't work without your library then there's not much point in
> > >putting it into contrib.  Might as well just put it in your library
> > >and distribute same as you have been doing.
> > >
> > >
> > I'm a little put off by this attitude, are you saying there are no LGPL
> > dependencies in PostgreSQL or /contrib?
> 
> In fact, yes ... or, at least, if there are any left in /contrib, its only
> because we haven't moved them to gborg yet ...

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.



Re: contrib and licensing

From
Peter Eisentraut
Date:
mlw writes:

> I'm a little put off by this attitude, are you saying there are no LGPL
> dependencies in PostgreSQL or /contrib?

No, the point is, why put it in contrib when someone who wants to use it
has to download your library anyway.  Then you might as well distribute
the module next to that library.

-- 
Peter Eisentraut   peter_e@gmx.net



Re: contrib and licensing

From
"Marc G. Fournier"
Date:
On Wed, 2 Apr 2003, scott.marlowe wrote:

> > > 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.

Correct, we've always had libreadline support, as a compile option, but
libreadline is not part of the distribution, only the hooks to it are ...
and, just recently, libedit(?) support was added as well, so that a
non-GPL licensed alternative is available for those wishing to distribute
the software ...



Re: contrib and licensing

From
"Dann Corbit"
Date:
[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.



Re: contrib and licensing

From
Neil Conway
Date:
On Wed, 2003-04-02 at 18:00, Marc G. Fournier wrote:
> On Wed, 2 Apr 2003, scott.marlowe wrote:
> > True.  But not linking to LGPLd libs would be a bit extreme there.
> 
> Correct, we've always had libreadline support, as a compile option

Why is that relevant? libreadline is GPL'd, not LGPL'd.

Cheers,

Neil



Re: contrib and licensing

From
Tom Lane
Date:
mlw <pgsql@mohawksoft.com> writes:
> Tom Lane wrote:
>> If it won't work without your library then there's not much point in
>> putting it into contrib.  Might as well just put it in your library
>> and distribute same as you have been doing.
>> 
> I'm a little put off by this attitude, are you saying there are no LGPL 
> dependencies in PostgreSQL or /contrib?

> If that is a real objective, I'm surprised.

The intention is that the entire distribution, including contrib, be under
straight BSD license.  This is a real objective --- we're not there yet,
mainly because it's not being pursued vigorously with regard to the
contrib modules already in place, but we think it is a valuable way of
minimizing confusion.

We have no problem at all with offering gborg project space to LGPL or
GPL-licensed code; it's just that we don't want it in the core
distribution, so that people don't have to hunt-and-peck through the
distro to see which parts are under which license.

Although you indicated willingness to provide the SOAP code per se as
BSD license, it seems to me that this is rather pointless if it can't
be used without an LGPL'd associated library.  Someone who wanted a
pure-BSD setup would still be unable to use the code.  The SOAP code
plus underlying library would be a more sensible distribution unit,
and as such you might as well make it all LGPL.

Of course, if you wanted to make it all BSD and put the whole mess in
contrib, we'd be open to that idea ...
        regards, tom lane



Re: contrib and licensing

From
Lamar Owen
Date:
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



Re: contrib and licensing

From
Stephan Szabo
Date:
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. ;)



Re: contrib and licensing

From
Tom Lane
Date:
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



Re: contrib and licensing

From
Lamar Owen
Date:
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



Re: contrib and licensing

From
Tom Lane
Date:
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



Re: contrib and licensing

From
Lamar Owen
Date:
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



Re: contrib and licensing

From
Lamar Owen
Date:
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



Re: contrib and licensing

From
Jan Wieck
Date:
"Marc G. Fournier" wrote:
> 
> On Wed, 2 Apr 2003, scott.marlowe wrote:
> 
> > > > 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.
> 
> Correct, we've always had libreadline support, as a compile option, but
> libreadline is not part of the distribution, only the hooks to it are ...
> and, just recently, libedit(?) support was added as well, so that a
> non-GPL licensed alternative is available for those wishing to distribute
> the software ...

GPL vs. LGPL vs. BSD vs. MyFu**inLicense the next round ... man is this
annoying. I think with this new incarnation of the License war it's a
good time to give a real example what dragging our attention to
licensing leads to. Libedit might not be as good ... so be it. Who cares
about people who choose their database system by the color of the splash
screen? We have a pure BSD alternative that we could even ship with our
distro, time to retire the libreadline hooks.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



Re: contrib and licensing

From
mlw
Date:

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.



>
>  
>



Re: contrib and licensing

From
mlw
Date:
Jan Wieck wrote:

>"Marc G. Fournier" wrote:
>  
>
>>On Wed, 2 Apr 2003, scott.marlowe wrote:
>>
>>    
>>
>>>>>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.
>>>      
>>>
>>Correct, we've always had libreadline support, as a compile option, but
>>libreadline is not part of the distribution, only the hooks to it are ...
>>and, just recently, libedit(?) support was added as well, so that a
>>non-GPL licensed alternative is available for those wishing to distribute
>>the software ...
>>    
>>
>
>GPL vs. LGPL vs. BSD vs. MyFu**inLicense the next round ... man is this
>annoying. I think with this new incarnation of the License war it's a
>good time to give a real example what dragging our attention to
>licensing leads to. Libedit might not be as good ... so be it. Who cares
>about people who choose their database system by the color of the splash
>screen? We have a pure BSD alternative that we could even ship with our
>distro, time to retire the libreadline hooks.
>  
>
I certainly didn't want to open up this can of worms, that's for sure.

I have an amount of code that is LGPL, I would rather use it than write 
the bits again or try to extract them from the whole.  The actual 
extension would be BSD, but it would need to link with my library. I 
made the library LGPL (from GPL) for the PHP group who have similar 
restrictions.

Thus this discussion.

I don't know what the answer is, but to say "NO LGPL" seems a bit 
extream, especially if you already have such dependencies. Then if you 
conclude you do allow LGPL libraries, but then only allow some 
libraries, not all, then what is the criteria for choosing which 
libraries get blessed. Is it purely "popularity?"

Do you guys really think that a contrib function should not be allowed 
to require code which may not be on a common UNIX/BSD/Linux box?



Re: contrib and licensing

From
Jan Wieck
Date:
mlw wrote:
> 
> Jan Wieck wrote:
> >[...]
> >screen? We have a pure BSD alternative that we could even ship with our
> >distro, time to retire the libreadline hooks.
> >
> >
> I certainly didn't want to open up this can of worms, that's for sure.
> 
> I have an amount of code that is LGPL, I would rather use it than write
> the bits again or try to extract them from the whole.  The actual
> extension would be BSD, but it would need to link with my library. I
> made the library LGPL (from GPL) for the PHP group who have similar
> restrictions.
> 
> Thus this discussion.

If it is "your" library as you've said multiple times now, there is
nothing that can stop you from relicensing it. Give me one good reason
why you have to keep your library under the LGPL, or better why it
cannot be relicensed under BSD.

> I don't know what the answer is, but to say "NO LGPL" seems a bit
> extream, especially if you already have such dependencies. Then if you
> conclude you do allow LGPL libraries, but then only allow some
> libraries, not all, then what is the criteria for choosing which
> libraries get blessed. Is it purely "popularity?"

Not more extreme than "I am the only true license, you shall not have
any other licenses beside me", which is my personal interpretation of
the entire FSF attempt.

> Do you guys really think that a contrib function should not be allowed
> to require code which may not be on a common UNIX/BSD/Linux box?

Your library does appear in what Unix distributions? And in which of
them is it installed by default like the libreadline? Yes, that
certainly has to do with popularity.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



Re: contrib and licensing

From
Tom Lane
Date:
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



Re: contrib and licensing

From
pgsql@mohawksoft.com
Date:
> mlw wrote:
>>
>> Jan Wieck wrote:
>> >[...]
>> >screen? We have a pure BSD alternative that we could even ship with
>> >our distro, time to retire the libreadline hooks.
>> >
>> >
>> I certainly didn't want to open up this can of worms, that's for sure.
>>
>> I have an amount of code that is LGPL, I would rather use it than
>> write the bits again or try to extract them from the whole.  The
>> actual extension would be BSD, but it would need to link with my
>> library. I made the library LGPL (from GPL) for the PHP group who have
>> similar restrictions.
>>
>> Thus this discussion.
>
> If it is "your" library as you've said multiple times now, there is
> nothing that can stop you from relicensing it. Give me one good reason
> why you have to keep your library under the LGPL, or better why it
> cannot be relicensed under BSD.

I do not want to get in to a "my license theology is better or more correct
than yours" discussion.  Can we not do that? I have chosen to make the
library open source and LGPL. Respect that. I respect that the PG group
wants BSD, and everything that I would contribute to PG will be BSD.

This issue is the requirement of a third party LGPL library. Ignore for the
moment that it is mine.

If I find a wiz-bang library that allows me to do something cool very
easily, and I write a some code that would be good for postgresql's contrib,
are you saying that it would not be usable because of the requirement of the
library that is not included on standard system installations?


>
>> I don't know what the answer is, but to say "NO LGPL" seems a bit
>> extream, especially if you already have such dependencies. Then if you
>> conclude you do allow LGPL libraries, but then only allow some
>> libraries, not all, then what is the criteria for choosing which
>> libraries get blessed. Is it purely "popularity?"
>
> Not more extreme than "I am the only true license, you shall not have
> any other licenses beside me", which is my personal interpretation of
> the entire FSF attempt.

Let's not bring this into an argument about BSD vs [L]GPL, it isn't about that.

>
>> Do you guys really think that a contrib function should not be allowed
>> to require code which may not be on a common UNIX/BSD/Linux box?
>
> Your library does appear in what Unix distributions? And in which of
> them is it installed by default like the libreadline? Yes, that
> certainly has to do with popularity.

Did the tools required to build PostgreSQL *always* come standard on systems?
Could I currently build all the contrib directories on a RH 6.2 system
without any extra libraries?

The issue is:
Is the requirement of an LGPL library that is more than likely not already
on your system a disqualification for a contrib function?

This is NOT a BSD vs [L]GPL argument, so lets not make it one. The actual
code for the function *will* be BSD or any license you want.



Re: contrib and licensing

From
Tom Lane
Date:
pgsql@mohawksoft.com writes:
> If I find a wiz-bang library that allows me to do something cool very
> easily, and I write a some code that would be good for postgresql's contrib,
> are you saying that it would not be usable because of the requirement of the
> library that is not included on standard system installations?

The issue here is whether PG's contrib directory is the most appropriate
distribution mechanism for such code.  There are at least two other
paths for distribution of PG add-ons: you can make a gborg project, or
you can distribute the add-on along with the wiz-bang library it depends
on (assuming you can interest the developers of libwizbang, which in
this case is presumably not a problem).  In either of those cases
there's no problem at all with LGPL or GPL license terms.

We have taken a policy decision to keep the PG core distribution
(including contrib) straight BSD license --- and in my mind that
definitely includes not depending on any outside functionality that is
both (a) essential and (b) not available anywhere as BSD-license code.
It should be possible to build a PG installation that is pure BSD.
Whether people actually choose to do so is not the point.
        regards, tom lane



Re: contrib and licensing

From
Jan Wieck
Date:
pgsql@mohawksoft.com wrote:
> The issue is:
> Is the requirement of an LGPL library that is more than likely not already
> on your system a disqualification for a contrib function?

Yes.

Because the requirement of something that is more likely not found on
"usual" installations TOGETHER WITH that it cannot be included per se in
a (not necessarily our) PostgreSQL distribution IMNSVHO disqualifies
from being added to the official PostgreSQL release. 

As Tom pointed out, we aren't there yet with the cleanup. But we
certainly don't want to add more candidates of that category to contrib.

Everything that falls out of contrib can be added to gborg.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



Re: contrib and licensing

From
pgsql@mohawksoft.com
Date:
> pgsql@mohawksoft.com writes:
> We have taken a policy decision to keep the PG core distribution
> (including contrib) straight BSD license --- and in my mind that
> definitely includes not depending on any outside functionality that is
> both (a) essential and (b) not available anywhere as BSD-license code.
> It should be possible to build a PG installation that is pure BSD.
> Whether people actually choose to do so is not the point.

OK, that is more or less the answer to the question I originally posed.

Thanks.



Re: contrib and licensing

From
Lamar Owen
Date:
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



Re: contrib and licensing

From
Tom Lane
Date:
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



Re: contrib and licensing

From
"Marc G. Fournier"
Date:
On Thu, 3 Apr 2003 pgsql@mohawksoft.com wrote:

> If I find a wiz-bang library that allows me to do something cool very
> easily, and I write a some code that would be good for postgresql's
> contrib, are you saying that it would not be usable because of the
> requirement of the library that is not included on standard system
> installations?

My two-bits here, but we're trying to *move* things out of contrib to
gborg, like we have for most of the language interfaces ... why is/should
this be any different?  I don't care what licence it falls under, new
contrib's should be going into gborg, not into the distribution itself ...



Re: contrib and licensing

From
Kevin Brown
Date:
Tom Lane wrote:
> pgsql@mohawksoft.com writes:
> > If I find a wiz-bang library that allows me to do something cool very
> > easily, and I write a some code that would be good for postgresql's contrib,
> > are you saying that it would not be usable because of the requirement of the
> > library that is not included on standard system installations?
> 
> The issue here is whether PG's contrib directory is the most appropriate
> distribution mechanism for such code.  There are at least two other
> paths for distribution of PG add-ons: you can make a gborg project, or
> you can distribute the add-on along with the wiz-bang library it depends
> on (assuming you can interest the developers of libwizbang, which in
> this case is presumably not a problem).  In either of those cases
> there's no problem at all with LGPL or GPL license terms.
> 
> We have taken a policy decision to keep the PG core distribution
> (including contrib) straight BSD license --- and in my mind that
> definitely includes not depending on any outside functionality that is
> both (a) essential and (b) not available anywhere as BSD-license code.
> It should be possible to build a PG installation that is pure BSD.
> Whether people actually choose to do so is not the point.

But if both of these paragraphs are simultaneously true, then why put
*anything* in contrib?  Why not, instead, put everything that is
currently in contrib (and is BSD licensed) either on gborg, or in the
main source tree itself?  If it's code that we eventually intend to
include in the main source tree but which isn't mature enough yet,
then it's probably more appropriate to add a config switch to
enable/disable compilation of that bit of code, rather than putting it
into a "contrib" directory.  But aside from such code, anyone who
wants to create a binary distribution can grab the source for
interesting packages from gborg.  Debian does this, for instance.
Nothing prevents us from putting the source tarballs for the most
important gborg projects on the main ftp site, either.

The theory behind putting things in contrib is that they will be
useful to a great many people who run PG, but how useful something may
be to the population at large is for the most part independent of the
licensing of that something (at least, when you restrict yourself to
GPL, LGPL, BSD, MIT, etc., licenses) -- Gnome, for instance, is very
useful to a great many people, yet it is licensed under the GPL.  The
argument of whether or not something belongs in contrib is therefore
independent of these licenses.

If you're concerned about the distribution problems someone may run
into when building and distributing binary versions of the code,
there's an easy solution to that: don't build anything in contrib by
default!  Force the person building the code to make the decision
whether or not to build the stuff in contrib, and inform him that
licensing issues may be involved.  People who are building binary
distributions of PG for wide dissemination are already very much aware
of the licensing issues involved in building any piece of software,
especially one which comes with a bunch of "extras", so for them
dealing with the licensing issues is simply not an issue.  For almost
everyone else, the licensing issues are not an issue at all because
they don't intend to distribute the binaries to the rest of the world,
only within their group or company -- something that, if I'm not
mistaken, doesn't require them to adhere to the "viral" part of the
license (since they're acting as an agent of the group or company, and
the license applies to that group or company as a whole).

I can understand the desire to keep the licensing of the PG package
"clean", but if your concern is that great then perhaps you should go
a little further and keep the *code* of the PG package "clean" as
well, and remove contrib entirely (there is nothing at all that would
prevent us from packaging up contrib as a separate tarball if we want
to distribute its contents far and wide).  There is some merit to
that: it would force us to finally decide what really belongs in the
main source tree (I'd argue that items such as the auto vacuum daemon
belong there because it's functionality that should have been there
from the beginning), rather than deferring the decision by putting it
in contrib.

Otherwise, perhaps you're more concerned about the licensing issues in
contrib than you need to be?


-- 
Kevin Brown                          kevin@sysexperts.com



Re: contrib and licensing

From
Tom Lane
Date:
Kevin Brown <kevin@sysexperts.com> writes:
> But if both of these paragraphs are simultaneously true, then why put
> *anything* in contrib?

Don't say that too loudly, or Marc may take it upon himself to make it
happen ;-).

There are a number of reasons to keep things in contrib.  One is that
the code may be too tightly tied to backend innards to be appropriate to
maintain separately (the GIST extension modules are a good example, and
most of the modules that include server-side code are easier to maintain
with the server than not).  Another is that small modules may not have
enough critical mass to get maintained at all, if they're kicked out to
live or die on their own.

> Otherwise, perhaps you're more concerned about the licensing issues in
> contrib than you need to be?

The way I see it, the "only BSD stuff in contrib" rule is designed
precisely to save us from having to think too hard about licensing
issues.  I'm not interested in getting into lawyeristic arguments
about how it's okay to distribute something with a different license
if only we don't do XYZ with it.
        regards, tom lane



Re: contrib and licensing

From
Kevin Brown
Date:
Tom Lane wrote:
> Kevin Brown <kevin@sysexperts.com> writes:
> > But if both of these paragraphs are simultaneously true, then why put
> > *anything* in contrib?
> 
> Don't say that too loudly, or Marc may take it upon himself to make it
> happen ;-).

Well, I hope he's not so eager to do so that he does it before this
licensing thing is hammered out.  :-)

I think having contrib is a very good idea, but that's only *because*
it currently allows non-BSD licenses.  Take that away, and I think
you've taken away the entire purpose for contrib (versus simply
including something in the main source tree with a configure switch to
enable/disable it).
> There are a number of reasons to keep things in contrib.  One is that
> the code may be too tightly tied to backend innards to be appropriate to
> maintain separately (the GIST extension modules are a good example, and
> most of the modules that include server-side code are easier to maintain
> with the server than not).  

Shouldn't this stuff (if we decide to make contrib BSD-only) become
part of the main source tree, then, with a configure option to
enable/disable it at compile time?

> Another is that small modules may not have
> enough critical mass to get maintained at all, if they're kicked out to
> live or die on their own.

That's certainly a problem, but only if the modules are also tightly
tied to the backend.  But then, does that mean that anything which is
strongly tied to the backend must be included in contrib, no matter
how unpopular?  Aside from that and licensing, what other criteria
would you use to decide on such inclusion?

> > Otherwise, perhaps you're more concerned about the licensing issues in
> > contrib than you need to be?
> 
> The way I see it, the "only BSD stuff in contrib" rule is designed
> precisely to save us from having to think too hard about licensing
> issues.  I'm not interested in getting into lawyeristic arguments
> about how it's okay to distribute something with a different license
> if only we don't do XYZ with it.

Yeah, but what I'm saying is that *we* don't have to think about this
lawyeristic stuff regardless.  All we have to care about is whether or
not the contrib item in question has a license that allows source
distribution.  The rest of it is a problem for whoever wants to build
binary distributions, and such people *already* know what the issues
are and know that they have to think about them.

The only case where that might not be true is the case of the
individual who is building a binary distribution for use within his
own group.  But such a person is easily covered by simply disabling
compilation of contrib by default.  If he has to go to the trouble of
enabling that explicitly, then he can be warned that the stuff in
contrib might be covered by a different license.  But such a person is
likely to be in a role where he's had to deal with licensing issues
elsewhere, so it's more likely than not that he'll be aware of such
things.  The only thing he needs to be made aware of is that contrib
contains items that fall under different licenses.  That alone isn't,
IMO, justification for removing non-BSD items from contrib.

So in the end, keeping contrib BSD-only doesn't help *us*, it only
helps the people who build binary distributions.  But because they're
already used to dealing with the problem, they don't need our help on
this.

And that means that kicking non-BSD stuff out of contrib doesn't
really help anyone very much, if any...but it does hurt us in that
some potentially very valuable things will no longer be considered for
inclusion in the distribution.  So from here it looks like there's
more (perhaps much more) to be lost by making contrib BSD-only than
there is to be gained.


It would be one thing if we had a lot of people clamoring for removal
of non-BSD stuff from contrib because they'd actually been burned by
licensing issues.  But I haven't seen anything to that effect on this
list, at least, and we've had at least one GPL item in there
(pgcrypto) since late 2000.





-- 
Kevin Brown                          kevin@sysexperts.com



Re: contrib and licensing

From
"Michael Paesold"
Date:
Kevin Brown wrote:

> So in the end, keeping contrib BSD-only doesn't help *us*, it only
> helps the people who build binary distributions.  But because they're
> already used to dealing with the problem, they don't need our help on
> this.

Well, professional distributers are used to deal with licensing issues. What
about all those nice guys who just build unofficial RPM's of software for
their favorite plattform, so other's don't have to? Now they whould have a
problem with including contrib stuff.

Just a thought.

Regards,
Michael Paesold



Re: contrib and licensing

From
Hannu Krosing
Date:
Kevin Brown kirjutas E, 07.04.2003 kell 04:39:
>
> And that means that kicking non-BSD stuff out of contrib doesn't
> really help anyone very much, if any...but it does hurt us in that
> some potentially very valuable things will no longer be considered for
> inclusion in the distribution.  So from here it looks like there's
> more (perhaps much more) to be lost by making contrib BSD-only than
> there is to be gained.

The current move-everything-possible-out-of-contrib seems to be
motivated by "less is more" philosophy, i.e. the standard tarball / cvs
update is considered too big. 

Licensing is used as additional guideline, partly because of fear of
some licenses being viral.

> 
> 
> It would be one thing if we had a lot of people clamoring for removal
> of non-BSD stuff from contrib because they'd actually been burned by
> licensing issues. 

If licensing is a non-issue then it is be easy to change the license ;)

> > But I haven't seen anything to that effect on this
> list, at least, and we've had at least one GPL item in there
> (pgcrypto) since late 2000.

I guess this is also being moved to gborg.

-------------
Hannu