After summarizing my posting, Savio responds with:
I'm inclined to reach a slightly different conclusion.
When WebSphere stopped developing its own HTTP Server and began to use the Apache Web Server, IBM did two things that helped the customer. First, IBM took some of the folks working on IBM's HTTP server and reassigned them to work on other features that have customer value. This clearly helped IBM customers because the new features delivered by the reassigned engineers solved customer pain points. Second, IBM ensured that some of the original HTTP server head count was assigned to work on the Apache project as part of their IBM role. This helped IBM and non-IBM customers alike in building out a more robust product at Apache. IBM has used this approach for many components within IBM products. It seems that Cisco is following step one from the IBM approach.
Okay, so Savio says that there are two ways that Cisco using open source could be delivering some benefits to customers:
- They can reassign resources to develop other features.
- They could could contribute back to projects.
Savio all-but agrees that they probably aren't doing too much of the second, though that's hard to quantify without going through the change logs of each of the projects they might be using. For the sake of argument, as I said in my original post, let's give them the benefit of the doubt and say that they are doing some amount of contribution. My guess is that whenever they find obvious bugs, they're making fixes and contributing those back. To do otherwise simply means that they have more to maintain in the long run, so it's in their best interests to pass on things that they find.
Now, this response is really aimed at Savio's first point, which I think has some flawed thinking. Saying that having an otherwise closed-source vendor using open source benefits customers because it allows the vendor to develop other features, while true on the face of it, is really unrelated to open source itself. By this definition, doing anything which frees up resources to be allocated to other features delivers the same benefit. This is simply classical build vs. buy decision making. Any well-run engineering team should spend most of its time creating differentiated value rather than reinventing the wheel for no good reason. Thus, when given the choice of building versus buying technology, all things being equal, you should buy it if it's available at a lower price than your expected development cost for the same feature. In the case of open source, Cisco is simply "buying" these features at a cost of $0.
My argument is that customers would never know the difference if Cisco was buying closed-source software components for a price much more than $0. Simply, the savings are not being passed on to customers. That's the fundamental point that Savio still hasn't answered.
Summary: Is Cisco getting an advantage from open source? Yes. It has chosen a "buy strategy" where the cost to purchase technology is $0. Does the "buy strategy" benefit customers? Yes, because resources can be deployed to other features. Are the benefits of the "buy strategy" unique to open source? No, the customer gets roughly the same benefit of additional features whether the code in question is open source or whether Cisco uses closed-source. Does the "buy strategy" benefit customers because Cisco is "buying" open source technology at a cost of $0? No, because that savings really isn't being passed on to customers and they receive no additional, traditional open source benefits.
Sooooo... I stand by my earlier assertion.