A discussion of Android, AOSP, and CyanogenMod project

Last Updated:

  1. isaacj87

    isaacj87 Well-Known Member

    Hello all,

    Sometimes, I get the feeling that some people, mostly newcomers, don't understand Android, AOSP, open-source and the CyanogenMod project. I am in no way an expert on these matters, but I've been around the project for awhile and decided to open up some discussion about it. If anyone of you feel that I've made a mistake or misspoke, please feel free to correct me.

    First, I'll start with a brief explanation of open source software. Open source means to be free as in libre, but not always free as in beer. Furthermore, just because software has been released as open source, doesn't mean it has to be distributed. According to Wikipedia, in order to qualify as open source software, the software has to to align with these criteria:

    Certain licensing comes into play as well. The way I understand it, OSS has the code available to change at will and, depending on the license, the person/party who changes the software may distribute, sell, set on fire, etc. the software as long as the changes to the original source were made public. So, I can take a piece of code, make some changes to it and never release the product. The changes I've made, in compliance with OSS rules, would make me obligated to release the changes I've made to the source code.

    When it comes to Android, which is a Linux-based OS, there is a project called the Android Open Source Project (AOSP). As far as I can tell, AOSP uses a combination of 2 licenses. These licenses are the GPL license for the kernel and Apache for the ROM. Every single version of Android, with the exception of Honeycomb 3.0, has been fully released. When a manufacturer makes a ROM for a phone, they are obligated to release those changes to the kernel and ROM source. For the most part, most manufacturers are pretty good about this. The only company I've seen that does a terrible job of this is Huawei.

    Now, where does the CyanogenMod (CM) project come into play in all of this. The CyanogenMod project started off as a small, modded ROM that only worked on a handful of phones. CM took the AOSP source code, the same code used to make any stock ROM, and added tweaks and fixes to it as he saw fit. As the team grew larger and more widespread, the CM project started turning into a customized Android distribution. CM and his team has added particular modifications to the AOSP source code to allow it to be customized and adjusted to run a wide spectrum of phones. The same CM source that can be ran on a lowly device like the Ascend can also run Nexus S. The reason why CM is considered an Android distribution is because a developer can add his/her device to the source, customize it for the phone and build.

    So, no. CyanogenMod was not hacked on the Ascend or any other phone for this matter. CM was not made specifically for one phone or device because AOSP is the same software that runs on all phones/devices.

    That's all I can think for now. If I made any mistakes, let me know. I don't want to spread misinformation.

    Oh, and just my 2 cents here, don't go around bashing any developers or their respective ROMs. I hate it when I see people talking crap about Cyanogenmod, his team, other developers, etc. The same people who talk crap are the same people running the ROMs free of no charge. Basically, in my book, it goes like this: Put up or shut up. The source is available. If you think you can do something better, by all means, go ahead and do so. If not...well, you know.

  2. Carlos1986

    Carlos1986 Well-Known Member

    I for one appreciate all your hard effort in this, I haft to say in no way is cm6 or cm7 crap. I am running the current build of cm7 and haft to say that its 100 times better than the crap the phone came with. Thank you for the insightful post isaac.:)
    isaacj87 and pip2kk like this.
  3. Swagg422

    Swagg422 Well-Known Member

    Well thank you for that awesome bit of info I've always wondered where all this started. Once again thank for taking the time to do this.
  4. isaacj87

    isaacj87 Well-Known Member

    Oh, I forgot to mention something important. The reason why the CyanogenMod project is so useful and relevant to people like us is because of their support for "legacy" devices. Not only does CM and company go through the trouble of grabbing the latest version of Android, they also backport deprecated code and fixes so that CM will run on lower end devices. I've never looked at pure AOSP 2.3 Gingerbread, but I'm going to assume that I wouldn't be able to port pure AOSP GB to the Ascend. At least not very easily.

    So, basically they're like, "Hey, I have a bleeding edge version of Android for you to use on your old as hell device. Enjoy."

    You just can't beat that. You hear that Huawei? You guys need to step your game up...
  5. lordt78

    lordt78 Well-Known Member

    I don't understand half of what you posted in your original post, Isaac. But I appreciate that you and other developers were able to create these cool ROMs to make the Ascend a lot more interesting. :D
    isaacj87 likes this.
  6. PlayfulGod

    PlayfulGod Well-Known Member Developer

    Great discussion bro, and I for one also really appreciate all your time and efforts, along with pip's and all the other dev's out that that make cool ROMs possible!.
  7. Dsanders77

    Dsanders77 Well-Known Member

    A little education goes a LONG way. I see a lot of people new to Android, new to the tech community, and lacking some degree of understanding of what they have in their hand. Most people see coding as more science than art, incorrect in my view, and have no understanding of the work involved in creating something like Icarus or Cyanogenmod. The problem is that the same group has no problem complaining or taking issue with a Dev when things don't work, or don't work to their expectations. I don't say this to be rude or mean, but to make a point. If things are unclear, educate yourself. There is a wealth of information in these forums, on Wiki, and around the internet in general. Use it. If you want to try ROM flashing, read the instructions. If it reads like hieroglyphics, STOP and learn about what you are doing BEFORE you attempt it. IF you do it and something goes wrong, be nice, don't blame the software, chances are it was something you did wrong, but you can fix it. Jazz said it best in her How to post for Icarus 1.1 (my first flashed ROM.)

    WARNING!!!!! The river is WIDE, the river is DEEP! The FAINTHEARTED may not make it! ~ Jazziette
    isaacj87 and pip2kk like this.
  8. isaacj87

    isaacj87 Well-Known Member

    I'm glad somebody mentioned this. The way I see it, there are 3 different types of people in this Android community:

    End-Users <--------------> Higher-level developers <----------------> Lower-level developers

    End-users: The people who consume the final products. This is the group that takes the ROMs and uses them on a daily basis.

    Higher-level devs: These are the people that port AOSP, CM, whatever to individual devices.

    Lower-level devs: These are the people that actually modify the code to be used on phones/devices. For example, the AOSP developers team or Cyanogenmod.

    I think most of the friction comes from the end-users and high-level devs. That's because end-users are in most communication with the high-level devs. The only person I've EVER talked to from the CM project was Koush. Even then, I didn't say much to him (it was only a couple emails back and forth).

    I don't think developers (either high or low) expect end-users to really fix anything or understand Android, but they do want end-users to educate themselves as much as possible. I think if you want to use custom ROMs, end-users need to understand 3 things:

    1) We're doing this for free. I don't work for anyone and I do this as hobby to entertain myself. My ROMs (or ports) are my party. If you don't like my party, you can go and join someone else's (use a different ROM).

    2) Use the community. Somewhere, even far out there, somebody has the same problem as you. Like DSanders said, read the wikis, guides, documentation, etc. out there. Get familiar with watching bug trackers and code reviews. You might actually see a fix to a problem that you have. If I know about it, I can merge the changes into my code and fix it.

    3) Devs aren't super-human. We're talking about millions of lines of code. There maybe some problems that we just can't fix. Hell, I know there are a lot of things I can't fix in CM7. However, I go talk to the low-level devs, look at their bug trackers, etc. and see if I can't find a fix to my problem. Also, there are some problems (MMS is good example) of things we don't care about fixing. If USB mounting is broken, do you really think I care about MMS?

    EDIT 2: I also want to mention that devs want end-users to enjoy certain luxuries they wouldn't normally have. I realize that my other points make devs (myself included) sound a bit jaded. That's the furthest from the truth. I remembering reading an article about Steve Kondik (Cyanogen) in which he said that people using his ROMs is the coolest thing in the world. It made him feel good to know that people really enjoyed using his work. I don't want to give developers the false reputation of being elitists.
    Dsanders77, Anduiril, Gmash and 3 others like this.
  9. newbytodroid

    newbytodroid Well-Known Member

    I have to say if it were not for the devs working for FREE none of us cheap ascend users would be very happy. It does personally irritate me when someone complains or bashes the rom. My wife is taking IT and learning coding and I gotta say it is a tremendous amount of work. So my hats off to all the devs who work FREE to give us these great roms!!!! If I werent so broke I would donate hundreds of dollars, just cause I have an idea how much time and effort you folks have put into this. I am very new to android and never once have I complained. There is a wealth of information on these forums. I dont understand alot of the techy stuff but im learning. TO SUM IT UP I WANT TO JUST SAY THANK YOU!!!!!! THANK YOU TO ALL DEVS ESPECIALLY ISAAC AND PIP FOR ALL YOUR HARD WORK!!!!!!!!

    And for those who complain dont download the rom!!!!!!!:D
    pip2kk and septembersrain like this.
  10. septembersrain

    septembersrain 句_句 Smurfing Awesome VIP Member

    You don't have to donate hundreds of dollars. Just a dollar is still more than nothing. Showing your appreciation can be in small or in big ways. Each time you thank them, Or you donate a small amount of money, You are showing this. Gratitude is always worth it, be it in a gynormous or minuscule package.

    I can completely understand how you feel though. I too, Always feel I could give more! :]
    newbytodroid likes this.
  11. newbytodroid

    newbytodroid Well-Known Member

    I know...Lol But I would still give hundreds if I could....Lol!:D

    And hey Thank you also... you have been very informative... I apprecaite that!!!!
  12. nuttmeg

    nuttmeg Well-Known Member

    And also a big thanks you would be accepted for all the countless hours and flashing that the devs and testers do for the new comers, that way we can provide support for any problem and try to get it working for you...
  13. newbytodroid

    newbytodroid Well-Known Member

    Big thanks to everyone involved in making our phones a more pleasurable experiance!!!!!!!:D:D:D:D:D
  14. oliviamck

    oliviamck New Member

    Hi, i would like to know something that i would like to have clear, if a company is developing some kind of equipment, and the equipment will run Android built from AOSP, does the company have to pay some kind of license or something like that if the equipment is going to be launched to the market???
  15. PlayfulGod

    PlayfulGod Well-Known Member Developer

    Android is open source, so basically anyone can use as long as they obied by the GPL. Its if they include google apps they have to pay a license fee to google for. ;)

    If you mean you publish app to the Play Store, you have to pay a $25 fee to be able to access the dev section to upload your apps.
  16. oliviamck

    oliviamck New Member

    Thank you very much for the reply, i actually mean a new device that the company will launch to the market and it will run the Android OS built from AOSP sources, that's my main concern. and about the apps, where do i go to pay it or how is the procedure?, thanks in advanced.

Share This Page