Re: About psycopg2 (by its author)

Lists: pgsql-hackers
From: Federico Di Gregorio <fog(at)initd(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Psycopg Mailing List <psycopg(at)lists(dot)initd(dot)org>
Subject: About psycopg2 (by its author)
Date: 2010-02-09 13:56:19
Message-ID: 4B716983.3000208@initd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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(at)initd(dot)org> <jid:fog(at)jabber(dot)linux(dot)it>
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.


From: Dave Page <dpage(at)pgadmin(dot)org>
To: Federico Di Gregorio <fog(at)initd(dot)org>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Psycopg Mailing List <psycopg(at)lists(dot)initd(dot)org>
Subject: Re: About psycopg2 (by its author)
Date: 2010-02-09 14:22:55
Message-ID: 937d27e11002090622t14c6cb26lbd40ca6e8b9669c1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog(at)initd(dot)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


From: Federico Di Gregorio <fog(at)initd(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: About psycopg2 (by its author)
Date: 2010-02-09 14:28:38
Message-ID: 4B717116.4080903@initd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 09/02/2010 15:22, Dave Page wrote:
> On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog(at)initd(dot)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(at)initd(dot)org> <jid:fog(at)jabber(dot)linux(dot)it>
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.


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Federico Di Gregorio <fog(at)initd(dot)org>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: About psycopg2 (by its author)
Date: 2010-02-09 14:36:55
Message-ID: 9837222c1002090636s7be128acu44b709a67b03f036@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Feb 9, 2010 at 15:28, Federico Di Gregorio <fog(at)initd(dot)org> wrote:
> On 09/02/2010 15:22, Dave Page wrote:
>> On Tue, Feb 9, 2010 at 1:56 PM, Federico Di Gregorio <fog(at)initd(dot)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 Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/


From: Greg Smith <greg(at)2ndquadrant(dot)com>
To: Federico Di Gregorio <fog(at)initd(dot)org>
Cc: pgsql-hackers(at)postgresql(dot)org, Psycopg Mailing List <psycopg(at)lists(dot)initd(dot)org>
Subject: Re: About psycopg2 (by its author)
Date: 2010-02-09 22:37:14
Message-ID: 4B71E39A.1030404@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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(at)2ndQuadrant(dot)com www.2ndQuadrant.com


From: Federico Di Gregorio <fog(at)initd(dot)org>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: About psycopg2 (by its author)
Date: 2010-02-10 11:29:56
Message-ID: 4B7298B4.5030508@initd.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

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(at)initd(dot)org
I porcellini di terra sono davvero Crostacei! Non lo sapevo!
Certo che sono crostacei, hanno la crosta!
Allora la pizza è un crostaceo?! -- discorso all'ESC2k07