Comments (12)
Are you planning to change to this license? If so, please be aware that it's incompatible with projects licensed under the GPLv2. (And I'd be sad and unable to use the module in the main place I want to.)
from requests.
Hmm, thanks for pointing that out.
I'm planning on switching mostly because of the contribution clauses.
from requests.
What project are you using that's GPLv2? Most popular GPLv2 projects are dual licensed w/ v3 as well.
from requests.
One example is imgseek (http://www.imgseek.net), which is incorporated in (a patched version of) Xapian (http://xapian.org). Xapian itself is GPLv2 or later, but imgseek is v2 only (which is one reason that it's not in the main distribution of Xapian).
I've come across a few others, though I agree it's not common.
from requests.
Hmm, thanks for the info.
The main feature of the Apache v2, the patent killall clause, is what causes the GPLv2 incompatibility. Obviously, there's nothing in Requests
that's patentable, so it may be overboard. I'll look into alternatives.
I'll likely add a contribution clause to the existing license.
from requests.
I've not looked the contribution clauses in the Apache license before - I assume you mean clause 5: "Submission of Contributions". It's an interesting approach, but I'm not sure how safe it would be to rely on it. I think you (in general) really should get explicit confirmation from a contributor that it's okay to redistribute their code under the project's license anyway, to be on the safe side. Assuming that they've read the license properly and are happy with that clause seems unwise. In particular, I always ask to check that contributors have the right to give you such a license (employees usually need to get their employers permission for code written in work time, for example) before incorporating it - if they get it wrong, you're still liable to some extent for distributing it. If you don't ask, they often don't even think of that potential problem. (Except for simple one line fixes, etc, where there isn't a copyright concern.)
Certainly, I don't think that the act of forking requests and pushing some changes to that fork would count as a "Contribution intentionally submitted for inclusion in the Work" - I think there's a strong case that you need something more explicit than that.
One other thing to think about: it's possible you might want to contribute requests to the python core (in the distant future?). Maybe you should just use the python license, to make that easier?
It's your choice, of course, and I'd be happy to license the contributions in my fork on github under any open source license (and I have the right to, too!), but hopefully my comments are of some help.
from requests.
FWIW, my preferred license these days, unless there's a very compelling reason otherwise, is MIT/X - it's clear enough that it's actually reasonable to expect people to have read it, and it doesn't get in the way of anything. That, combined with getting an explicit message from contributors that they agree to it, seems pretty safe to me.
from requests.
Holding this off, for now.
from requests.
AL2 licensed software is rather unfortunate for any GPL v2-only project that would like to use it due to that incompatibility.
But please don't underestimate that even GPL v2+ licensed projects also might not want to de-facto restrict themselves and their users to GPL v3 just because they would like to use some AL2 code. Tomorrow they might need some GPL v2 only code and then they can't use it because that would create a combination that's not licensable at all any more.
Similar if they already use GPL v2 code (although most code is v2+), then they can't use AL2 code already without causing that problem.
So it would be really great if you could license requests under a more compatible license.
A potential GSOC student proposed to use requests (which I technically find great), but it currently looks like we can't allow it. :-(
from requests.
You should probably talk to @kennethreitz about whether he's prepared to dual-license Requests, either in general or in specific cases.
from requests.
Nope.
from requests.
Looks like GPLv2 projects are out of luck then @ThomasWaldmann. Sorry!
from requests.
Related Issues (20)
- Refresh Test PyPi Package HOT 2
- How to get IP address of connected host after getting the response? HOT 1
- Unintended Leak Of Proxy-Authorization Header In Requests
- Kenneth Reitz, Take care of yourself. HOT 1
- [BUG] JSONDecodeError can't be deserialized - invalid JSON raises a BrokenProcessPool and crashes the entire process pool HOT 1
- Multipart/form-data requests creates mismatched boundaries between request body and headers HOT 1
- `params` might be misnamed? HOT 1
- Getting warning while running databricks cli command in azure devops HOT 1
- IPv6 address change for sequential gets HOT 2
- requests Session and pool timeout. HOT 1
- [BUG] pytest error in python:3.8- (only work in 3.7) because httpbin uses deprecated werkzeug function 'parse_authorization_header' HOT 2
- A HOT 1
- 2.31.0: pytest fails in `tests/test_requests.py::TestRequests::test_https_warnings` unit HOT 3
- Leading slash in uri followed by column fails HOT 5
- ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) HOT 1
- `get_encoding_from_headers` fails if charset name not specified HOT 1
- Wrong CA Certificates used in requests.Session.send
- POST with multiple files with the form-data sends only 1 file. HOT 4
- Max retries exceeded with url HOT 1
- Document which exceptions request() might raise HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from requests.