Apache 2 or MIT would be the most permissive.
Apache 2 or MIT would be the most permissive.
Strange world we are living in ...
For libraries, yes, absolutely, companies should rightly be cautious, because it's relatively easy to expose yourself to legal risk.
Nobody is "going away with the work of others" – the whole point of a license is so contributors decide how others can use their work. What exactly is the issue here?
Apache 2.0 is the standard for almost every company I've dealt with, with MIT and BSD 3 clause being accepted as well. But Apache 2 seems to make most lawyers happy.
I'd speculate that for many companies the GPLv3 is too strong in its copy-left stance, by disallowing Tivoization.
The distinction between the two text is case of paten agreements.
GPL is a great license that ensures that improvements to the product are shared back with the community. In fact, for a database like Riak, Affero GPL, like the MongoDB license may even be better, as organizations that make improvements to Riak but don't redistribute it but run it internally on their servers would also be required to contribute back their modifications.
Two things wrong with this right off the bat. First, not all of these are GPLv3, which is the version with the problematic patent clauses that scare companies away. Second, it is not just in libraries that the GPLv3 is generally accepted to pose potential issues. You need look no further than Apple and the great investment they went through to avoid ever shipping GPLv3 software. The GPL kicks in as soon as you distribute the software.
So, if Linux were GPLv3 you're saying that most companies wouldn't use it?
> You need look no further than Apple and the great investment they went through to avoid ever shipping GPLv3 software.
Most companies aren't like Apple.
> The GPL kicks in as soon as you distribute the software.
That's right, and that's a good thing. If you distribute GPL software that you modify, you need to make your modifications public. But as Riak is not a library, it does not infect any other component. If you distribute software with (say, Android) Linux but don't modify Linux then the GPL doesn't infect the other components of your software, as they're not actually linked (or Linux has some explicit exceptions).
What about the client libraries? Do you consider them to be a part of the product? It might make sense to release the client code (library) and the server code under different licenses (Apache2/GPL, respectively) if GPL is to be used.
Yep.