Alan Cox reviews the development process of the Linux Kernel
In an interview performed by News.com Alan Cox has given some interesting answers about the process used to develop the linux kernel and how it has changed since its origins. Here are the most interesting points I've found:
- Years ago most developers contributed on their free time while now the big majority of developers are hired by some company, then there is a minority of students and finally some casual contributors. One of the consequences of this change is that now patches are mostly sent Monday to Friday rather than weekends. I had never thought about this, although now it seems obvious: it is possible to study when changes are made to a project to determine if it is being driven by people working for the project within companies or by free-time volunteers.
- Everybody can contribute to the project but there is a lot of control and review. The interviewer compares this to Debian which has a previous process to become a contributor. I wonder what are the characteristics in Debian which have made them choose that model. Is it the right decision? Alan Cox states that by not having a formal process they allow for casual contributions. Doesn't Debian need those? Do they have another way to allow them?
- It has been created a kernel newbies project in which new contributors learn how things should be done. This may indicate awareness from the core developers that there is a steep learning curve for beginners. Another fact that makes this project useful is that quality standards are very important for the kernel and patches sent which do not meet them will not be accepted so it is important that newcomers learn those standards.
- It has also been created a kernel janitors project where people work on small things, such as clean-ups and reviewing code. This seems to me as an interesting idea to make sure that some boring but simple tasks get done. By listing and highlighting them through this project you get two benefits: core developers acquire a commitment to have them done but at the same time by delimiting some small, not too difficult, tasks it is easier for newcomers to help with them.
- A final important fact that may be used to evaluate the process used is that Alan sees the kernel as a mature product in terms of functionality so the focus is currently in improving its performance and quality.