Even most of us who are highly knowledgeable and understand Linux to it's most profound depths appreciate a good desktop experience. The fact we can compile a kernel or any software does not mean we prefer that to a nice end-user experience.
It is still not too late for RedHat, and given the horrible direction Ubuntu has been going recently (trying to run on Phones and Tablets), and the fact that the tablet fad is starting to pass and the desktop did not die (as evidenced by Microsoft's direction with Windows 9), they have a great chance to re-capture the desktop user. They will definitely not be able to do that by supporting Gnome 3 (something a large part of desktop users hate, even if a small minority likes it), and their very unfriendly package manager. They now have Ubuntu as example of how to do some things right, and as proof that this is a desirable business direction.
No matter how valid the arguments of those who favor OpenCL are, Google just answers with FUD.
We are doomed.
"Typical examples of commercial licensees include device manufacturers embedding Mono in hardware where the user is not able to independently upgrade the Mono virtual machine from the source code"
This rules out Android and iOS. Unity has a free version but also has restrictions:
Unity Free, which include the free platform add-on products, may not be licensed or used by a commercial entity with annual gross revenues (based on prior fiscal year) in excess of US$100,000, or by an educational, academic, non-profit or government entity with a total annual budget for the entire entity (based on prior fiscal year) in excess of US$100,000.
So, again, make sure you are doing your research well, because you might end up in an unexpected situation.
Mozilla's ASM.JS is much better idea and much closer to a real-life usage scenario, but Google itself is not doing enough to promote it and their support is half assed (even though It would definitely benefit them).
Of course, how else would one make code portable between platforms? Yet their support for using their native Java API from C or C++ is horrible. JNI is unsafe and crash prone and the NativeActivity is so limited that barely anyhthing can be made with it.