"With prices approaching zero, software developers have two choices when trying to win over users: (1) add features not available elsewhere, and (2) release the source code. There is no other currency of value that developers can extend to users"

This is only true if you consider each piece of software as a point solution. A vendor that provides an integrated set of products that work better with each other than by themselves has something that is less easy to eclipse by commoditizing a single piece. Microsoft being a case in point, but this applies to other major software vendors too.

You may argue that such beneficial interdependence is just a "feature" but that ignores the fact that you can't beat it simply by improving the capabilities of a single piece of it. You have to improve the capabilities of the whole solution. Hence an Open Source office automation product may approach the individual capabilities of a commercial software equivalent, but if that commercial software equivalent can leverage capabilities of a wider solution not available to the open source product then the open source equivalent will never really match the commercial product in terms of business value.