Thread: License question
Hi all, Who can give an authorative answer regarding distributing PostgreSQL under a different license? In particular, the front page claims that PostgreSQL is under the BSD license. The problem is that there are two. The four clause license, which is not GPL compatible, and the three clause, which is. Then again, the license itself is neither three not four clause. It is somewhat similar to the X11 license, though not identical. The problem is this: I'm using some code adapted from the PostgreSQL sources in the OLE DB provider, which is LGPL. I am not sure whether the PostgreSQL license is LGPL compatible, or what I need to do in order to use it. I have already placed copyright notices copied from the file I copied the actual code from, but do I need to do anything else? Is it at all possible to do this relicensing? Shachar -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
Shachar Shemesh <psql@shemesh.biz> writes: > In particular, the front page claims that PostgreSQL is under the BSD > license. The problem is that there are two. We use the one shown in the COPYRIGHT file in the top directory of the source tree, which is also available for your reading pleasure by clicking on the "license" link on that same front page. regards, tom lane
Tom Lane wrote: >Shachar Shemesh <psql@shemesh.biz> writes: > > >>In particular, the front page claims that PostgreSQL is under the BSD >>license. The problem is that there are two. >> >> > >We use the one shown in the COPYRIGHT file in the top directory of the >source tree, which is also available for your reading pleasure by >clicking on the "license" link on that same front page. > > regards, tom lane > > Ok, let me explain the issue in a finer point. The license given in the web link you mention seems to mandate all related work to be under the same license, which is nowhere near what BSD means. In particular, this puts some doubt on whether I can use the code in an LGPL project. Can anyone shed more light on this point for me? Am I misreading something? If it is possible to put code into an LGPL project, what is the requirement? -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
Shachar Shemesh <psql@shemesh.biz> writes: > Neil Conway wrote: >> What license text do you think implies this? > provided that the above copyright notice and this paragraph and the > following two paragraphs appear in all copies. > I read that to mean that all copies must have the same license. No, that says that you can't remove the copyright notice from files that have it. It doesn't say that nearby files have to have the same license. (Compare to the GPL, which *does* say that.) The bottom line here is that you cannot relicense code you didn't write; this is generally true no matter what license it is distributed under. You can take some Postgres pieces and use them in a project with a different overall license, but those pieces are still under BSD license. regards, tom lane
Neil Conway wrote: >On Thu, 2004-04-22 at 09:19, Shachar Shemesh wrote: > > >>The license given in the web link you mention seems to mandate all >>related work to be under the same license, which is nowhere near what >>BSD means. >> >> > >What license text do you think implies this? > >-Neil > > > > provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. I read that to mean that all copies must have the same license. -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
On Thu, 2004-04-22 at 09:19, Shachar Shemesh wrote: > The license given in the web link you mention seems to mandate all > related work to be under the same license, which is nowhere near what > BSD means. What license text do you think implies this? -Neil
Shachar Shemesh wrote: > Tom Lane wrote: > > >Shachar Shemesh <psql@shemesh.biz> writes: > > > > > >>In particular, the front page claims that PostgreSQL is under the BSD > >>license. The problem is that there are two. > >> > >> > > > >We use the one shown in the COPYRIGHT file in the top directory of the > >source tree, which is also available for your reading pleasure by > >clicking on the "license" link on that same front page. > > > > regards, tom lane > > > > > Ok, let me explain the issue in a finer point. > > The license given in the web link you mention seems to mandate all > related work to be under the same license, which is nowhere near what > BSD means. In particular, this puts some doubt on whether I can use the > code in an LGPL project. Where do you see that? No one else has seen that requirement before, and such a requirement doesn't exist. > Can anyone shed more light on this point for me? Am I misreading > something? If it is possible to put code into an LGPL project, what is > the requirement? None. Just don't sue us. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
Shachar Shemesh wrote: > Neil Conway wrote: > > >On Thu, 2004-04-22 at 09:19, Shachar Shemesh wrote: > > > > > >>The license given in the web link you mention seems to mandate all > >>related work to be under the same license, which is nowhere near what > >>BSD means. > >> > >> > > > >What license text do you think implies this? > > > >-Neil > > > > > > > > > provided that the above copyright notice and this paragraph and the > following two paragraphs appear in all copies. > > I read that to mean that all copies must have the same license. It just means you can't remove the original license file. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
Peter Eisentraut wrote: >Shachar Shemesh wrote: > > >>Can anyone shed more light on this point for me? Am I misreading >>something? If it is possible to put code into an LGPL project, what >>is the requirement? >> >> > >You have to display the PostgreSQL license text in the source code or >the binary, depending on what you ship. A strict interpretation would >say that considering the combined work, this is an additional >requirement on top of the [L]GPL, so it is not allowed by the terms of >the [L]GPL. (But it is allowed by the terms of the PostgreSQL >license.) A looser interpretation would say that what the PostgreSQL >license text says is essentially a subset of what the [L]GPL already >says anyway, so adding the requirements of the PostgreSQL license on >top of it does not actually impose additional requirements, so there is >no problem. Which one of these interpretations you believe is between >you and the copyright holders of that LGPL'ed work, but the PostgreSQL >copyright holders don't care. > > Unfortunetly, I'm the only LGPL copyright holder in this case. It's unfortunate because it means noone else has joined in on this project yet (OLE DB provider). I'll be more than happy to accept your explanation (and it does fit in with FSF's assertation that the X11 license is GPL compatible). The only paragraph that bothered me to begin with was the one claiming I need to copy verbatim the license. If all I am required to do is to make sure the license is ENFORCED by all of my derived work, then yes, the LGPL does that and I'm home free. I still think you should change the text on the front page to read, at the very least, "PostgreSQL is distributed under a flexible X11 like license". "BSD" is too misleading, and most people know the X11 license by now. Shachar -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
Shachar Shemesh wrote: > Can anyone shed more light on this point for me? Am I misreading > something? If it is possible to put code into an LGPL project, what > is the requirement? You have to display the PostgreSQL license text in the source code or the binary, depending on what you ship. A strict interpretation would say that considering the combined work, this is an additional requirement on top of the [L]GPL, so it is not allowed by the terms of the [L]GPL. (But it is allowed by the terms of the PostgreSQL license.) A looser interpretation would say that what the PostgreSQL license text says is essentially a subset of what the [L]GPL already says anyway, so adding the requirements of the PostgreSQL license on top of it does not actually impose additional requirements, so there is no problem. Which one of these interpretations you believe is between you and the copyright holders of that LGPL'ed work, but the PostgreSQL copyright holders don't care.
Tom Lane wrote: >No, that says that you can't remove the copyright notice from files that >have it. It doesn't say that nearby files have to have the same >license. (Compare to the GPL, which *does* say that.) > >The bottom line here is that you cannot relicense code you didn't write; >this is generally true no matter what license it is distributed under. > > No it isn't. If I write code under the LGPL, for example, all you have to do in order to relicense it is make sure you live up to all of my requirements. In particular, this means that you CAN relicense it as GPL, without asking for my permission. Distributing it as GPL makes sure all of my restrictions are met. If I relicense this code as LGPL, however, I cannot guarentee that all of my derived work will have the banners (the LGPL does guarentee that the copyright notice stay). Hence, I read it as "you cannot use this code in an LGPL project". >You can take some Postgres pieces and use them in a project with a >different overall license, but those pieces are still under BSD license. > > But that's not the BSD license. > regards, tom lane > > But that, in turn, means I cannot put them in an LGPL licensed project (or in a proprietary one, but that's not my problem). The LGPL requires that all files under the same project be under the LGPL. The BSD license, in contrast to PostgreSQL's, does NOT require me to copy license related texts around, only the copyrights themselves. It does pose certain restrictions on what I am allowed to do with the copyrights, but any modern free software license (GPL included) require that you keep the copyright notices around Now, I'm not trying to heal the world. It's enough to me that the current copyright owners give me permissions to use the code under the LGPL license. I am saying that calling the PostgreSQL license "BSD license" is misleading. I'll also mention that I am, very likely, wrong in my interpretation of the license. The PostgreSQL license is very similar to the X11 license (http://www.x.org/Downloads_terms.html), which is interpreted by the FSF to be GPL compatible (http://www.fsf.org/licenses/license-list.html#X11License). This means I'm defnitely missing something here. What, however? Oh, or is the license in my link the NEW X11 license, known to be non-GPL compatible? -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
> I still think you should change the text on the front page to read, at > the very least, "PostgreSQL is distributed under a flexible X11 like > license". "BSD" is too misleading, and most people know the X11 license > by now. > http://www.freebsd.org/copyright/freebsd-license.html http://www.postgresql.org/licence.html They look very similar to me. What's the difference? Also, I'm a little confused. If you mix some postgresql-licensed code with some (for example) gpl-licensed code, is the end result: (a) GPL, since that's the more restrictive of the two; or (b) The gpl code is still gpl, and the postgresql code is still postgresql-licensed? "b" makes more sense to me, since I don't see how you can "relicense" the code if it's not yours. Also, can you license code at all if it isn't yours? I would assume you would have to make changes and license the changes you made, and distribute it along with the postgresql-licensed code. Regards,Jeff Davis
Jeff Davis <jdavis-pgsql@empires.org> writes: > Also, can you license code at all if it isn't yours? I would assume you > would have to make changes and license the changes you made, and > distribute it along with the postgresql-licensed code. You can't relicense code you don't own (if Shachar thinks differently I suggest he talk to a lawyer). What you can do is choose a license for *your modifications and additions* to that base code. When working with BSD-tradition base code, there is hardly any restriction on what license you use for your own work (at least, not from the BSD side --- see below). When working with GPL or LGPL base code you are constrained to use the same license as the base. You still own your own work, but you can't redistribute the combined work unless you use the same license. I don't think you could reasonably choose GPL as the license for your mods/additions, since by my reading of the GPL it would forbid you from redistributing a combined work that's not all GPL. But you could choose LGPL, or any of the other standard free licenses. regards, tom lane
Tom Lane wrote: >Jeff Davis <jdavis-pgsql@empires.org> writes: > > >>Also, can you license code at all if it isn't yours? I would assume you >>would have to make changes and license the changes you made, and >>distribute it along with the postgresql-licensed code. >> >> > >You can't relicense code you don't own > Sure you can. > (if Shachar thinks differently >I suggest he talk to a lawyer). > I have. And one who specializes in free software licenses, at that. Let's give an example which is simpler, and therefor may make the case a little clearer. Supposed you painted a picture and give out electronic versions of it (you have the copyright). You allow everyone to redistribute the picture, so long as the general tone of the background color remains blue (license, pretty permissive). Now let's suppose I take your picture and make several modifications on it, but none that violates your license (i.e. - the background is still blueish). Both of us have copyright over the new work, but I may only distribute it under a license that makes sure that the restrictions I received it under are met. This means I cannot public domain the picture. If I do, I am violating your copyright over the picture, as I can no longer guarentee that the background remains blue. In that sense, I cannot "relicense" the picture. This is the case even if my public domain copies still have a blue background, as I have now given people permission to change a work of art for which you hold a copyright, outside of the permission you have given either them or me. One obvious solution is to redistribute it under the original license - do whatever you like with it, so long as the background remains blue. That is, however, not the only one. I can also change the license to whatever I want, so long as I can assure you that your original requirements are met with any work derived from the new license. For example, it is perfectly ok to say "you can redistribute this picture, but you are not allowed to change anything about the color scheme". The new requirement encapsulates the original requirement, and your license is therefor not violated. I have, in fact, relicensed your work. This applies even if I did not make any change to your original work at all. So long as I can show that all terms of your original license are met if people follow my new license, you have no quarrel with me. You requested that people don't change the background color theme. They can't if they can't change the color theme at all. Now, obviously, if people can get a picture to me under a certain restrictive license, and they can get the exact same picture from you under a more permissive license, they are unlikely to get the picture from me. That is, however, market forces, not copyright licensing. If you accept that, just replace "blue" with "free". >(at least, not from the BSD side --- see below). > >When working with GPL or LGPL base code you are constrained to use the >same license as the base. You still own your own work, but you can't >redistribute the combined work unless you use the same license. > >I don't think you could reasonably choose GPL as the license for your >mods/additions, since by my reading of the GPL it would forbid you from >redistributing a combined work that's not all GPL. > But the (new, not old) BSD license is "GPL compatible", which means that I can relicense your work released under the 3 clause BSD as GPL. The original 4 clause BSD is not GPL compatible, which means I cannot. Comparing restrictions, and whether license X can guarentee that all the restrictions imposed by license Y are still met, is what stands at the core of saying "license X is compatible with license Y". > But you could choose >LGPL, or any of the other standard free licenses. > > Hmm, not really. As I'm talking about putting code from PostgreSQL into the OLE DB provider proper, the linking clause of the LGPL does not cover this. Let's make it clear - as the LGPL code is all mine, noone can do or say anything to me if I mix it with non-relicensed BSD code. I am not violating the BSD license, because it's still BSD, and the person doing the LGPL license violation is me, the copyright holder, so noone can have any qualm with this (it's the copyright holder that has to sue, and I won't sue myself). Doing this does mean that noone except me can touch this project without removing the BSD code (or relicensing, but I'm assuming here I accept your claim that I cannot relicense), except me. Creating free software with conflicting licenses code is legal but highly recommended against. > regards, tom lane > > Shachar -- Shachar Shemesh Lingnu Open Source Consulting http://www.lingnu.com/
On Thu, 22 Apr 2004, Shachar Shemesh wrote: > Tom Lane wrote: > > >You can take some Postgres pieces and use them in a project with a > >different overall license, but those pieces are still under BSD license. > > > > > But that's not the BSD license. [...] > The BSD license, in contrast to PostgreSQL's, does NOT require me to > copy license related texts around, only the copyrights themselves. It From the BSD license template on the OSI site: # Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. So, afaics, it *does* require you to copy the list of conditions along with the files.
Shachar Shemesh kirjutas N, 22.04.2004 kell 19:49: > The BSD license, in contrast to PostgreSQL's, does NOT require me to > copy license related texts around, only the copyrights themselves. It > does pose certain restrictions on what I am allowed to do with the > copyrights, but any modern free software license (GPL included) > require that you keep the copyright notices around * Copyrights by themselves do not give others any rights to use copyrighted material, licenses do. Copyrights "reserve all rights" by default. * On can license only that for what he owns IP (copyright, patent, ...). ergo, to allow other to use the code, there must be a license from the copyright holder. If you just keep the copyrights and not the license (either as full text or reference) you either effectively deny others the right to use the code as provided by you or claim ownership of code you do not really own. > Now, I'm not trying to heal the world. It's enough to me that the > current copyright owners give me permissions to use the code under the > LGPL license. I am saying that calling the PostgreSQL license "BSD > license" is misleading. IIRC BSD stands for "Berkeley Standard Distribution", and as PostgreSQL was originally released as free software from Berkeley under this license it would be weird indeed to call it anything else. ---------- Hannu
Shachar Shemesh kirjutas R, 23.04.2004 kell 07:53: > Tom Lane wrote: > > >Jeff Davis <jdavis-pgsql@empires.org> writes: > > > > > >>Also, can you license code at all if it isn't yours? I would assume you > >>would have to make changes and license the changes you made, and > >>distribute it along with the postgresql-licensed code. > >> > >> > > > >You can't relicense code you don't own > > > Sure you can. You can only add additional restrictions for the combined code, not lift original ones. That is unless the original licence allows it :) You are free to relicence public domain code though, but I guess that by doing so you kind of take ownership of your release verion. IANAL --------------- Hannu
> IIRC BSD stands for "Berkeley Standard Distribution", and as PostgreSQL > was originally released as free software from Berkeley under this > license it would be weird indeed to call it anything else. FWIW, 'Berkeley Software Distribution'.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - -- Shachar Shemesh <psql@shemesh.biz> wrote: > The new requirement encapsulates the original requirement, and your > license is therefor not violated. I have, in fact, relicensed your work. no, the license is only for the *combined* work (which includes your work). Extracting the original picture, this picture is still under the "blue only" license! Ciao Alvar - -- ** Alvar C.H. Freude -- http://alvar.a-blast.org/ -- http://odem.org/ ** Berufsverbot? http://odem.org/aktuelles/staatsanwalt.de.html ** ODEM.org-Tour: http://tour.odem.org/ ** 5 Jahre Blaster: http://www.a-blast.de/ | http://www.a-blast.de/statistik/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (FreeBSD) iD8DBQFAiYs5OndlH63J86wRAjflAJ9Tpg6QvvVJTRAThq42b5oXXmxkqgCfSv08 CsS0RzWeFzgtAfcOZq+x/Po= =Lhtc -----END PGP SIGNATURE-----