http://www.engadget.com/2010/11/24/...rigorous-firmware-testing-in-u/#disqus_thread
Just another example of why its important for an OS maker to control their product.
Ok people. It is clear that most of you have no clue what open source is all about, so let me explain.
An open source project has a main line development tree and a maintainer. In case of a small project this could be a single person, or in case of larger projects it could be multiple people responsible for separate areas of the project. The maintainer is (as the name suggests) responsible for maintaining the project (or as you call it 'control'). The maintainer will most likely make project's architectural decisions to move it forward.
Maintainers have control over the code that goes into the project. So when you want to submit your magical changes to the main tree you submit it to the maintainer for review. If your code passes this process, ie code is deemed 'good', it is then merged into the main tree by the maintainer.
Since the project is open source (and for the sake of this discussion let's assume it is released under GNU GPLv3 license), you can download the source code and change it anyway you see fit, given that you publish those changes. So just because Sony (for example) gets this source code and munges it around to work on its phone, publishes the changes and releases the phone, doesn't mean that its changes will EVER make it into main dev tree.
Now the advantage of this model is that a project can grow very rapidly as code contributions can come from many sources. But, as I mentioned in another post most companies that make use of open source software don't care to make meaningful contributions to open source projects. This is the disadvantage.
Now I know what you are thinking. But proprietary software is so great. The company controls everything and all is well. Well, not quite, let's take the most popular OS out there, windows. When a hardware manufacturer makes a new device (say video card), they release device drivers for that device. Microsoft does not write all the device drivers available for that OS. Microsoft relies on those hardware manufacturers to support its product (windows) and I think open source projects should expect the same (maybe someday).