[Samsung Infuse 4G] Entropy512:
A bit too generic there. There are multiple open source licenses. The GPL, which covers the kernel, is a fairly strict one, source MUST be released if a binary is.

However, the Android userland stack is under the Apache license. Source code release is not required for modifications/derivatives. That's why we don't have source code for any component of Samsung-based ROMs except for those bits that are governed by the GPL.

That probably means that spec-wise, any device that supports 2.3 will support 4.0 - but that doesn't eliminate the need to do a hardware bring-up for 4.0.

Unfortunately I can't find a link to the Android porting guide right now - but doing a device bringup isn't easy.

A key relevant quote from http://source.android.com/source/building-devices.html is "While it's possible to build and run a system using exclusively source code from Android Open-Source Project, such a system can only use the devices' hardware capabilities for which Open-Source support exists." - By design, Nexus series devices minimize the amount of vendor-proprietary components, and make as much as possible open source. However, this does not hold true for non-Nexus phones - they almost always have SIGNIFICANTLY more vendor-proprietary components. If the library interfaces for those components change from 2.3 to 4.0, then that component becomes useless for a 4.0 bringup. Almost surely, those library interfaces will change.

Even for open-source stuff, rewriting a component for a new Android release is NOT easy. Kernel drivers can be a major ***** to forward-port, and similarly, even open source Android components can be. Look, for example, at the state of xdandroid Gingerbread (for HTC WinMo devices, primarily the HTC Rhodium aka Touch Pro 2/Tilt 2) - Many functions that work well in Froyo are still completely missing/broken in Gingerbread.

As another example, look at the state of our Cyanogenmod 7 port. The CM7 bringup process is the exact same process that would be used to bringup ICS on our device.

Do note two key things about the CM7 bringup process for us:

Until Rogers Gingerbread was released so that we could get Gingerbread vendor-proprietary libraries and kernel source code, CM7 barely even booted. There's a reason LinuxBozo's CM7 repos existed for at least 1-2 months before Rogers Gingerbread but LB didn't even post a source code discussion thread until a few weeks after Rogers GB came out

Even with the Rogers Gingerbread vendor-proprietary bits, those bits were Samsungified enough to break standard AOSP compatibility. See CM7 Bluetooth as the prime example.

Basically, if you think ICS for the Infuse is going to reach a state much better than CM7 for the Infuse was in the Froyo days, you don't understand the process of device bringup at all.

Why do you believe this? Show your evidence? What Android device porting/bringup experience do you have? If you haven't ported (or even fixed) an Android device driver before or forward-ported a Linux kernel driver to a newer kernel, you are not remotely qualified to claim whether it is easy or hard.

I'd say, at the very least, chances are about 1% that you'll ever see Bluetooth or GPS working on ICS on the Infuse unless there's an official ICS drop for the device. The driver for the BT/GPS chip is just that much of a nightmare of epic proportions.