When most people look at Amazon, they probably see a retail giant that's constantly growing and reaching into new markets. But at the core of almost all of Amazon's success is open source — yet you rarely see Amazon participating and contributing. What's up with that?
Glyn Moody raised this point on Wednesday, and I have to say he's spot-on. Moody compares Amazon and Google — companies of similar size, that both depend heavily on Linux and open source. Yet Google is an active participant and contributor in open source, and Amazon largely sits on the sidelines.
Consider, for example, the Linux kernel. Amazon uses tons of Linux, not only to power all the servers that it uses for retail but also for Amazon Web Services — and in its own Kindle device, which is by all accounts selling like hotcakes. But Amazon doesn't turn up in the top 20 kernel contributors. (Google does, though a bit lower than one might think — just after Samsung and Oracle.) Why isn't Amazon more active?
Why Amazon should contribute
The idea that companies "should" contribute gets a lot of pushback from folks who feel that FOSS licenses are the be-all and end-all of commitments to FOSS. In other words, if a license doesn't require that a business or entity do something, and it doesn't proscribe doing something, then all's well.
I call that the baby seal argument. Taking the most common license, the GPLv2, as an example you can do all kinds of things so long as you respect the "four freedoms" and follow the license. But the GPLv2 says absolutely nothing about clubbing baby seals — for or against. So if you use the Linux kernel to create an automated baby seal clubbing machine, then following the license-only crowd (we'll call them the seal-clubbers) this is perfectly OK and we shouldn't raise a stink.
Yeah, that's an extreme example and silly. But it's also silly to insist that anything the license allows within normal business practices is also acceptable. The GPL and other licenses were not developed to encourage standard business "I've got mine, now piss off" behavior, and we shouldn't encourage companies like Amazon to sit on the sidelines and consume software without making a significant contribution of some kind.
Even the BSD licenses, which are the most permissive, don't come from a culture that encourages non-participation — they simply accept that there are scenarios when an entity may not wish to contribute back in whole or in part. The BSD-licensed projects wouldn't exist without a community that is willing to participate and contribute.
Amazon should be participating and contributing. Not just because it would benefit the other companies, organizations, and individuals that already are — but because it's good for Amazon, too.
Those that participate in the projects they use have an opportunity to help steer the projects that they use. They have an opportunity to make sure features they need are in the mainline project, so they don't need to tend to them on their own.
When companies put projects and features out to the community, they usually find that those projects and features improve — at least when the company participates as a good citizen in the communities it joins and/or starts.
It's also good for the company's development team. In my experience, many (if not most, but I'm sure not all) developers like to be able to work with the larger community. Amazon no doubt has some big brains in residence — but it doesn't have them all. I bet a lot of Amazon's developers would like to be spending some of their paid time working with the FOSS community.
Finally — and I'm not afraid to say this, though a lot of proponents seem to be — it's the right thing to do. As a member of a community, you have a responsibility for its upkeep. I fully believe that Amazon would benefit a great deal from being a more active participant and contributor in FOSS, but I also think that Amazon should be doing more than it is now.
I'm not saying that people should boycott Amazon because it's not a significant contributor, or that people should say nasty things about Amazon. But gently encouraging the company, as Moody does in his post, is a good idea. And I have to say that I do love Amazon "summer of documentation" idea. I've been nudging folks at Google for years to open up GSoC to documentation, or to create a doc program. But why should Google bear all the weight? Documentation is right up Amazon's alley — and as Moody points out, the company could benefit by publishing Kindle editions of the docs.
What do you think? Are you with the seal-clubbers or the contributors?