License Question

Started by Jamie Specteralmost 8 years ago8 messagesgeneral
Jump to latest
#1Jamie Specter
jamie.specter@gmail.com

Hello -

Big fan of psycopg2!

I would love to use it in an Apache-licensed project but unfortunately,
LGPL licenses are not compatible with Apache 2.0.

See here for more info:
https://www.apache.org/legal/resolved.html#category-x

Apache 2.0 explicitly states that we cannot distribute components under
prohibited licenses (which includes LGPL) and our group wants to use that
license.

Is there any chance the project can be dual-licensed with a permissive
option like MIT or BSD? (You could even say the permissive license is only
available if used in Apache 2.0 projects.) That will allow us to
incorporate your work into our project!

There are many permissive licenses (
https://www.apache.org/legal/resolved.html#category-a) and even some weak
copy left licenses we could make work (
https://www.apache.org/legal/resolved.html#category-b).

Thanks for your consideration!

-Jamie

#2Daniele Varrazzo
daniele.varrazzo@gmail.com
In reply to: Jamie Specter (#1)
Re: License Question

On Wed, May 30, 2018 at 7:04 PM, Jamie Specter <jamie.specter@gmail.com> wrote:

I would love to use it in an Apache-licensed project but unfortunately, LGPL
licenses are not compatible with Apache 2.0.

See here for more info:
https://www.apache.org/legal/resolved.html#category-x

Is this true? this page leads to
<http://www.apache.org/licenses/GPL-compatibility.html&gt;, which says:

"""
This licensing incompatibility applies only when some Apache project
software becomes a derivative work of some GPLv3 software, because
then the Apache software would have to be distributed under GPLv3.
This would be incompatible with ASF's requirement that all Apache
software must be distributed under the Apache License 2.0.
"""

Is your work a "derivative" of psycopg, or it merely uses psycopg? If
you only want to use it you should be fine.

-- Daniele

P.S. certain Postgres mailing list don't tolerate cross-posting. I
don't know about pgsql-general, but I would avoid it anyway.

#3Jamie Specter
jamie.specter@gmail.com
In reply to: Daniele Varrazzo (#2)
Re: License Question

Great find, Daniele! That appears to be true for GPLv3 but not LGPLv3
which is included on the Category X list. (Have to love how complex
licenses can get!)

From the Apache FAQs:

- Apache takes a strong approach against distributing any components
under prohibited licenses
<http://www.apache.org/legal/resolved.html#category-x&gt; (i.e. Category
X), which includes LGPL. Therefore, we cannot even use LGPL licenses open
source in the project. This appears to be regardless of linking.
- While Apache projects cannot distribute Category X components within
their releases, a project can provide the user with instructions on how to
obtain and install the non-included work *if the component is only
needed for optional features. * In this case, optional means that the
component is not required for standard use of the product or for the
product to achieve a desirable level of quality. They recommend you ask,
“will the majority of users want to use my product without adding the
optional components?” In our case, it would not fit Apache’s definition of
“optional.”

Unfortunately, GPLv3 license would require us to release the entire project
as GPLv3 vs the other options that can be incorporated into an Apache
project while keeping the project under the Apache license. (
https://www.apache.org/legal/resolved.html#category-a and
https://www.apache.org/legal/resolved.html#category-b).

I really appreciate the dialogue as we work on understanding the options
and thanks for the tip on cross posting! I didn’t include pgsql-general on
this response.

Best,
Jamie

On Wed, May 30, 2018 at 2:28 PM Daniele Varrazzo <daniele.varrazzo@gmail.com>
wrote:

Show quoted text

On Wed, May 30, 2018 at 7:04 PM, Jamie Specter <jamie.specter@gmail.com>
wrote:

I would love to use it in an Apache-licensed project but unfortunately,

LGPL

licenses are not compatible with Apache 2.0.

See here for more info:
https://www.apache.org/legal/resolved.html#category-x

Is this true? this page leads to
<http://www.apache.org/licenses/GPL-compatibility.html&gt;, which says:

"""
This licensing incompatibility applies only when some Apache project
software becomes a derivative work of some GPLv3 software, because
then the Apache software would have to be distributed under GPLv3.
This would be incompatible with ASF's requirement that all Apache
software must be distributed under the Apache License 2.0.
"""

Is your work a "derivative" of psycopg, or it merely uses psycopg? If
you only want to use it you should be fine.

-- Daniele

P.S. certain Postgres mailing list don't tolerate cross-posting. I
don't know about pgsql-general, but I would avoid it anyway.

#4Daniele Varrazzo
daniele.varrazzo@gmail.com
In reply to: Jamie Specter (#3)
Re: License Question

On Wed, May 30, 2018 at 7:44 PM, Jamie Specter <jamie.specter@gmail.com> wrote:

Great find, Daniele! That appears to be true for GPLv3 but not LGPLv3 which
is included on the Category X list. (Have to love how complex licenses can
get!)

From the Apache FAQs:

Apache takes a strong approach against distributing any components under
prohibited licenses (i.e. Category X), which includes LGPL. Therefore, we
cannot even use LGPL licenses open source in the project. This appears to
be regardless of linking.

Using a Python module doesn't constitute linking in the LGPL sense
(IANAL, but read it often). So, in order to understand what we are
talking about: what is that your project does?

- It uses psycopg?
- It modifies psycopg?
- It redistributes psycopg?

In the first case, to the best of my knowledge, and with the hundreds
of proprietary or variously licensed projects which use psycopg, you
can just use psycopg, which is a library and doesn't enforce a license
on the programs using it.

In the second case, we do want whatever improvement you made to
psycopg to be available to any other psycopg user, thank you very much
for them, and the LGPL is a great license to enforce that.

All the above, furthermore, is about distribution, i.e. dumping the
psycopg source code into a directory of your program and shipping it
with the rest. Is that what you want? Because if a line in
`requirements.txt` is fine (pretty much the industry standard), or a
git submodule is fine, you can use that, which results in the user
going there on github or PyPI and downloading his psycopg copy and we
are all happy.

You can also consider changing your license to GPL, why not?

I'm just speaking for myself, however, not knowing what is your
project, not knowing why it supposedly need a change in psycopg
license, which has survived almost 20 years of multinationals lawyers
nitpicking on it, is not so much of an incentive to do so.

-- Daniele

In reply to: Jamie Specter (#1)
Re: License Question

On 30/05/18 20:04, Jamie Specter wrote:

Hello -

Big fan of psycopg2!

I would love to use it in an Apache-licensed project but unfortunately,
LGPL licenses are not compatible with Apache 2.0.

[snip]

Hi Jamie,

first of all, changing a license is a big task. While there is still
only my name as the copyright holder (I was the original author after
all) I don't feel like it is possible to change the license without the
permission of at least all the major contributors to the project.

Also, as Daniele explained, we're pretty happy with the LGPL3.

To better understand your request:

1) By "Apache project" do you mean an official project of the Apache
Foundation or just a project released under the Apache license?

2) Can you provide a detailed description of your use case? Is it a
library, an application? What is/are its license(s)? Which langguages it
uses? Right now I don't see an use case that really NEEDS a different
license for psycopg.

federico

--
Federico Di Gregorio federico.digregorio@dndg.it
DNDG srl http://dndg.it
We should forget about small efficiencies, say about 97% of the
time: premature optimization is the root of all evil. -- D.E.Knuth

#6Steve Crawford
scrawford@pinpointresearch.com
In reply to: Jamie Specter (#1)
Re: License Question

On Thu, May 31, 2018 at 7:35 AM Jamie Specter <jamie.specter@gmail.com>
wrote:

...
I would love to use it in an Apache-licensed project but unfortunately,
LGPL licenses are not compatible with Apache 2.0.

...
Is there any chance the project can be dual-licensed with a permissive
option like MIT or BSD? ...

That is a question better suited for the psycopg2 developers:
http://initd.org/psycopg/

Cheers,
Steve

In reply to: Steve Crawford (#6)
R: Re: License Question

---- Steve Crawford ha scritto ----

On Thu, May 31, 2018 at 7:35 AM Jamie Specter <jamie.specter@gmail.com> wrote:

...

I would love to use it in an Apache-licensed project but unfortunately, LGPL licenses are not compatible with Apache 2.0.
...

Is there any chance the project can be dual-licensed with a permissive option like MIT or BSD? ...

That is a question better suited for the psycopg2 developers:

The psycopg developers are on this list. :)

And we asked the OP to write here so that everybody could follow the discussion (initially he opened a bug report).

federico

In reply to: Federico Di Gregorio (#7)
R: Re: License Question

---- Federico Di Gregorio ha scritto ----

---- Steve Crawford ha scritto ----

On Thu, May 31, 2018 at 7:35 AM Jamie Specter <jamie.specter@gmail.com> wrote:

...

I would love to use it in an Apache-licensed project but unfortunately, LGPL licenses are not compatible with Apache 2.0. 

...

Is there any chance the project can be dual-licensed with a permissive option like MIT or BSD? ...

That is a question better suited for the psycopg2 developers:

The psycopg developers are on this list. :)

And we asked the OP to write here so that everybody could follow the discussion (initially he opened a bug report).

federico

Obviously not on "general". Sorry for the noiose. :/

federico