CyanogenMod doesn't exist for the Motorola Photon.
It's great to say that open source means you have the power, but most people can't reverse-engineer a driver.
In fact, it seems like none of the newer, popular Android devices are supported by CyanogenMod. Looking through the Android phones from the top three American carriers, I see:
Motorola: RAZR M, RAZR MAXX, RAZR, Photon Q 4G LTE, ADMIRAL, Atrix HD
Samsung: Galaxy S III, Galaxy Stellar, Stratosphere, Droid Charge, Galaxy Nexus, Conquer 4G, Replenish, Transform Ultra, Galaxy Victory, Galaxy S II (Sprint), Galaxy Note, Galaxy Exhilarate, Galaxy S II Skyrocket, Captivate Glide, Rugby Smart
HTC: Incredible 4G LTE, Rhyme, Rezound, Hero, One X, Vivid
Pantech: Marauder, Breakout, Flex, Burst, Pocket
Casio: G'zOne Commando
Kyocera: Rise, Milano
ZTE: Fury
Sony: Xperia ion
That's a list of every Android phone offered by the big four American carriers. There isn't a single device for Sprint or Verizon (accounting for over half the market) that CyanogenMod supports. With AT&T, you're limited to the Galaxy S II Skyrocket (and, really, you'd want the S III). There's also not a device released in 2012 that CyanogenMod supports. CyanogenMod gave me a workable system at a time when Samsung abandoned my device having never fixed major bugs. However, with newer devices, CyanogenMod seems to be slipping behind. If you're buying a nice Android device today and putting out $200, you're getting something like a Galaxy S III, a One X, or a RAZR M and it isn't clear that you'll be getting much support for your device (from the manufacturer, carrier, Google, or third parties).
I bought into Android with high hopes. I understand how crappy Apple's closed model is. However, Android is making you beholden to the device manufacturer and your carrier in the same way iPhone users are beholden to Apple - unless you can reverse engineer device drivers. I know, in theory, you could hire someone or whatnot, but in practice Apple supports their devices for many years while Android phones may never see updates. Buying an Android phone has to be a purchase where you assume you won't even get an OS that exists today unless it's pre-loaded on the phone. Android manufacturers bought themselves a year of "but it's going to change" when they made the pledge. That pledge fell through as soon as it came time to actually provide the upgrades.
Saying that they aren't stuck is somewhat akin to saying that poor people could just go out and become rich. Sure, in theory, there are always opportunities and whatnot, but it just isn't that easy. In reality, Google didn't free us, but tethered us to manufacturers that care less and carriers that are even worse. If Google were to be credited here, I think they should have insisted on a model where device manufacturers release drivers (ala Windows) so that users could install Android from any source. Even better would be to have those drivers be open source so that users could update them (providing updates is going to be easier than reverse engineering). That would have led to real options.
It's great to say that open source means you have the power, but most people can't reverse-engineer a driver.
In fact, it seems like none of the newer, popular Android devices are supported by CyanogenMod. Looking through the Android phones from the top three American carriers, I see:
Motorola: RAZR M, RAZR MAXX, RAZR, Photon Q 4G LTE, ADMIRAL, Atrix HD
Samsung: Galaxy S III, Galaxy Stellar, Stratosphere, Droid Charge, Galaxy Nexus, Conquer 4G, Replenish, Transform Ultra, Galaxy Victory, Galaxy S II (Sprint), Galaxy Note, Galaxy Exhilarate, Galaxy S II Skyrocket, Captivate Glide, Rugby Smart
LG: Intuition, Lucid, Spectrum, Enlighten, Optimus Elite, Optimus S, Viper 4G LTE, Escape, Nitro HD
HTC: Incredible 4G LTE, Rhyme, Rezound, Hero, One X, Vivid
Pantech: Marauder, Breakout, Flex, Burst, Pocket
Casio: G'zOne Commando
Kyocera: Rise, Milano
ZTE: Fury
Sony: Xperia ion
That's a list of every Android phone offered by the big four American carriers. There isn't a single device for Sprint or Verizon (accounting for over half the market) that CyanogenMod supports. With AT&T, you're limited to the Galaxy S II Skyrocket (and, really, you'd want the S III). There's also not a device released in 2012 that CyanogenMod supports. CyanogenMod gave me a workable system at a time when Samsung abandoned my device having never fixed major bugs. However, with newer devices, CyanogenMod seems to be slipping behind. If you're buying a nice Android device today and putting out $200, you're getting something like a Galaxy S III, a One X, or a RAZR M and it isn't clear that you'll be getting much support for your device (from the manufacturer, carrier, Google, or third parties).
I bought into Android with high hopes. I understand how crappy Apple's closed model is. However, Android is making you beholden to the device manufacturer and your carrier in the same way iPhone users are beholden to Apple - unless you can reverse engineer device drivers. I know, in theory, you could hire someone or whatnot, but in practice Apple supports their devices for many years while Android phones may never see updates. Buying an Android phone has to be a purchase where you assume you won't even get an OS that exists today unless it's pre-loaded on the phone. Android manufacturers bought themselves a year of "but it's going to change" when they made the pledge. That pledge fell through as soon as it came time to actually provide the upgrades.
Saying that they aren't stuck is somewhat akin to saying that poor people could just go out and become rich. Sure, in theory, there are always opportunities and whatnot, but it just isn't that easy. In reality, Google didn't free us, but tethered us to manufacturers that care less and carriers that are even worse. If Google were to be credited here, I think they should have insisted on a model where device manufacturers release drivers (ala Windows) so that users could install Android from any source. Even better would be to have those drivers be open source so that users could update them (providing updates is going to be easier than reverse engineering). That would have led to real options.