Home > Community > Actions > Development_model

Community

Cooker: a collaborative development model

A collaborative development model

Mandriva's products are developed using a collaborative development model. So, what does this mean to us "regular" Linux users? Each new version of the Mandriva Linux distribution is developed (assembled, created, produced) by a team of Mandriva developers (programmers, packagers, etc.) and by many people in the Linux community who enjoy participating and being involved. This process results in an operating system with an extremely high level of quality that is difficult (if not impossible) to match using any other method.

Mandriva takes the Open Source philosophy and extends it even further with "Cooker". The Cooker is a constantly evolving Mandriva Linux distribution which is regularly updated with the best software from the Linux world and with Mandriva's own developments. Cooker is widely available to the public and numerous contributors make recommendations and provide new ideas & packages. The Mandriva Linux distribution as we know it is actually a "freeze" of Cooker at a given point in time which is then followed by a thorough debugging period. As a result of Cooker, Mandriva Linux truly is guided by the users' needs since the community greatly influences its development.

What follows is a brief overview of how the development process works at Mandriva.

Mixing

The first stage of a new development cycle is when everyone has the greatest opportunity to get involved. At this early stage, new ideas are discussed such as possible enhancements to existing applications, de-bugging ideas, and new software packages are considered.

The image of "cooking" is well suited to this phase. Imagine that many great "cooks" from around the world have begun to put together the most wonderful meal you'll (hopefully) ever eat. All gathered around this same cooking pot, they mix together the various ingredients to satisfy what your body needs, while being careful to obtain a quite delicious and edible result.

The progression of the project consists of cycles whereby packages are added to the existing base of software, followed by testing and correcting of any discovered bugs and/or conflicts. Each newly introduced package sometimes requires adaptation or modification of the existing software. For example, the introduction of a new Linux "kernel" (which is the heart of the operating system) very often leads to changes in the way other software works so everything must be thoroughly tested.

Participants are encouraged to download and install Cooker onto their own machines and report the results. Developers and contributors read these reports and submit possible solutions for correcting the problems; if an application needs correcting, a contributor can modify the offending application and submit if for inclusion; if a contributor would like to see a particular application added to the distribution, he (or she) can package it themselves and upload their contribution to a dedicated server. Mandriva developers examine the submissions and determine the usability of all contributed fixes and applications before deciding whether or not to include it in Cooker.

Freezing

After a period of heavy development comes a period called "feature freeze" during which nothing but bug fixes are added to Cooker. The development team not only checks that the identified bugs have been fixed, but also track and test a variety of assorted problems that always arise. The goal of this phase is stability -- Cooker should be stable enough so that it can be temporarily frozen and made available as a "beta" version for widespread testing. Usually an ISO image is released so that anyone may download it and burn to CD for easy installation on their systems. Beta releases allow us to receive feedback from users and the larger GNU/Linux community. There can sometimes be three or four beta versions in a completed cycle.

A "release candidate" is a version of the distribution that has been thoroughly tested and de-bugged. If it is good enough to be the final version, it is dubbed "Gold" and released to the world.

Cooker never sleeps. Even the day after a new Mandriva Linux version is released to the public and sent for packaging, the development cycle continues for future versions. Whichever day of the week it may be, you can be certain that Cooker participants are hard at work to ensure that you'll always have the most up-to-date and reliable Linux operating system available.

We hope you take this brief introduction to Cooker and Open Source development as our invitation for you to join the process and get involved. You don't need to be a programmer or kernel hacker to help -- beta testers are a crucial part of the process and are always needed to test the numerous system configurations. Please see this page for details on how to subscribe to the Cooker mailing list.