The line between community and commercial benefits everyone, and it couldn't be easier to choose one or the other.
You'd be hard pressed to find Android fans familiar with concepts like rooting and flashing roms that don't know what CyanogenMod is. As a third-party replacement for the version of Android that came with your device that has been available since the HTC G1 — as nuts as it was to try and flash something on that phone — CyanogenMod has earned its place in the history of this platform. As Android grew, so did the people responsible for CyanogenMod, and now those people are a proper company working towards bringing their vision for Android to everyone by partnering with companies and being included as the release software. The software on these retail devices is a little different from the zip you can download and flash to replace your current version of Android, and to help differentiate between these two software versions you'll heard a different name associated with this retail variant — Cyanogen OS.
Branding aside, what exactly are the differences between the commercially available Cyanogen OS and the community maintained CyanogenMod? Let's take a look.
The open window and the closed door
Android is open source. We love saying those words, but the truth is Android is a lot more complicated than Andy Rubin's infamous tweet. CyanogenMod is proof that anyone can download the code from Google, make a ton of changes, and build something unique based on Android. Much like the Android Open Source Project, you can look at the work being done to CyanogenMod whenever you want through their code review, and you can download and compile CyanogenMod on your own. This is great if all you want to do is play with Android in a virtual environment on your desktop, but once you try to put that version of Android on a piece of hardware you run into a few hurdles.
The Cyanogen folks have to work with the companies that make these proprietary bits
Smartphones and tablets are full of all sorts of fun pieces of hardware made by companies that aren't Google, and the code necessary to make those things work well is almost always proprietary and closed source. Those proprietary bits can often be bolted on to a build and loaded onto the device alongside all that open source code, but you'll quickly find using your phone without those bits isn't going to happen. On top of this, retail versions of Android with Google Play Services need to pass Google's certification every time a software update is created in order to continue offering Google's apps and services.
In order to offer Android on retail products, the Cyanogen folks have to work with the companies that make these proprietary bits and they have to keep Google in the loop. This isn't the case with CyanogenMod, where new code can be added into new builds and offered to users on a nightly basis. Working with these companies for retail releases means maintaining a separate software channel to work with those companies, and releasing a version of their Android fork that includes those proprietary bits. Essentially, that separate retail version is Cyanogen OS, and it's only available to people who buy a phone with this software included. It's built on all of the open source software that makes CyanogenMod, but includes some proprietary software that makes working with other industry partners — from Alcatel and OnePlus to Qualcomm and Intel — possible.
The differences between Cyanogen OS and CyanogenMod go a little further than whether you can poke around and wield some of the Cyanogen software to make something of your own. If you're a fan of bleeding edge software, regardless of whether it's 100% stable, nightly builds on CyanogenMod get you the latest version of everything much faster than the stable release cycle found in its counterpart. Cyanogen OS includes a number of software partnerships as well, and by integrating the software from their partners directly into the interface the Cyanogen folks are able to offer what they view as compelling alternatives to the way Google is currently doing things.
Fans of "pure" Android consider moves like this to be a form of bloatware
For the most part, these additions are viewed as a good thing. One of the most popular third party software keyboards in the world is available by default, a highly functional backup and sync service instead of Dropbox or Google's cloud services, and recently a new dialer system that includes a community-driven caller ID and spam caller reporting system, not to mention a significant agreement with Microsoft to include their services in the future. Fans of "pure" Android, which is to say folks that only like it when Google tells them what apps are going to be put on a device when it is handed to them, consider moves like this to be a form of bloatware. In response to those concerns, the Cyanogen team have continued to support the ability to choose through opt-in services and the ability to uninstall pre-loaded software.
These software additions are optional for Cyanogen OS users, and practically non-existent for CyanogenMod users. While the Cyanogen folks have said in the past they're trying to determine the best route for allowing their community fans to participate in the same integrated apps the Cyanogen OS folks have available to them out of the box, there has yet to be any official plans for that happening. Some developers have chosen to fully embrace both sides of Cyanogen, like the cloud sync folks at Nextbit with their Baton service, but it's not yet universal. Depending on your preference with this extra software, that is either a good thing or a bad thing. Since these folks seem to be all about choice, letting all of their users build the experience they want seems like the most logical way forward, but only time will tell.
Growth is good for everyone
While there are some significant differences between Cyanogen OS and CyanogenMod, most of these differences are arguable not user-facing. Most folks aren't going to try to add to or modify their own software. That shouldn't take away from their significance, but in context it means the average person using either Cyanogen OS or CyanogenMod is unlikely to see much of a difference in day to day use, which is kind of the point. CyanogenMod is for folks who grew tired of the Android sold to them by someone else, and Cyanogen OS is an attempt to create a compelling option for users before that software frustration or boredom happens in the first place. You can even install CyanogenMod on Cyanogen OS devices, should you ever feel the need.
It's also a mutually beneficial arrangement. Cyanogen Inc gets to say they have a huge community of users and contributors, and their strategic partnerships help create paid positions for folks to come in and work on CyanogenMod full time. This means working with developers who are contributing to the project, supplying devices to community maintainers, and paying for the hardware necessary to create nightly test releases for the many devices under the CyanogenMod banner. The dividing line between Cyanogen OS and CyanogenMod means both can continue to grow at a healthy pace, which is usually a great indicator that neither is going away anytime soon.