Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
I'm looking for some clarification on the licensing choice. I was looking forward to using this library until I realized that the GLPv3 license will most likely be an issue in the future.
Looking at your main dependency, libpg_query that powers your python wrapper, why did you decide to deviate from it's BSD-3-Clause licensing?
In addition to that, all of the derivative works from libpg_query, including Ruby pg_query, Go pg_query_go, JS Node pg-query-parser, JS Browser pg-query-emscripten, and Python psqlparse, have all opted to follow in the spirit of libpg_query by licensing there work with the BSD-3-Clause.
Are you willing to follow suit with the other libraries as such? Any insight would be much appreciated.
As summarized in this answer, any code that touches a GPL library must also become GPL licensed if it is distributed in any way. This forces any software that has the potential to be distributed to stray away from a GPL license under threat that it's source code will have to be made public.
With this tight restriction, it makes GPLv3 licensed code unusable unless there is absolutely no potential for any commercial or distribution use. I feel this is an unnecessary restriction to put on a library that is derived from a less restrictive one.
Any consideration into this is appreciated.
Yes, I know about the particularity of the GPL, and I also happen to believe it's a good thing indeed: there's a reason if I usually prefer that license for my own works.
If you think that the GPL license makes “code unusable” and not distributable, well, I beg to differ: there are tons of examples of happy and ethical usages of this kind of software, from Python itself, that uses several different GPL licensed libraries under the hood although it is released under a different license, to companies like Canonical or RedHat that actually built a business around, let see, a GPLed Unix-like kernel...
If you really think that this "issue" damages your freedom, then I'd encourage you to revamp my initial implementation of the functionality, based on psqlparse (see details in the README.rst).
I hope this clarifies my thought.
@lelit To add some more thoughts from my end as well, as the author of
I previously had not noticed that you licensed this under GPLv3 instead of a license like MIT or 3-clause-BSD (or the PostgreSQL license).
Given that you've also chosen the exact same name as the base library (pg_query), I don't feel comfortable with the license choice either, as it may lead to end-user confusion when they search for pg_query.
We have also in the past exchanged code snippets between the various libpg_query wrapper libraries where it made sense, which we can't easily do if this library uses a license with strict copyleft requirements.
Whilst I understand your personal choice in using GPLv3, I would therefore request that you either:
A) Rename this library to something that clearly distinguishes it from the base library and its other wrappers (by using a different name than
B) Reconsider your license choice for this library
Hope you understand & thanks!