CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.4.4 (KitKat), which is designed to increase performance and reliability over stock Android for your device.
CyanogenMod is based on the Android Open Source Project (AOSP) with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
ROM and Gapps:
things needed after installing ROM (optional but recommended) :
1.Enable Developer settings
2.Go to Settings>Performance>CPU governor and set CPU governor to smartassv2 and set on boot
3.Back to Performance menu, goto I/O scheduler and set I/O scheduler to NOOP and set on boot.
4.Back to Performance menu, goto Memory Management and enable Kernel Sampage Merging and SD swap.
psyke83, Alberto96, BroadcomCM team and bieltv3 for Building the original ROM Adithya R for reposting the original ROM (Find it at page 448) and thedeadfish59 for kernel.