10 คะแนน โดย GN⁺ 2025-10-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Ken Thompson วัย 82 ปี ย้อนความหลังถึง จุดกำเนิดในยุคแรกของระบบปฏิบัติการ Unix และวัฒนธรรมการทดลองอย่างเสรีที่ Bell Labs
  • เขาอธิบายว่า หลังความล้มเหลวของโครงการ Multics เขาใช้คอมพิวเตอร์ที่เหลืออยู่เพื่อ สร้างโครงสร้างหลักของ Unix ขึ้นมาโดยบังเอิญ ได้อย่างไร
  • ทีมพัฒนา Unix จัดหา PDP-11 มาได้และพัฒนาระบบปฏิบัติการต่อแบบไม่เป็นทางการ พร้อมก่อร่างเป็น “Unix Room” ที่เต็มไปด้วยอารมณ์ขันและมิตรภาพระหว่างเพื่อนร่วมงาน
  • สภาพแวดล้อมที่เปิดกว้างของ Bell Labs กลายเป็นรากฐานของ การเติบโตของภาษา C และ Unix รวมถึง วัฒนธรรมการทำงานร่วมกันที่นำไปสู่การพัฒนา Go ในเวลาต่อมา
  • Thompson เน้นว่า Unix คือ การทดลองเชิงชุมชนที่ปฏิบัติความเปิดกว้างมาตั้งแต่ก่อนยุคโอเพนซอร์ส และมองว่าจิตวิญญาณนั้นยังคงอยู่ในวัฒนธรรมเทคโนโลยีสมัยใหม่

การกำเนิดของ Unix และวัฒนธรรมการทดลองที่ Bell Labs

  • Ken Thompson เล่าว่าเขาเคยเข้าร่วม โครงการ Multics ที่ Bell Labs ในช่วงกลางทศวรรษ 1960 แต่จดจำระบบนั้นได้ว่าเป็น “โครงการที่ใหญ่ ช้า แพง และถูกกำหนดให้ล้มเหลว”
    • หลัง Multics ยุติลง เขาใช้คอมพิวเตอร์ขนาดใหญ่ที่เหลืออยู่สานต่อการทดลองของตัวเอง และพยายามปรับปรุง อุปกรณ์จัดเก็บข้อมูล CRAM และหน่วยความจำแบบดรัม
    • ระหว่างการทดลองเพื่อเพิ่มความเร็วในการอ่านหน่วยความจำ เขากลับสร้าง ระบบที่มีรูปร่างเป็นระบบปฏิบัติการ ขึ้นมาโดยไม่รู้ตัว
  • เขาระบุว่า แม้ Bell Labs จะสั่งให้ “หยุดทำวิจัยระบบปฏิบัติการ” เขาก็ยัง วางรากฐานของ Unix ต่อไปอย่างไม่เป็นทางการ
    • Unix รุ่นแรกจึงถือกำเนิดขึ้นพร้อมองค์ประกอบสำคัญอย่างระบบไฟล์ ไดรเวอร์ดิสก์ และอุปกรณ์ I/O

ชุมชน Unix ยุคแรกและการมาถึงของ PDP-11

  • ผู้ใช้กลุ่มแรกของ Unix ได้แก่ Dennis Ritchie, Doug McIlroy, Robert Morris, Brian Kernighan และคนอื่น ๆ โดยมีขนาดเล็กถึงขั้นที่ user ID ยังเป็นเลขหลักเดียว
    • Thompson ออกแบบ ระบบไฟล์ ร่วมกับ Rudd Canaday บนกระดานดำ และใช้ระบบบันทึกเสียงโทรศัพท์ของ Bell Labs ในการจัดทำเอกสาร
  • Joe Ossanna เลี่ยงขั้นตอนราชการอันยุ่งยากของ Bell Labs เพื่อจัดหาเครื่อง PDP-11 มาได้ ซึ่งกลายเป็นจุดเปลี่ยนของการพัฒนา Unix
    • PDP-11 ที่ซื้อมาในนาม “เพื่อใช้กับงานประมวลผลคำ” แท้จริงแล้วกลับถูกใช้เป็นอุปกรณ์หลักในการพัฒนา Unix
    • เมื่อเลขานุการในแผนกสิทธิบัตรเริ่มใช้ระบบ Unix ในการจัดทำเอกสาร ก็เกิด ฐานผู้ใช้งานภายนอกกลุ่มแรก ขึ้น

“Unix Room” และชุมชนเสรี

  • PDP-11 ถูกติดตั้งในพื้นที่แห่งหนึ่งบนชั้น 6 ของ Bell Labs และไม่นานก็กลายเป็นศูนย์กลางของนักพัฒนาที่ถูกเรียกว่า ‘Unix Room’
    • หลังเคลียร์พื้นที่ที่มีตู้ขายของเก่าและห้องเก็บของออก แล้วนำ PDP-11 เครื่องที่สองมาติดตั้ง ที่นี่ก็กลายเป็น ศูนย์กลางการพูดคุยเรื่องเครือข่ายและการจัดพิมพ์เอกสาร
    • มันยังทำหน้าที่เป็น ฮับวิจัยนอกระบบอย่างไม่เป็นทางการ พร้อมระบบ PBX ของตัวเองที่ต่อสายโทรศัพท์ไว้ครบ
  • Thompson ย้อนถึง “ช่วงเวลาที่พวกเขางัดกุญแจและเล่นแผลง ๆ ใน Unix Room”
    • เขาเล่าถึงบรรยากาศการทดลองที่เต็มไปด้วย ทั้งอารมณ์ขันและความขบถ เช่น การขโมยที่ล็อกล้อจากรถที่จอดผิดกฎแล้วนำไปซ่อน
    • ยังมีเกร็ดที่หัวหน้าฝ่ายความปลอดภัยเสนอว่า “ถ้าคืนที่ล็อกล้อมา ก็จะไม่ไปรบกวนพวกเลขานุการ” ก่อนเรื่องจะ จบลงด้วยการเจรจา
  • Dennis Ritchie อธิบาย Unix ว่าเป็น “ระบบที่ทำให้เกิดชุมชนได้” และ ‘Unix Lunch’ ที่จัดเป็นประจำก็กลายเป็นพื้นที่แลกเปลี่ยนความคิด

ความเปิดกว้างของ Bell Labs และการเติบโตของ Unix

  • Thompson มองว่า สภาพแวดล้อมการวิจัยที่ไร้แรงกดดันและมีอิสระสูง คือสิ่งที่พา Unix และภาษา C ไปสู่ความสำเร็จ
    • Bell Labs เป็นสถานที่ที่ “ลองทำอะไรก็ได้” และผู้คนจากหลากหลายสาขาก็เข้ามาร่วมมือกัน
  • นักภาษาศาสตร์ Lee McMahon มีส่วนช่วยพัฒนา Unix ด้วยการนำเข้า พจนานุกรมแบบเครื่องอ่านได้และฉบับอิเล็กทรอนิกส์ของ Federalist Papers
    • เมื่อข้อความไม่สามารถใส่เข้าไปในตัวแก้ไข ed ได้ Thompson จึงพัฒนา เครื่องมือค้นหาแพตเทิร์น grep ขึ้นมา
  • Unix ค่อย ๆ แพร่กระจายภายใน Bell Labs ไปสู่ทั้งงานธุรการและระบบสลับสายโทรศัพท์ จนกลายเป็น โครงสร้างพื้นฐานหลักของทั้งองค์กร

ปรัชญาความเปิดกว้างก่อนยุคโอเพนซอร์ส

  • Thompson กล่าวว่า แม้ Richard Stallman จะเป็นผู้ต่อยอดปรัชญาโอเพนซอร์ส แต่ Unix ก็มีจิตวิญญาณแบบนั้นอยู่แล้ว
    • ในเวลานั้น Unix มีฟังก์ชันป้องกันไฟล์ก็จริง แต่ในทางปฏิบัติ ซอร์สโค้ดทั้งหมดถูกเปิดให้ทุกคนแก้ไขได้
    • ภายใต้กฎที่ไม่ได้เขียนไว้ว่า “ถ้าคุณแตะมัน มันก็เป็นของคุณ” จึงเกิด วัฒนธรรมการพัฒนาที่การสร้างร่วมและการทดลองเป็นเรื่องปกติในชีวิตประจำวัน
  • เรื่องที่ทุกคนเข้าไปอ่านและคอมเมนต์ต้นฉบับนิยายที่เก็บอยู่ในไดเรกทอรีของเพื่อนร่วมงาน P. J. Plauger ถูกยกมาเป็น เกร็ดสัญลักษณ์ของความร่วมมือและความเปิดกว้าง
    • วัฒนธรรมเช่นนี้เองที่ก่อให้เกิด รูปแบบการพัฒนาร่วมกันแบบ ‘เขียนบนกระดานดำด้วยกัน’
  • ต่อมา แนวคิดบางส่วนจากโครงการ Plan 9 ของ Bell Labs ก็พัฒนาไปเป็น มาตรฐาน UTF-8 ซึ่งกลายเป็นรากฐานของเว็บสมัยใหม่

เส้นทางหลัง Bell Labs และภาษา Go

  • Thompson กล่าวถึง การเปลี่ยนแปลงของวัฒนธรรมองค์กร ตอนที่เขาออกจาก Bell Labs หลังการแตกสลายของระบบ Bell ในปี 2000
    • เขามองว่ามันกลายเป็นบรรยากาศที่ “ต้องคอยอธิบายเหตุผลว่ากำลังทำอะไรอยู่” จนเสรีภาพในการวิจัยหายไป
  • หลังจากนั้น เขาไปทำงานที่บริษัทอุปกรณ์เครือข่าย Entrisphere อยู่ 6 ปี ก่อนจะ ย้ายไป Google
    • ตอนนั้นหัวหน้าของเขาที่ Entrisphere ย้ายไป Google ก่อนและชักชวน Thompson ตามไป ขณะที่ Eric Schmidt ก็เป็นเพื่อนร่วมงานเก่าจากสมัย Bell Labs
  • ที่ Google เขาเข้าร่วม การตรวจสอบความปลอดภัยของ Android ก่อนจะร่วมกับ Rob Pike ตั้งทีมพัฒนาภาษา Go
    • เรื่องนี้ถูกมองว่าเป็นตัวอย่างที่ความสัมพันธ์ในการทำงานร่วมกันจากยุค Bell Labs นำไปสู่ การสร้างภาษาการเขียนโปรแกรมใหม่ในอีก 30 ปีต่อมา

บทสรุป: มรดกทางเทคโนโลยีที่เกิดจากความอยากรู้อยากเห็นและชุมชน

  • ความทรงจำของ Ken Thompson แสดงให้เห็นว่า Unix ไม่ได้เป็นเพียงเทคโนโลยี แต่คือ ผลผลิตของการสำรวจอย่างเสรีและจิตวิญญาณของชุมชน
  • สภาพแวดล้อมที่เปิดกว้างของ Bell Labs ทำหน้าที่เป็น ต้นแบบของวัฒนธรรมโอเพนซอร์สสมัยใหม่
  • ประสบการณ์ของเขายังคงเป็นตัวอย่างที่เตือนว่า ความคิดสร้างสรรค์และการทำงานร่วมกันคือแรงขับหลักของนวัตกรรมทางเทคโนโลยี

1 ความคิดเห็น

 
GN⁺ 2025-10-28
ความคิดเห็นจาก Hacker News
  • หลายโปรเจกต์ซอฟต์แวร์ที่ประสบความสำเร็จต่างมีจิตวิญญาณร่วมกันคือ การทำงานร่วมกันอย่างสร้างสรรค์และความไว้วางใจในระดับสูง ซึ่งน่าประทับใจมาก
    วัฒนธรรมแบบนี้เดินคนละทางกับแนวคิดแบบ MBA หรือสภาพแวดล้อมราชการแบบองค์กรใหญ่โดยสิ้นเชิง
    ทำให้นึกถึงตัวอย่างอย่าง Unix, GNU, Linux, Python ยุคแรก ๆ และ Rockstar Games ในยุคแรก

    • ในสังคม โปรเจกต์ หรือบริษัทที่มี “ความไว้วางใจสูง” ปัญหาหลายอย่างจะหายไปเองตามธรรมชาติ
    • จากประสบการณ์ที่เคยทำงานในบริษัทใหญ่มานานแล้วค่อยย้ายไปบริษัทเล็ก ถ้าไม่มี สภาพแวดล้อมที่ตั้งอยู่บนความไว้วางใจ ก็แทบเป็นไปไม่ได้เลยที่จะทำอะไรให้สำเร็จจริง ๆ
      ระบบราชการจะค่อย ๆ กัดกินทุกอย่าง ผู้จัดการก็สร้างกำแพงและบั่นทอนความไว้วางใจด้วยความลับและการปกปิด
      คนใหม่ก็เข้าใจระบบได้ยาก ส่วนไอเดียใหม่ ๆ ก็ตายตั้งแต่ยังไม่เริ่ม
      องค์กรใหญ่อาจยังหาเงินได้ แต่ถ้าอยาก สร้างความเปลี่ยนแปลง ความไว้วางใจเป็นสิ่งจำเป็น
    • Ma Bell ในยุคผูกขาด Bell Telephone ก็เป็นองค์กรใหญ่มหาศาลเช่นกัน แต่ตอนนั้นมีเงินล้นพอจะสนับสนุน โครงการวิจัยเชิงเก็งกำไร ได้
      บรรยากาศคล้ายกับ VC ยุคนี้ที่ทุ่มเงินกันเต็มที่
    • อยากเพิ่ม DEC ของ Ken Olsen และ Sun Microsystems เข้าไปในรายชื่อนี้ด้วย
    • แปลกใจที่ Rockstar Games อยู่ในลิสต์นี้ เลยอยากรู้เหตุผลเหมือนกัน
  • น่าสนใจที่ผู้ใช้ Unix รุ่นแรก ๆ กลับเป็นเลขาสิทธิบัตรหรือพนักงานธุรการ
    เพราะเป็นระบบที่คนเริ่มใช้กันเองด้วยความชอบ จึงเกิด แรงกดดันจากการใช้งานจริง และมันส่งผลในทางที่ดี
    ต่อให้ลองไอเดียเชิงทดลอง ก็ไม่สามารถทำให้ระบบที่ผู้ใช้จริงต้องใช้ทุกวันพังได้
    เหมือนกับที่ Linux เริ่มต้นจาก “ก็แค่งานอดิเรก” Unix ยุคแรกก็เริ่มจาก การทดลองเพื่อสร้างเครื่องมือที่มีประโยชน์ มากกว่าจะเริ่มจากวิสัยทัศน์ยิ่งใหญ่
    แน่นอนว่าสภาพแวดล้อมของ Bell Labs ก็เป็นข้อได้เปรียบสำคัญ

  • เรื่อง รองเท้าบู๊ตสำหรับเจ้าหน้าที่รักษาความปลอดภัยที่ถูกขโมย ก็น่าสนใจ
    ที่น่าประทับใจคือมันถูกแก้ผ่าน การเจรจาโดยตรงกับเจ้าหน้าที่ความปลอดภัย ไม่ใช่ผ่านขั้นตอนทางการ

  • เกร็ดที่ Thompson ออกแบบระบบไฟล์ Unix กับ Rudd Canaday บนกระดานดำ และใช้ บริการโทรศัพท์รับคำบอกของ Bell Labs นั้นเจ๋งมาก
    ทุกวันนี้คนทั่วไปก็ใช้บริการรู้จำเสียงได้ง่าย ๆ แต่ในยุคนั้นมันคงล้ำมากจริง ๆ
    แน่นอนว่าเวลานั้นคงยังไม่ใช่ AI แต่เป็นเลขาที่คอยจดตามคำพูด ถึงอย่างนั้นเมื่อคิดถึงศักยภาพทางเทคนิคของ Bell Labs ก็รู้สึกว่าอาจไม่ใช่เรื่องเป็นไปไม่ได้เสียทีเดียว

    • สำหรับฉัน ความคิดเป็นระบบได้ดีกว่าผ่าน การพูด มากกว่าการเขียน
      พอเขียนแล้วจะอยากแก้ตลอด จนกลับกลายเป็นอุปสรรค
  • น่าสนใจที่เครื่องมือยุคแรกอย่าง mesg, talk ถูกออกแบบโดยคำนึงถึง การก่อรูปของชุมชน
    ด้วยโครงสร้างที่เปิดอยู่ครึ่งหนึ่ง จึงสามารถเข้าไปในโฮมไดเรกทอรีของคนอื่นแล้วดูไฟล์ได้ด้วย

    • แต่จริง ๆ แล้วนั่นไม่ใช่ปรัชญาของ Unix แต่เป็นของ ITS (Information Timesharing System)
      ITS ไม่มีข้อจำกัดด้านสิทธิ์และสนับสนุนการทำงานร่วมกัน แต่เซิร์ฟเวอร์ Unix ส่วนใหญ่มักล็อกโฮมไดเรกทอรีไว้ที่ 0700
    • คำเปรียบว่า “ให้ความรู้สึกเหมือนเดินเข้าไปในห้องทำงานคนอื่นแล้วรื้อค้นโต๊ะ” ช่างแม่นยำมาก
  • ในคำบรรยายภาพที่ Ken กับ dmr ยืนอยู่ด้วยกัน มีข้อความว่า “เราอยากสร้างระบบที่ชุมชนสามารถก่อตัวขึ้นได้
    มันทำให้นึกถึงคำคมจาก The Lord of the Rings ที่อยู่ด้านบนของไฟล์ซอร์ส Perl
    โค้ดที่เกี่ยวข้องดูได้ที่ ลิงก์ GitHub

  • ส่วนที่ Ken มีส่วนร่วมกับภาษา Go สามารถดูได้ทั้งหมดใน Git repository
    ไม่สปอยล์อะไร แต่มีโค้ดที่สนุกไม่น้อย

  • สงสัยชื่อเพลง “Radio UNIX USA” ในอัลบั้มฮาร์ดคอร์พังก์ปี 1981 This is Boston not LA
    เนื้อเพลงไม่ได้เกี่ยวอะไรกับ Unix เลย แต่เพราะวงมาจาก Boston ก็อาจมีความเชื่อมโยงกับ MIT อยู่บ้าง

    • ในเนื้อเพลงมีวลี “no balls” ซ้ำหลายครั้ง เลยมีความเป็นไปได้สูงว่า Unix อาจเป็นการเล่นคำกับ eunuchs (ผู้ชายที่ถูกตอน)
      และชื่อเพลงอาจเป็นการล้อกฎเรียกขานสถานีวิทยุในสหรัฐฯ ที่ใช้รหัส 4 ตัวอักษรด้วย
  • ถ้าอ่านบทความนี้แล้วสนใจ ขอแนะนำ 《Hackers》 ของ Steven Levy
    หนังสือเล่าถึง ประวัติศาสตร์ของวัฒนธรรมแฮกเกอร์ ตั้งแต่ MIT AI Lab ไปจนถึง Homebrew Computer Club และโปรแกรมเมอร์เกมยุคแรก
    ฉันเองก็อ่านตอนเด็กแล้วหลงใหลการเขียนโปรแกรม และทุกวันนี้ก็ยังรู้สึกถึงความสนุกแบบเดียวกันของการร่วมมือกันในสตาร์ตอัป

    • 《The Innovators》 ของ Walter Isaacson ก็เป็นอีกเล่มที่ควรอ่านมาก
      ลิงก์ Goodreads
    • ฉันเองก็อ่าน 《Hackers》 ในยุค 80 แล้ว เปลี่ยนเส้นทางอาชีพมาเป็นโปรแกรมเมอร์ใน Silicon Valley และต่อมาก็ได้ปริญญาเอก ก่อนจะไปสอนการเขียนโปรแกรมในมหาวิทยาลัย
  • 《Unix: A History and a Memoir》 ของ Brian Kernighan ก็เป็นงานอ่านที่ยอดเยี่ยมเช่นกัน