The Reference Design Kit (RDK) stack is broadly categorized into - 

Community is responsible for releasing the Generic RDK code which is mainly making use of Open source software for their adaptability and ease of improvement. OEM’s generally provide software’s such as bootloader, secure storage management etc. The Linux kernel and associated drivers are contributed by SoC vendors. RDK components are designed in such a way that any platform change or modifications in other component will not affect the total system as a whole and would not require much effort to integrate. 

Over the years the generic RDK layer is growing which indicates more added features and more open-sourced components.

In RDK-V, we deal with different components which are categorized as below -

In Yocto build system, most of the opensource components used, comes from openembedded-core and meta-openembedded layers. Whereas Generic and CPC components are maintained in Git repo.

SourceCode for opensource components are downloaded from their respective opensource repository during build time. But for generic and cpc components, we have 2 options. Like opensource components, they can be downloaded from the Git repo during build time. Or we can reuse the already downloaded code (which was downloaded during repo sync).

Useful Link