Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The goal of this page is to document how other open source project are developed to avoid reinventing the wheel. This may also give us valuable insights how we could improve our release process.


The Linux Kernel

Development

The Linux kernel is released every 2-3 months. For all considerations it's worth to notice that Linux kernel is developed in a single git repository.

All changes are reviewed in a public mailing list. When a patch is ready for submission it is merged by a subsystem (sth close to "subproject") maintainer to his -next git tree.

Every release starts with a 2-weeks merge window. During this time subsystem maintainers issue pull request to Linus (or higher level maintainer) asking him to pull changes from his git tree to main one.

When this time passes Linus releases rc1 release and we enter bugfix stage. This means that there are two streams of patches submitted:

  • Bug Fixes which are intended to enter next rc release
  • Main development patches which are merged to -next tree for a next main release

After 6-9 weeks of bug fixing a new version of The Linux kernel is released and the whole process starts over.

It's worth to notice that there is no:

  • Defined milestones.
  • Formal release planning (feature has to be ready to enter the tree)

Maintenance

After a particular version of The Linux Kernel is released it's considered "stable". This means that community maintains it and backport all bug fixes that are being merged into next release also to this version until new release is available.

Usually one of releases in particular year is chosen to be a Long Term Support release (LTS) which means that community will maintain it way longer than till next release (3-6 years). This version is typically used as a base for commercial products or Linux Distributions.

  • No labels