I have always seen the diversity of OSS as both its biggest strength and the most significant reason it isn't more widely adopted.
As you point out, it would be possible for anyone to modify existing software to add or modify features, which ought to be a good thing. However, it also means it would be possible to use "linux" at ten different jobs and have ten completely different experiences. A big advantage of Microsoft products is that they CAN'T be changed by everyone and a user's experience with, for example, Windows 7 will be damn near the same anywhere they go.
I have always seen the diversity of OSS as both its biggest strength and the most significant reason it isn't more widely adopted. As you point out, it would be possible for anyone to modify existing software to add or modify features, which ought to be a good thing. However, it also means it would be possible to use "linux" at ten different jobs and have ten completely different experiences. A big advantage of Microsoft products is that they CAN'T be changed by everyone and a user's experience with, for example, Windows 7 will be damn near the same anywhere they go.