step two: profit
step two: profit
step two: profit from people willing to code for enterprises for free
There has to be some reason that Google released PyTorch under BSD-3 by Meta and TensorFlow being released under Apache by Google.
Full disclosure: I got my current job before I had contributed anything to open source but I was asked a lot about it while applying to companies like it's expected that you work in your free time
No wonder Microsoft loves it.
Even LGPL is super challenging here due to requiring dynamic linking. This is fine in Java (unless you use Graal AOT compilation) and Python, impossible in Go, and at best discouraged in other compiled languages like Rust and C++.
I think there's likely a copyleft middle ground - something like the Mozilla public license seems about right, where it copylefts improvements without infecting users. I don't know why Google chose Apache 2.0 over MPL or the like - for something like Android it makes sense, for something like Guava it's not clearcut. But, when people talk copyleft, they're rarely, rarely talking MPL.
I think it's unlikely that Google opensourced Tensorflow with a view to getting some free dev hours, they're doing it to push their OSS agenda, to wield influence over how everyone else does work.
Google saw what happened with other of their technologies like map reduce (not open sourced, the world reinvented in Hadoop and the progress started happening there instead of in MR) and wanted to avoid becoming the bit player in a space they pioneered in. It's a reasonable strategy. (The risk is that you're giving away something that could be a competitive advantage.)
(worked on tensorflow at Google for four years.)
Google really hates copyleft and the GPL.
US government policy is that software developed with public funding is a public good. Current policy encourages government software to released under the most permissive license possible (ideally Public Domain, but practically permissive licenses like MIT/BSD). GPL is farther from the Public Domain than licenses like MIT/BSD. To enter the rabbit hole of material on this topic start at https://code.gov/about/overview/introduction/.
That's not remotely consistent with the way that term is used in practice...
This is "source available".
Open source software and free software are philosophically different but refer to mostly the set of programs (with two different but equivalent definitions [1,2]).
[1] https://opensource.org/definition
[2] https://www.gnu.org/philosophy/free-sw.html.en#fs-definition
I’m pretty sure when you say “look but not touch,” you’re talking about project governance, where outside contributors have limited input into the direction of the project. If that’s the case, I don’t like this conflation of governance and “freedom”. Google’s open source software is free software by all definitions (including FSF).
For a project to be open source or free software, users need to have the “four essential freedoms”. The ability to get your changes merged upstream is not one of those freedoms.
It is totally valid to criticize the corporate governance model of open source software. But it’s best not to confuse our already overloaded definitions by saying that corporate software with a free license isn’t really “free.”