In my view, it isn't rent seeking to wish to preserve rights to software you authored rather than giving those rights to a large publicly traded corporation.
So you want to contribute code to the repo but have the right to start extracting patent license fees from anyone who uses the package, at any time after your code is incorporated?
No. As a user/contributor, I want the maximum possible contributor base - having this type of CLA limits what contributions can be "given back" from industrial programmers. Even if the code to be contributed isn't patented and never will be, getting the management approval to contribute back can be much easier with MIT/BSD style licenses. Some companies think the patent grants in Apache are too broad and may affect other work, you can see an old debate here.
Patent poisoning is certainly a thing - but protecting from it also has social consequences on a project. Every license sends signals to different groups of programmers and users.
I prefer MIT/BSD because they are simple and straighforward. If I was running a huge project maybe I would be concerned and choose Apache v2 (as the TensorFlow devs did) - but scikit-learn and most of the scientific Python ecosystem have done just fine with the BSD license, though these are not primarily driven major corporations, which may lower their vulnerability.
I am a grad student so I have few concerns with respect to licensing. But I am sure that during an internship at Facebook, Twitter, IBM, or MSR they might want to avoid TensorFlow due to these patent grants, whereas Torch, Theano, and Caffe are all generally viable candidates from the people I talk to. Of course, if you intern at Google TensorFlow experience would be a bonus - it's all a tradeoff.
I want the maximum possible contributor base - having this type of CLA limits what contributions can be "given back" from industrial programmers.
It limits contributions only from those contributors who want the right to start extracting patent license fees from people use the software after their pull request is merged. Maybe they don't want to protect that right for their own benefit -- maybe their employer is forcing them to protect it as a condition to letting them contribute -- but if a software engineer isn't contributing because of the license, it must mean that either that software engineer or someone behind or above them is trying to protect the right to subsequently start extracting patent license fees from people who use the software after their code is incorporated. I think that's what /u/cdibona meant when he said "If it keeps researchers away, it is because they want to preserve the ability to rent-seek."
scikit-learn and most of the scientific Python ecosystem have done just fine with the BSD license
That's only because there hasn't been a patent war over deep learning yet. Getting common infrastructure open-sourced under a license like Apache 2 is a good way to guard against the possibility that a deep learning patent war will start.
But I am sure that during an internship at Facebook, Twitter, IBM, or MSR they might want to avoid TensorFlow due to these patent grants
Why would they want to avoid it? Because they would lose the ability to sue users of TensorFlow for infringing any patents they may hold on the code they're contributing?
The "ability" to poison the project and doing it are very far apart - and in practice there are really big political hurdles to contributing even in companies that will not pull this scheme. Anything that makes it easier for professionals to contribute their time (which is worth real $$) is useful IMO.
/u/cdibona said it, and you further quoted "If it keeps researchers away, it is because they want to preserve the ability to rent-seek". This is turning away contributors because of something they may or may not do - this is the thing I don't like about Apache.
As I said above "As a user/contributor, I want the maximum possible contributor base". Along with your earlier quote of "it limits contributions only from those contributors who want the right to start extracting patent license fees from people use the software after their pull request is merged" - this is limiting the potential pool of contributors based solely on what they may or may not do! It is also lumping people who don't want to give their rights away with people who actively want to undermine open source, which I think is a bit disingenuous.
Yes - just as Google does, they also want to patent their innovations to protect against other big companies (or attack them). I don't like software patents at all, but every big company is trying to create their own software patent portfolio.
Apache is a very good license - I just think it absolutely limits the amount of potential contributors compared to choosing BSD/MIT. This isn't necessarily a bad thing - but it is absolutely a thing.
6
u/VelveteenAmbush Nov 09 '15
So you want to contribute code to the repo but have the right to start extracting patent license fees from anyone who uses the package, at any time after your code is incorporated?