OpenBSD เข้าสู่สถานะ ‘เรือของเธเซอุส’
(marc.info)- ใน
srcCVS ของ OpenBSD ไฟล์ต้นฉบับดั้งเดิมที่ ยังไม่เคยถูกแก้ไขไฟล์สุดท้าย ซึ่งคงอยู่มาตั้งแต่การ import ครั้งแรกเมื่อวันที่ 18 ตุลาคม 1995 ได้ถูกเปลี่ยนแปลง ทำให้ร่องรอยสุดท้ายของโค้ดเดิมถูกแทนที่ทั้งหมด - เป้าหมายของการเปลี่ยนแปลงคือ
games/quizโดยมีการแก้ไขMakefileและdatfiles/indexพร้อมกับเพิ่มdatfiles/shipและลบdatfiles/greek - greek quiz เดิมถูกลบออกด้วยเหตุผลว่ามันยากเกินไปจนไม่มีใครเล่นได้ และถูกแทนที่ด้วยควิซใหม่เกี่ยวกับชิ้นส่วนของเรือแกลลีย์
- ในที่นี้ ไฟล์ต้นฉบับดั้งเดิมที่ยังไม่เคยถูกแก้ไขไฟล์สุดท้าย หมายถึงไฟล์ revision 1.1.1.1 จากการ import ครั้งแรกที่สร้าง OpenBSD
- เท่ากับว่าองค์ประกอบทั้งหมดของ OpenBSD ดั้งเดิมถูกเปลี่ยนไปแล้ว และข้อความคอมมิตได้บันทึกช่วงเวลานี้ว่าเป็นการไปถึง OpenBSD of Theseus
ไฟล์ที่เปลี่ยนใน games/quiz
- การเปลี่ยนแปลงใน CVS ครั้งนี้ถูกนำไปใช้กับส่วน
games/quizของโมดูลsrc- แก้ไข:
games/quiz/Makefile - แก้ไข:
games/quiz/datfiles/index - เพิ่ม:
games/quiz/datfiles/ship - ลบ:
games/quiz/datfiles/greek
- แก้ไข:
- greek quiz เดิมถูกถอดออก เพราะยากเกินไปจนไม่มีใครเล่นได้
- ควิซใหม่ที่เพิ่มเข้ามาเป็นเรื่อง galley หรือชิ้นส่วนเรือของเรือแกลลีย์
OpenBSD of Theseus
- การเปลี่ยนแปลงครั้งนี้ได้แก้ไข ไฟล์ต้นฉบับดั้งเดิมที่ยังไม่เคยถูกแก้ไขไฟล์สุดท้าย ที่เหลืออยู่จากการ import ครั้งแรกซึ่งสร้าง OpenBSD เมื่อวันที่ 18 ตุลาคม 1995
- ไฟล์ต้นฉบับดั้งเดิมที่ยังไม่เคยถูกแก้ไขไฟล์สุดท้าย หมายถึงไฟล์ revision 1.1.1.1 จากการ import ดั้งเดิม
- ด้วยคอมมิตนี้ สถานะก็กลายเป็นว่าถึงขั้นที่แม้แต่ส่วนสุดท้ายของ OpenBSD ดั้งเดิมก็ถูกแทนที่แล้ว
- แนวคิดและการสนับสนุนมาจาก
mglockerส่วนความช่วยเหลือด้านคำศัพท์ทางเรือมาจากjmc
2 ความคิดเห็น
ความคิดเห็นบน Hacker News
รายละเอียดการเปลี่ยนแปลงอยู่ที่ https://github.com/openbsd/src/commit/a6105854a9e3aab642e6a0...
รู้ว่า OpenBSD ไม่ได้ใช้ GitHub จริง ๆ แต่เป็นวิธีที่ง่ายที่สุดในการดู diff ไม่รู้เหมือนกันว่าจะดึงข้อมูลนี้จากโพสต์ใน mailing list ได้อย่างไร
https://cvsweb.openbsd.org/
ทำไมไม่แค่เพิ่มคำถามเรื่องชิ้นส่วนเรือ แต่กลับลบ คำถามภาษากรีก ออกไปด้วย? เข้าใจเหตุผลว่ามัน obscure เกินไป แต่ในฐานะนักคลาสสิกแล้วเศร้า
ยังมีคำถามภาษาละตินอยู่ และแม้แต่คำถามเกี่ยวกับอินคาก็ยังมี ไม่เข้าใจว่าทำไมอันนั้นผ่านเกณฑ์ แต่ภาษากรีกกลับไม่ผ่าน
$luw$:{I} [loose|destroy]
$eluon$:{I} [loosed|destroyed|was loosing|was destroying]
$elusa$:{I} [loosed|destroyed]
$leluka$:{I} have [loosed|destroyed]
$lusw$:{I} will [loose|destroy]
$luswn$:[loosing|destroying]
$lusas$:{having} [loosed|destroyed]
ถ้าผมเข้าใจความหมายของ “คอมมิตนี้ทำภารกิจสนุก ๆ ในการแทนที่ส่วนสุดท้ายของ OpenBSD ดั้งเดิมสำเร็จแล้ว” ถูกต้อง แปลว่าเพราะ OpenBSD แตกสายมาจาก NetBSD ตอนนี้ใน OpenBSD เลยไม่มี โค้ด NetBSD ดั้งเดิม เหลืออยู่แม้แต่บรรทัดเดียวใช่ไหม?
ไฟล์นี้เป็นไฟล์สุดท้ายที่ตั้งแต่นั้นมาไม่มีโค้ดแม้แต่บรรทัดเดียวถูกแก้ไขเลย ดูเหมือนว่าบรรทัดคอมเมนต์เริ่มต้นของ OpenBSD ที่เพิ่มโดยอัตโนมัติจะถูกไม่นับรวมในนิยามนั้น มันเป็น makefile สั้นมากที่แทบไม่มีเนื้อหา เลยอาจอยู่ได้นานเพราะแม้โค้ดที่เกี่ยวข้องจะเปลี่ยน ก็แทบไม่มีอะไรให้ต้องแก้ในไฟล์นี้
การเปลี่ยนแปลงนี้บ่งชี้ว่า ไฟล์ ทุกไฟล์ถูกเปลี่ยนแล้ว ไม่ได้หมายความว่าทุกบรรทัดหรือทุกตัวอักษรถูกเปลี่ยนไปแล้ว ไดเรกทอรีทั้งหมดถูกเปลี่ยนไปก่อนหน้านี้แล้ว
การมาถึงจุดนี้ด้วยการเปลี่ยนคำถามภาษากรีกเป็น คำถามเรื่องเรือ เป็นการปิดงานที่มีเซนส์ดี
คำถามนี้คืออะไร? ขอ context หน่อยได้ไหม?
https://man.openbsd.org/quiz
https://github.com/openbsd/src/tree/a6105854a9e3aab642e6a0fc...
ใน datfiles/index มีรายการหมวดหมู่ และถ้าตีความนิดหน่อยก็พอจะรู้ว่ามันถามอะไร เช่น "chinese" ถามเรื่องนักษัตรจีนกับปีนักษัตรปัจจุบัน/ถัดไป ส่วน "pres" ถามเรื่องประธานาธิบดี วาระ รองประธานาธิบดี และผู้สืบตำแหน่ง เป็นต้น
ถ้าดึงคอมมิตทั้งหมดจนถึงจุดนั้นมา แล้ว rebuild OpenBSD จากวัตถุดิบดั้งเดิมเหล่านั้น นั่นแหละคือ OpenBSD ของเธซีอุส ตัวจริง
ชอบที่ยังมี คอลเลกชันเกม ขนาดใหญ่ที่ยังดูแลอยู่เสมอ ผมชอบ OpenBSD เพราะเรื่องความปลอดภัยอยู่แล้ว แต่ก็ต้องยอมรับด้วยว่าทีมยังรักษาความสนุกไว้ และสร้างงานศิลป์กับเพลงออกมาทุกครั้งที่ release ทุก 6 เดือน
ไม่เคยใช้ mailing list มาก่อน เลยคิดว่าจะมีลิงก์ไปยังไฟล์ที่ได้รับผลกระทบ
ยินดีกับ OpenBSD ด้วย
https://github.com/openbsd/src/commit/a6105854a9e3aab642e6a0...
หรือที่เรียกว่า “แต่นี่ไม่ใช่ OpenBSD อายุ 900 ปีของตระกูลเรา หรอกหรือ?”
Theseus = เทซีอุส
OpenBSD ของ Theseus = OpenBSD กลายเป็นเรือของเทซีอุส