Thread: PostgreSQL, LGPL and GPL.

PostgreSQL, LGPL and GPL.

From
"Karen Hill"
Date:
I was looking through the various contrib packages and pgfoundry
projects.  I noticed that many of them are GPL like PostGIS or LGPL
like Npgsql.   I have questions.

If you make create a PostgreSQL database that uses PostGIS and you
distribute that database, than your database (tables, stored
procedures, views, etc) are GPL?  Like wise if you create a client that
connects to that database, do they also become GPL?  Does PostgreSQL in
effect become GPL when using PostGIS because PostGIS accesses parts of
PostgreSQL?

Npgsql is LGPL.  It means you must release the source of Npgsql when
distributing it, and if you modify Npgsql, but not have to release the
source under the (L)GPL of the software that calls Npgsql functions?

If you provide the source on a CD and the (GPL/LGPL) license as a text
file on that CD if you distribute, then are your obligations met under
the GPL/LGPL?  What if those you distribute to lose the source code CD,
can they then come after you X number of years later demanding the
source?

For the developers of LGPL/GPL like Npgsql, why do you not dual
license?  Have a model like MySQL where one can purchase a BSD licensed
version or use the GPL/LGPL one.


regards,
Karen


Re: PostgreSQL, LGPL and GPL.

From
"Joshua D. Drake"
Date:
Karen Hill wrote:
> I was looking through the various contrib packages and pgfoundry
> projects.  I noticed that many of them are GPL like PostGIS or LGPL
> like Npgsql.   I have questions.
>
> If you make create a PostgreSQL database that uses PostGIS and you
> distribute that database, than your database (tables, stored
> procedures, views, etc) are GPL?  Like wise if you create a client that
> connects to that database, do they also become GPL?  Does PostgreSQL in
> effect become GPL when using PostGIS because PostGIS accesses parts of
> PostgreSQL?

O.k. first, nobody here is a lawyer. You should be asking them. However
in my experience:

PostgreSQL + LGPL is fine
PostgreSQL + GPL it depends.

For example, if Slony was GPL and you used Slony + PostgreSQL with your
web application to distribute load, it is questionable if you would be
able to keep your sources to yourself as the GPL becomes a distributed
and required component of the application.

But it all depends on a ton of components.

In short, don't ask geeks legal questions, they don't know even if they
think they do. You need to ask an attorney.

Remember that the law is all about interpretation.

You killed that man? Yes I did -- but did I murder him? Or was it
involuntary manslaughter? .. Neither; it was self defense. No it was not
self defense, you were driving your car. Oh your right, it was a crime
of passion -- let's make a plea deal.

Sincerely,

Joshua D. Drake


--

   === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
   Providing the most comprehensive  PostgreSQL solutions since 1997
             http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate


Re: PostgreSQL, LGPL and GPL.

From
"Karen Hill"
Date:
John Hasler wrote:

> > Npgsql is LGPL.  It means you must release the source of Npgsql when
> > distributing it, and if you modify Npgsql, but not have to release the
> > source under the (L)GPL of the software that calls Npgsql functions?
>
> Pretty much, but you must provide your software in a form that can be
> relinked.
>

What does that mean?  In .NET, you add a reference to the Npgsql dll,
and then add "Using Npgsql;" to the top of the class you want to use
Npgsql in.  So if you wrote something like this it would have to go
under the LGPL?:

Using Npgsql;
namespace foo{
class foobar
{
  foobar()
{
   String connectionString = "";
   NpgsqlConnection conn = new NpgsqlConnection(connectionString);
}

}

}


Re: PostgreSQL, LGPL and GPL.

From
Peter Eisentraut
Date:
Karen Hill wrote:
> If you make create a PostgreSQL database that uses PostGIS and you
> distribute that database, than your database (tables, stored
> procedures, views, etc) are GPL?

Nothing ever becomes GPL automatically.  You may wish to distribute your
own work under the GPL, but you don't have to.

> Like wise if you create a client
> that connects to that database, do they also become GPL?

Likewise.

> Does
> PostgreSQL in effect become GPL when using PostGIS because PostGIS
> accesses parts of PostgreSQL?

Likewise.

> Npgsql is LGPL.  It means you must release the source of Npgsql when
> distributing it, and if you modify Npgsql, but not have to release
> the source under the (L)GPL of the software that calls Npgsql
> functions?

Correct.

> If you provide the source on a CD and the (GPL/LGPL) license as a
> text file on that CD if you distribute, then are your obligations met
> under the GPL/LGPL?

That depends on the distribution methods of the non-source.

> What if those you distribute to lose the source
> code CD, can they then come after you X number of years later
> demanding the source?

No.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: PostgreSQL, LGPL and GPL.

From
"Joshua D. Drake"
Date:
Karen Hill wrote:
> John Hasler wrote:
>
>>> Npgsql is LGPL.  It means you must release the source of Npgsql when
>>> distributing it, and if you modify Npgsql, but not have to release the
>>> source under the (L)GPL of the software that calls Npgsql functions?
>> Pretty much, but you must provide your software in a form that can be
>> relinked.
>>
>
> What does that mean?  In .NET, you add a reference to the Npgsql dll,
> and then add "Using Npgsql;" to the top of the class you want to use
> Npgsql in.  So if you wrote something like this it would have to go
> under the LGPL?:

What he means is if you modified npgsql.dll itself you would have to
provide those modifications back. Not your code, just the code that
modifies npgsql.

J



>
> Using Npgsql;
> namespace foo{
> class foobar
> {
>   foobar()
> {
>    String connectionString = "";
>    NpgsqlConnection conn = new NpgsqlConnection(connectionString);
> }
>
> }
>
> }
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org/
>


--

   === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
   Providing the most comprehensive  PostgreSQL solutions since 1997
             http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate


Re: PostgreSQL, LGPL and GPL.

From
Ron Johnson
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/20/06 13:49, Joshua D. Drake wrote:
> Karen Hill wrote:
>> I was looking through the various contrib packages and pgfoundry
>> projects.  I noticed that many of them are GPL like PostGIS or LGPL
>> like Npgsql.   I have questions.
>>
>> If you make create a PostgreSQL database that uses PostGIS and you
>> distribute that database, than your database (tables, stored
>> procedures, views, etc) are GPL?  Like wise if you create a client that
>> connects to that database, do they also become GPL?  Does PostgreSQL in
>> effect become GPL when using PostGIS because PostGIS accesses parts of
>> PostgreSQL?
>
> O.k. first, nobody here is a lawyer. You should be asking them. However
> in my experience:
>
> PostgreSQL + LGPL is fine
> PostgreSQL + GPL it depends.
>
> For example, if Slony was GPL and you used Slony + PostgreSQL with your
> web application to distribute load, it is questionable if you would be
> able to keep your sources to yourself as the GPL becomes a distributed
> and required component of the application.
>
> But it all depends on a ton of components.
>
> In short, don't ask geeks legal questions, they don't know even if they
> think they do. You need to ask an attorney.
>
> Remember that the law is all about interpretation.

Exactly.  The "Linus View" is that dynamic linking and "socket
conversations" are *not* linking in the GPL2 meaning, but the FSF &
RMS think differently.  The GPL3 seems to codify that strictness.

- --
Ron Johnson, Jr.
Jefferson LA  USA

Is "common sense" really valid?
For example, it is "common sense" to white-power racists that
whites are superior to blacks, and that those with brown skins
are mud people.
However, that "common sense" is obviously wrong.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFFOTMWS9HxQb37XmcRAmu8AKC0P8/Eq+ISD88aJBYvjGY9NaeJDwCfeyVU
QJ224doTckpNTczIDcXTr9E=
=rP+O
-----END PGP SIGNATURE-----

Re: PostgreSQL, LGPL and GPL.

From
Martijn van Oosterhout
Date:
On Fri, Oct 20, 2006 at 03:35:34PM -0500, Ron Johnson wrote:
> Exactly.  The "Linus View" is that dynamic linking and "socket
> conversations" are *not* linking in the GPL2 meaning, but the FSF &
> RMS think differently.  The GPL3 seems to codify that strictness.

Dynamic linking may be an issue, but talking over a socket doesn't
create any kind of dependancy at all. I don't think anyone has ever
tried to claim that talking to a GPL server requires your code to be
GPL also. The existing counterexamples alone...

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

Attachment

Re: PostgreSQL, LGPL and GPL.

From
Merijn de Weerd
Date:
On 2006-10-20, Karen Hill <karen_hill22@yahoo.com> wrote:
> If you make create a PostgreSQL database that uses PostGIS and you
> distribute that database, than your database (tables, stored
> procedures, views, etc) are GPL?

No, because those tables, stored procedures etc. are not
derivative works of the PostGIS code.

> Like wise if you create a client that
> connects to that database, do they also become GPL?  Does PostgreSQL in
> effect become GPL when using PostGIS because PostGIS accesses parts of
> PostgreSQL?

You have to distinguish the server software from what you store
in the database. Your data does not "become GPL" because it's stored
in a database managed by a GPL-licensed server.

If you distribute the PostgreSQL server software linked with
the PostGIS software, then you have to comply with the GPL
for both parts of that derivative work.

If you don't distribute any server software, you do not have
to worry about what the GPL requires.

The MySQL people claim that connecting to their database server
means your client has to be made GPL, but they're pretty much
the only ones saying that.

> Npgsql is LGPL.  It means you must release the source of Npgsql when
> distributing it, and if you modify Npgsql, but not have to release the
> source under the (L)GPL of the software that calls Npgsql functions?

Yes.

> If you provide the source on a CD and the (GPL/LGPL) license as a text
> file on that CD if you distribute, then are your obligations met under
> the GPL/LGPL?

Yes.

>  What if those you distribute to lose the source code CD,
> can they then come after you X number of years later demanding the
> source?

No. They got the source, they were careless, that's too bad
for them. If and only if you told them "instead of giving you
the source right now, you (and anyone who wants) can write to
me any time in the next three years and I'll give the source
to whoever writes to me", then people can demand the source.

> For the developers of LGPL/GPL like Npgsql, why do you not dual
> license?  Have a model like MySQL where one can purchase a BSD licensed
> version or use the GPL/LGPL one.

Dual licensing is basically trading on ignorance of what
the GPL requires and how to work with that. It's not a viable
long-term business model.

And besides, it's much harder to get contributions from third
party if you want to hold that amount of control over the source.

Merijn

--
Remove +nospam to reply

Re: PostgreSQL, LGPL and GPL.

From
Alexander Terekhov
Date:
Merijn de Weerd wrote:
[...]
> If you distribute the PostgreSQL server software linked with
> the PostGIS software, then you have to comply with the GPL
> for both parts of that derivative work.
>
> If you don't distribute any server software, you do not have
> to worry about what the GPL requires.

Yeah. A+B is GNU derivative. Go to doctor, schizophrenic de Weerd.

regards,
alexander.