RFD: Kernel release number

ต้นเดือนที่ผ่านมา Linus เสนอให้มีการเปลี่ยนรูปแบบของเลขรีลีสของเคอร์เนลใหม่ เพราะ cycle การรีลีสเดิม e.g. 2.4.x. -> 2.5.x ช้า ทำให้ต้องมีการ backport / forwardport กันบ่อยๆ อีกทั้ง users ไม่ค่อยจะทดสอบ pre/rc ทำให้ไม่เจอบั๊กที่ควรจะแก้ก่อนรีลีส ก็เลยจะเปลี่ยนรูปแบบใหม่โดยเลขรีลีสสามตัวจะมีความหมายทุกตัว

from Linus's email :

- 2.6.<even>: even at all levels, aim for having had minimally intrusive
  patches leading up to it (timeframe: a week or two)

with the odd numbers going like:

- 2.6.<odd>: still a stable kernel, but accept bigger changes leading up
  to it (timeframe: a month or two).
- 2.<odd>.x: aim for big changes that may destabilize the kernel for
  several releases (timeframe: a year or two)
- <odd>.x.x: Linus went crazy, broke absolutely _everything_, and rewrote
  the kernel to be a microkernel using a special message-passing version
  of Visual Basic. (timeframe: "we expect that he will be released from
  the mental institution in a decade or two").

แปลว่ามันจะกลายเป็นแบบนี้ (bugfixes + features) -> เลขคี่ -> bugfixes -> เลขคู่ -> .. maintainer หลายคนก็ดูจะเห็นด้วยกับข้อเสนอนี้ .. แต่ปัญหาที่อาจจะเกิดตามมาก็คือ users จะเลือกใช้เฉพาะเคอร์เนลเลขคู่ทำให้เคอร์เนลไม่ได้รับการทดสอบ/ใช้งานมากอย่างที่ควรจะเป็น .. มีคนเสนอให้ใช้ 2.6.x.y เหมือนตอน 2.6.8 -> 2.6.8.1 คือจะใช้ .y เมื่อต้องการรีลีส bugfixes/security fixes ก่อนจะ x += 1 ซึ่งคาดกันว่าจะช่วยให้ cycle สั้นลง เคอร์เนลจะได้รับการทดสอบมากขึ้น และ users ก็จะได้เอาไปใช้กันเร็วขึ้นตามไปด้วย .. หลังจากคุยกันยาว ก็ตกลงว่าจะใช้ scheme 2.6.x.y กัน โดย Greg K. H. กับ Chris Wright อาสา maintain 2.6.x.y tree (a.k.a, sucker tree) .. ต่อจากนี้ คาดว่า bugfixes / security fixes จะเข้าทาง 2.6.x.y tree .. Linux จะ pull ไปรวมกับ bk tree เอง ซึ่งจะไปโผล่ใน stable ถัดไป (x +=1) .. หรืออีกทางนึงคือ Greg กับ Chris ส่ง patch ผ่านทาง Andrew Morton ซึ่งช่วย Linus maintain ‘testing’ tree (-mm) ของ 2.6 ซึ่งท้ายที่สุดก็จะไปรวมกับ bk เหมือนกัน

ณ. วันนี้ 2.6 stable = 2.6.11.3 แล้ว :)