The learning curve to becoming a Linux kernel developer is pretty steep and choosing the right direction might be somewhat difficult (but not as hard as you think - see my previous article.) However, I have some ideas on how to start this beautiful journey. I hope that these guidelines will be useful for someone.
Modular application development, in which a set of loosely coupled modules can be integrated into one large application, has been one of the most successful software development practices. The term “loosely coupled” highlights the fact that the modules are both independent and can communicate with one another. OSGI (the Open Services Gateway Initiative), a dynamic module system for Java, defines one such architecture for modular application development. The SDN controller OpenDaylight (ODL), which we will be discussing in this article, is one such controller (apart from Beacon/Floodlight) that is based on the OSGi architecture. ODL is an open-source collaborative project that focuses on building a multi-vendor, multi-project ecosystem to encourage innovation and an open/transparent approach toward SDN. We need to look at these terms, “open,” “multi-vendor,” “multi-project,” “innovation,” etc., in detail to really appreciate the strengths of ODL.
My personal experiences with Linux in the workplace actually started shortly after I adopted Linux on my home PC (well I was am still am dual booting Windows). I was at a startup who had installed Ubuntu on all the desktops, other than a few, and had no idea what they were doing. Luckily the IT guy and myself both were familiar enough with it to work through some of the early problems (mostly on the fly problem solving). Once we got past the growing pains that all start ups go though, we were in the clear. It saved the company a lot of money and, even though the new people we eventually hired did grumble about having to learn a new OS, it eventually worked out for the best.
Not long ago, the Linux Mint team has decided to change their release policy and adopt only the LTS versions of Ubuntu, the systems released between to LTSs being only point releases that update the main components. Also, they have moved Linux Mint Debian Edition’s (LMDE) code base from Debian Testing to Debian Stable.