Thread: About psycopg2 (by its author)

About psycopg2 (by its author)

From
Federico Di Gregorio
Date:
First of all let me say that from such incredible hackers as the
PostgreSQL people I'd have expected the ability to find my email address
and maybe keep me or (even better) the psycopg mailing list in CC. That
would have avoided a lot of confusion both on the license and the status
of psycopg2. If you don't feel too offended by reading this incipit then
we're ready to go on and try ot have a useful discussion (oh, yes, I can
read and write basic english so I won't need any translator.) Btw, I was
at FOSDEM as probably other PostgreSQL people were and all this could
have been discussed while drinking a couple of beers if only someone
cared to contact me.

First point, the license. It started as GPL2+ and sort of grow off of
various comments and user needs. I agree that some of the reasons for
such a complex license don't exist anymore and we're ready for a change.
Note that I strongly don't want a final user to receive a closed,
proprietary version of psycopg2 without the ability to switch (if she
wants) to the "official" version released as free software. But I also
understand that lots of people just want to keep their software
proprietary (the current license already allows that). So the logical
choice is plain LGPL3. I am open to motivated suggestions about other
licenses but I'll ignore such crap as "BSD is more open than LGPL".

Second point, the technical discussion about psycopg2 features and bugs.
We have a mailing list, so please subscribe to it and write there any
comments or requests about the code. The list is alive and nobody ever
complained to not have received an answer.

Finally, I am really happy that after years during which psycopg2 was
used in a lot of projects by a lot of different users eventually the
PostgreSQL people noted it. ;)

Have fun,
federico

--
Federico Di Gregorio    <mailto:fog@initd.org> <jid:fog@jabber.linux.it>
DISCLAIMER. If I receive a message from you, you are agreeing that:1. I am by definition, "the intended recipient".2.
Allinformation in the email is mine to do with as I see fit andmake such financial profit, political mileage, or good
jokeas it lendsitself to. In particular, I may quote it on USENET or the WWW.3. I may take the contents as representing
theviews of your company.4. This overrides any disclaimer or statement of confidentiality thatmay be included on your
message.


Re: About psycopg2 (by its author)

From
Dave Page
Date:
On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog@initd.org> wrote:
> Btw, I was
> at FOSDEM as probably other PostgreSQL people were and all this could
> have been discussed while drinking a couple of beers if only someone
> cared to contact me.

Hmm, I resent that. As one of the people at FOSDEM a) I had no idea
you were there and b) I was extremely busy pretty much the whole time
I was there, and c) like what I would guess is the majority of PG
people there, I don't use python or psycopg.

Meeting at conferences is great (and I wish you had popped over to the
PG booth to say hi *and* attended the database dinner with us), but
it's no substitute for the mailing lists in which everyone can be
involved.

/D


Re: About psycopg2 (by its author)

From
Federico Di Gregorio
Date:
On 09/02/2010 15:22, Dave Page wrote:
> On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog@initd.org> wrote:
>> Btw, I was
>> at FOSDEM as probably other PostgreSQL people were and all this could
>> have been discussed while drinking a couple of beers if only someone
>> cared to contact me.
>
> Hmm, I resent that. As one of the people at FOSDEM a) I had no idea
> you were there and b) I was extremely busy pretty much the whole time
> I was there, and c) like what I would guess is the majority of PG
> people there, I don't use python or psycopg.
>
> Meeting at conferences is great (and I wish you had popped over to the
> PG booth to say hi *and* attended the database dinner with us), but
> it's no substitute for the mailing lists in which everyone can be
> involved.

That would have been great. I fact I stepped by the PG boot and had a
little chitchat with some people but I don't usually go around yelling
«Oh ahi!, I am psycopg developer». Anyway, meeting other people involved
in free software is always great, so let hope to get all there next
FOSDEM or to meet at some other conference.

federico

--
Federico Di Gregorio    <mailto:fog@initd.org> <jid:fog@jabber.linux.it>
DISCLAIMER. If I receive a message from you, you are agreeing that:1. I am by definition, "the intended recipient".2.
Allinformation in the email is mine to do with as I see fit andmake such financial profit, political mileage, or good
jokeas it lendsitself to. In particular, I may quote it on USENET or the WWW.3. I may take the contents as representing
theviews of your company.4. This overrides any disclaimer or statement of confidentiality thatmay be included on your
message.


Re: About psycopg2 (by its author)

From
Magnus Hagander
Date:
On Tue, Feb 9, 2010 at 15:28, Federico Di Gregorio <fog@initd.org> wrote:
> On 09/02/2010 15:22, Dave Page wrote:
>> On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog@initd.org> wrote:
>>> Btw, I was
>>> at FOSDEM as probably other PostgreSQL people were and all this could
>>> have been discussed while drinking a couple of beers if only someone
>>> cared to contact me.
>>
>> Hmm, I resent that. As one of the people at FOSDEM a) I had no idea
>> you were there and b) I was extremely busy pretty much the whole time
>> I was there, and c) like what I would guess is the majority of PG
>> people there, I don't use python or psycopg.
>>
>> Meeting at conferences is great (and I wish you had popped over to the
>> PG booth to say hi *and* attended the database dinner with us), but
>> it's no substitute for the mailing lists in which everyone can be
>> involved.
>
> That would have been great. I fact I stepped by the PG boot and had a
> little chitchat with some people but I don't usually go around yelling
> «Oh ahi!, I am psycopg developer». Anyway, meeting other people involved
> in free software is always great, so let hope to get all there next
> FOSDEM or to meet at some other conference.

You should! People want to know that :-) I know I would've wanted it...

And BTW, I think none of the people who were involved in that thread
on the list were actually at FOSDEM... (well, Peter was there, but he
wasn't active in the thread beyond an initial post or so)


-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/


Re: About psycopg2 (by its author)

From
"Kevin Grittner"
Date:
[Resending; I accidentally failed to copy the list.]

Federico Di Gregorio <fog@initd.org> wrote:
> the logical choice is plain LGPL3. I am open to motivated
> suggestions about other licenses but I'll ignore such crap as "BSD
> is more open than LGPL".
Well, I don't know about "more open", but I find the PostgreSQL BSD-
derived license easier to understand.
http://wiki.postgresql.org/wiki/FAQ#What_is_the_license_of_PostgreSQL.3F
http://www.gnu.org/licenses/lgpl-3.0.txt
And I suspect that some of these requirements of LGPL might make it
unlikely to be considered as something that can be shipped with
PostgreSQL.  (Yeah, I'm looking at *you*, section 4.)
-Kevin
> DISCLAIMER. If I receive a message from you, you are agreeing
> that:
>  1. I am by definition, "the intended recipient".
>  2. All information in the email is mine to do with as I see fit
>  and make such financial profit, political mileage, or good joke
>  as it lends itself to. In particular, I may quote it on USENET or
>  the WWW.
>  3. I may take the contents as representing the views of your
>  company.
>  4. This overrides any disclaimer or statement of confidentiality
>  that may be included on your message.

Nice!  :-)




Re: About psycopg2 (by its author)

From
Greg Smith
Date:
Federico Di Gregorio wrote:
> First of all let me say that from such incredible hackers as the
> PostgreSQL people I'd have expected the ability to find my email address
> and maybe keep me or (even better) the psycopg mailing list in CC. That
> would have avoided a lot of confusion both on the license and the status
> of psycopg2.

Well, the whole thing didn't start as a discussion of psycopg.  It 
started as "why do we have so many Python drivers and so little 
documentation about them all?", and at that point it didn't seem 
appropriate to drag you into a discussion that might not have even 
involved your driver in particular.  There were at least seven other 
driver writers that might have gotten dragged into the discussion too, 
but the topic didn't start by asking everyone of them for an opinion or 
a status update.  It started by considering "what does the PostgreSQL 
community want from a Python driver and how is that different from 
what's available?" and working out from there.

After that went on a while, it became obvious to a number of people that 
while psycopg has excellent technical strengths, it was incompatible 
with what a lot of people wanted to see in terms of its license.  After 
going through all that, it's only at that point that we realized talking 
with you about the license was a really important step--important enough 
that I didn't just find your e-mail address and cc you, I tracked down a 
local contact who already knew you to personally ask about the license 
issue.  I didn't want to put you into the uncomfortable position of 
having to publicly deny our request just because you'd been cc'd with 
the question, if it wasn't compatible with your plans.  It's unfortunate 
that after stating here I was going to handle bringing you into this 
discussion nicely, you got dragged into it badly anyway.

> Btw, I was at FOSDEM as probably other PostgreSQL people were and all this could
> have been discussed while drinking a couple of beers if only someone
> cared to contact me.
>   

Most of us who had a strong opinion here weren't at FOSDEM--if we were, 
we'd have been out having beers instead of writing e-mail those days, of 
course.  Please make sure to introduce yourself to any PostgreSQL people 
you find around future conferences--I think most in our community know 
psycopg even if your name wasn't familiar to everyone yet.

> So the logical choice is plain LGPL3. I am open to motivated suggestions about other
> licenses but I'll ignore such crap as "BSD is more open than LGPL".
>   

I agree with your general logic and while I can't speak for everyone, I 
would be happy enough with a LGPL3 licensed psycopg (obviously 
addressing the usual OpenSSL mess) to pull the license issue off the top 
of the list as a major problem preventing broader deployment of 
psycopg.  The main two points of contention seemed to be your unique 
customizations to the license, which make a lot of legal people nervous, 
and even worse that they were so clearly limiting many types of 
commercial use.  I hope you'd appreciate that while you have have 
legitimate reasons for your license choices, ones in that form are 
likely to remind this community of the split open/commercial licenses as 
seen in products like MySQL, and we've watch that combination lead 
toward a less open community than this one wants to be.

As for arguments against the LGPL, the main one I care about is that 
you're more likely to have businesses who hire people adopt a product if 
it's BSD or MIT licensed.  I make a decent chunk of my living doing 
support and customization work on open-source projects.  Anything that 
has a GPL license attached is something I'm less likely to incorporate 
into custom project work I do, because it decreases the number of 
businesses who are then interested in it.  This is mainly because they 
have to incorporate all that background into their "credits" list for 
aggregate works, and that concern inevitably opens up more questions 
better avoided about the implications of the software being bundled.

I'm more concerned about increasing the market I can provide such 
solutions to than I am about people stealing my work, crediting me, or 
not sharing their own customizations.  So my preference for BSD-ish 
licenses is a pragmatic one rooted in business goals.  If you wanted to 
improve your odds of companies adopting psycopg for projects that might 
then lead to them hiring you for support or improvements to the 
software, I'd suggest that using the GPL or even the LGPL is actually 
doing the exact opposite of that.  If your goals are more about 
releasing proper free software in the original Stallman inspired sense 
of the word, the LGPL3 might be exactly the right license for you.

> Second point, the technical discussion about psycopg2 features and bugs... 

I tried to keep the part of that discussion that went into a more public 
form limited to listing suspected issues for further investigation.  You 
can see the the list at 
http://wiki.postgresql.org/wiki/Python_PostgreSQL_Driver_TODO uses terms 
like "Confirm" and "Review" rather than saying outright there's a 
feature or bug issue.  People say all sorts of things about bugs in 
software that aren't necessarily true, and I know your mailing list 
support is excellent once people report things there.  I just checked, 
and apparently I first publicly plugged your project almost two years 
ago:  http://archives.postgresql.org/pgsql-general/2008-04/msg00779.php

But I will point out the reality is that the lack of a published (on a 
web page, stuff buried in list archives doesn't count) known bug list, 
development roadmap, and even standard web page documentation is working 
against your software being deployed more widely.  If we had one, a lot 
of these questions about features or bugs wouldn't even pop up.  Luckily 
the code quality is good enough that people put up with that situation, 
but I can tell you from plenty of conversations on this topic that all 
of your users I've come across (who are also our users!) cite this as a 
major weakness of your project.

If the license issues get sorted out as you plan, that part I think we 
can end up helping out with using our infrastructure.  You might note 
Marko Kreen already created http://wiki.postgresql.org/wiki/Psycopg to 
start working on just that.  I think we'd all be fine with continuing to 
expand on that rather than worry about your revamping the initd.org site 
just to address the documentation goals we have.  And we would certainly 
want to work more closely with you and your other contributors on that, 
to make sure everything is accurate and complete.

-- 
Greg Smith    2ndQuadrant   Baltimore, MD
PostgreSQL Training, Services and Support
greg@2ndQuadrant.com  www.2ndQuadrant.com



Re: About psycopg2 (by its author)

From
Federico Di Gregorio
Date:
On 09/02/2010 23:37, Greg Smith wrote:
[snip]
>> So the logical choice is plain LGPL3. I am open to motivated
>> suggestions about other
>> licenses but I'll ignore such crap as "BSD is more open than LGPL".
>>
>
> I agree with your general logic and while I can't speak for everyone, I
> would be happy enough with a LGPL3 licensed psycopg (obviously
> addressing the usual OpenSSL mess) to pull the license issue off the top
> of the list as a major problem preventing broader deployment of
> psycopg.  The main two points of contention seemed to be your unique
> customizations to the license, which make a lot of legal people nervous,
> and even worse that they were so clearly limiting many types of
> commercial use.  I hope you'd appreciate that while you have have
> legitimate reasons for your license choices, ones in that form are
> likely to remind this community of the split open/commercial licenses as
> seen in products like MySQL, and we've watch that combination lead
> toward a less open community than this one wants to be.

As I said before I agree that a license that grow so many exceptions
during its lifetime is bad and I am ready to change it. But note that it
never intended to be a split open/commercial license: the final phrase
is just an acknowledgment that some companies will always ask for a
customized proprietary license, no matter the actual license [ok, unless
the actual license is BSD ;)]

> As for arguments against the LGPL, the main one I care about is that
> you're more likely to have businesses who hire people adopt a product if
> it's BSD or MIT licensed.  I make a decent chunk of my living doing
> support and customization work on open-source projects.  Anything that
> has a GPL license attached is something I'm less likely to incorporate
> into custom project work I do, because it decreases the number of
> businesses who are then interested in it.  This is mainly because they
> have to incorporate all that background into their "credits" list for
> aggregate works, and that concern inevitably opens up more questions
> better avoided about the implications of the software being bundled.
>
> I'm more concerned about increasing the market I can provide such
> solutions to than I am about people stealing my work, crediting me, or
> not sharing their own customizations.  So my preference for BSD-ish
> licenses is a pragmatic one rooted in business goals.  If you wanted to
> improve your odds of companies adopting psycopg for projects that might
> then lead to them hiring you for support or improvements to the
> software, I'd suggest that using the GPL or even the LGPL is actually
> doing the exact opposite of that.  If your goals are more about
> releasing proper free software in the original Stallman inspired sense
> of the word, the LGPL3 might be exactly the right license for you.

I understand this. In fact my goals are more about releasing free
software than having companies hiring us for psycopg development. And
sincerely I don't care about people "stealing my work" but I do care
about customers (even not related to me) receiving free software and be
correctly informed of their rights when the product is based on free
software.

That's why we (as a company) release all our software as GPL or LGPL.
(Note that I don't have any problems with other licenses, for example
when sending patches for products we use. It is just that I better like
copyleft licenses for software I write myself.)

So, be it. Next version of psycopg2 will be released using LGPL3 (plus
ssl exceptions) and I hope this would solve all current licensing problems.

[snip]
> If the license issues get sorted out as you plan, that part I think we
> can end up helping out with using our infrastructure.  You might note
> Marko Kreen already created http://wiki.postgresql.org/wiki/Psycopg to
> start working on just that.  I think we'd all be fine with continuing to
> expand on that rather than worry about your revamping the initd.org site
> just to address the documentation goals we have.  And we would certainly
> want to work more closely with you and your other contributors on that,
> to make sure everything is accurate and complete.

initd.org will get a facelift first or later. But even if we could have
a psycopg web page ready tomorrow having a page dedicated to psycopg on
wiki.postgresql.org is great.

Also, piro is doing a great work on psycopg2 documentation:

http://piro.develer.com/psycopg2-doc/

make sure to check it out.

federico

--
Federico Di Gregorio                                       fog@initd.orgI porcellini di terra sono davvero Crostacei!
Nonlo sapevo! Certo che sono crostacei, hanno la crosta! Allora la pizza è un crostaceo?!               -- discorso
all'ESC2k07