The kernel sources (in the main readme file) describe the development community as a ''loosely-knit team of hackers across the Net,'' and although both the number of people involved in kernel development and their professional affiliations have changed from the beginning until now, this statement has always been true. Openness is a direct outcome of this: Most communication among developers takes place on mailing lists and can be read by anyone who is interested in how an operating system evolves. One particularly important point is that developers from many companies that fiercely compete against each other in many aspects (the companies, not the developers ... ) closely cooperate in kernel development. Non-technical people, in particular, can often just stand by in amazement. And actually, this is quite a remarkable feat!
Not too much needs to be said about the essential principles of Linux kernel development nowadays. Although creating an open source operating system that could actually be used for something appeared to be a crazy idea only 15 years ago, at least most technical people got quite used to it. One essential difference between Linux kernel development in contrast to classical development models is that there are no fixed formal rules of how things have to work. There are established practices, but they are seldom formalized in documents. There is no development road map, and no single centralized repository. There are, however, important repositories and important developers. This can be an advantage in many cases, because development gets more dynamic and flexible than with fixed rigid structures, but it also makes things harder if you are new to the area.
Many of the topics discussed in this appendix are also addressed in the kernel source itself. A number of files in Documentation/ relate to the style and mechanics of the development process. Coverage there is quite comprehensive, so this appendix is just an overview of the essential ideas.
Continue reading here: F2 Kernel Trees and the Structure of Development
Was this article helpful?