Today, Samsung finally released the Android 4.0 (ICS) source code for Galaxy Note. If you are enthusiastic developer, you can work out your own ROM now very easily. Very likely, within one month, several different flavors of Galaxy ICS ROMs will be floating around.
Why does Samsung (and all other licensed Android hardware manufactures) have to release the source code to the public? This is simply the obligation of using Android, because Android is using Apache license 2.0 except the Linux Kernel (which uses GPL v2 license).
Under Apache 2 license, user has the right to get the source code so that they can modify as they want (although this very likely will void the product warranty). So, the manufacturer MUST make the source code available to users, but it is NOT necessary to be under Apache license. For example, Samsung has its own license on using the the Android source code released by Samsung.
The Linux Kernel is released under GPLv2 license, which requires all modified work must also be released under such a license. Sometimes, this is named as “copyleft” license. Under this license, user get more controls of the source as manufactures are NOT allowed to impose additional terms on using the source code. But due to its copyleft obligation, manufacturers usually want to avoid such license for competition reasons.
Although there are some critics on the openness of Android project, Android is unarguably the best open source OS for mobile phones. It gives you the freedom you deserve.
This is one of the biggest advantages of using open source software, for consumers. You are not locked in; you can check how good or how crappy the code is.
For fruity fanbois, or M$ slaves, they never understand what freedom means, as a consumer.