Thread: About psycopg2 (by its author)
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.
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
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.
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/
[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! :-)
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
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