1 คะแนน โดย GN⁺ 2024-06-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ในยุค 2000 Wi‑Fi บน Linux มักใช้งานได้ไม่สมบูรณ์ทันทีหลังติดตั้ง และ Larry Finger คือหนึ่งในนักพัฒนาที่ช่วยยกระดับการใช้งาน Linux บนเดสก์ท็อปด้วยการ ปรับปรุงไดรเวอร์ไร้สาย
  • Finger มีส่วนร่วมกับอย่างน้อย 94 kernel releases และ 1,464 commits นับตั้งแต่ Linux kernel 2.6.16 และเสียชีวิตเมื่อวันที่ 21 มิถุนายน 2024 ด้วยวัย 84 ปี
  • ในช่วงที่ Broadcom ไม่ได้ให้โค้ดสำหรับอุปกรณ์ เขาเข้าร่วมงานกับ Broadcom BCM43XX และไดรเวอร์ของ Realtek โดยวิเคราะห์ hardware registers ด้วยตนเองเพื่อทำ reverse engineering ของสเปกที่จำเป็น
  • แม้ไม่มีการศึกษาอย่างเป็นทางการด้านวิทยาการคอมพิวเตอร์ เขาสั่งสมประสบการณ์กับ Fortran, PDP-11, VAX และ Unix/Linux และในปี 2023 ระบุว่าโค้ดของตนมีอยู่ใน Linux 6.4 kernel ถึง 172,346 บรรทัด
  • เขาทิ้งคำแนะนำให้เริ่มจาก patch เล็ก ๆ ใช้ git send-email และอดทนต่อคำวิจารณ์ พร้อมถูกจดจำว่าเป็นผู้ mentoring นักพัฒนาคนอื่นให้ผลักดันโค้ดโอเพนซอร์สของ Broadcom เข้า kernel ได้สำเร็จ

ร่องรอยที่ทิ้งไว้ต่อการรองรับไร้สายของ Linux

  • Denise Finger ภรรยาของ Larry Finger ฝากข้อความสั้น ๆ ไว้ใน Linux kernel mailing list ว่า Finger เสียชีวิตเมื่อวันที่ 21 มิถุนายน 2024
  • ตามข้อมูลของ LWN.net Finger มีส่วนร่วมในอย่างน้อย 94 releases นับตั้งแต่ Linux kernel เริ่มติดตามการเปลี่ยนแปลงด้วย git ใน kernel 2.6.16
    • จำนวน commits รวมคือ 1,464 รายการ
    • Finger ไม่ได้เรียนคอมพิวเตอร์อย่างเป็นทางการ และมองว่าตนเองเป็นนักวิทยาศาสตร์
  • นี่เป็นตัวอย่างว่าต่อให้เป็นโครงการขนาดมหึมาอย่าง Linux การมีส่วนร่วมอย่างสม่ำเสมอของคนเพียงคนเดียวก็สามารถทิ้งผลต่อประสบการณ์ผู้ใช้และ ecosystem ได้ยาวนาน

ความยากของ Wi‑Fi บน Linux ในยุค 2000

  • ในช่วงที่ Finger เริ่มมีส่วนร่วม Wi‑Fi บน Linux ยังมีโอกาสต่ำที่ฮาร์ดแวร์จะถูกตรวจพบ เปิดใช้งาน และทำงานได้ปกติทันทีหลังติดตั้ง
  • ผู้ใช้ที่ใช้ชิปเซ็ตไร้สายที่ยังไม่รองรับต้องพึ่ง NDISwrapper ซึ่งเป็นเครื่องมืออ้อมสำหรับเชื่อมกับไดรเวอร์ของ Windows
    • ทำให้การติดตั้ง Linux ต้องพึ่งแนวทางที่เปิดน้อยกว่าเดิม
    • ภาระด้านการติดตั้งและการดูแลรักษาก็ยังคงอยู่
  • Finger เริ่มช่วยแก้ปัญหานี้ด้วยงาน Broadcom BCM43XX drivers
  • เมื่อ Broadcom ไม่ได้ให้โค้ดสำหรับอุปกรณ์ เขามีส่วนช่วยทำ reverse engineering สเปกที่จำเป็นด้วยการ dump และอ่าน hardware registers ด้วยตนเอง
  • เขายังจัดทำไดรเวอร์ของ Realtek หลายตัว และในคอมเมนต์ตามบล็อกกับเว็บบอร์ดยังมีผู้ใช้ที่บอกว่าระบบของตนทุกวันนี้ยังใช้โค้ดบางส่วนของ Finger อยู่

จากอุปกรณ์วิทยาศาสตร์สู่ Unix/Linux

  • ร่องรอยของ Finger บนเว็บมีไม่มากนักนอกจาก kernel commits หลายร้อยรายการ
  • บนโดเมนส่วนตัวมีหน้าเกี่ยวกับซอฟต์แวร์โอเพนซอร์ส DRAWxtl สำหรับสร้างภาพโครงสร้างผลึก
  • เขาเคยตอบคำถามบน Quora และใน GitHub profile แสดงว่ามีการมีส่วนร่วมกับมากกว่า 100 โปรเจกต์ในปี 2024
  • ในบทความชุด 3 ตอนของ Linux Journal ปี 2005 “Linux in a Windows Workstation Environment” Finger ได้สรุปเส้นทางอาชีพของตนไว้
    • เริ่มต้นเป็นโปรแกรมเมอร์ Fortran ในปี 1963
    • ทำงานกับ PDP-11 และการเชื่อมต่ออุปกรณ์วิทยาศาสตร์ในทศวรรษ 1970
    • ทำงานกับ VAX-11/780 ในช่วงต้นทศวรรษ 1980
    • หลังจากนั้นทำงานกับระบบ Unix/Linux
    • เกษียณในปี 1999 จาก Carnegie Institution for Science ที่กรุงวอชิงตัน ดี.ซี.
  • Fingerite แร่หายากอย่างยิ่งชนิดหนึ่ง ถูกตั้งชื่อตาม Finger
  • งานวิจัยด้านคริสตัลวิทยาพาเขาไปสู่ทุนในแคว้นบาวาเรียตอนเหนือ และเขาเคยกล่าวถึงเรื่องนี้ในคำตอบบน Quora เกี่ยวกับ Autobahn

สร้างเครือข่ายให้ RV resort หลังเกษียณ

  • หลังเกษียณ Finger เขียนใน Linux Journal ว่าตนกลายเป็นผู้อาศัยใน RV แบบเต็มเวลา “ที่ทุ่มเทกับการหลีกหนีอากาศหนาว”
  • Finger และ Denise ภรรยา เดินทางมาถึงชุมชน RV สำหรับผู้มีอายุ 55 ปีขึ้นไปในเมือง Mesa รัฐแอริโซนา และเขาได้เข้าร่วมชมรมคอมพิวเตอร์ที่นั่น
  • เวลานั้นในชมรมมี Windows PC จำนวนมากขึ้นเรื่อย ๆ ที่แชร์การเชื่อมต่อ DSL โดยมีระบบหนึ่งจัดการผ่าน WinGate
  • เจ้าของ RV resort รายใหม่ต้องการเพิ่มเวิร์กสเตชันเป็น 22 เครื่อง แต่ค่าไลเซนส์ของ WinGate แพงเกินไปสำหรับชมรม
  • Finger บอกว่าเขา “ไม่ไว้วางใจอย่างมาก” กับการใช้ Windows 98 ในบทบาทระดับ mission-critical จึงสร้างระบบทดแทนบน Linux ขึ้นเอง
  • หลังจากนั้นเครือข่ายก็ขยายไปถึงระดับต่อไปนี้
    • สถานีผู้ใช้ 38 เครื่อง
    • Samba shares ส่วนตัว
    • ฐานข้อมูลสมาชิก
    • VPN tunnels
    • พอร์ต RJ-45 ฟรีหลายจุด
    • “การเข้าถึง Wi‑Fi ฟรี” ทั่วทั้งสวน

การ mentoring และคำแนะนำเรื่องการมีส่วนร่วมกับ kernel

  • Finger ไม่เพียงเป็นนักพัฒนาที่ช่วยให้ผู้คนจำนวนมากขึ้นใช้งาน Linux ได้ แต่ยังถูกจดจำในฐานะ mentor ที่ช่วยเหลือผู้มีส่วนร่วมคนอื่นด้วย
  • คอมเมนต์หนึ่งบน LWN.net ระบุว่า Finger เคย mentoring คนอื่นให้ผลักดันโค้ดโอเพนซอร์สของ Broadcom เข้า kernel และนั่นเป็นความสำเร็จครั้งใหญ่
  • ในปี 2023 บน Quora เมื่อมีคนถามว่า “คนทั่วไปที่ไม่มีการศึกษาด้านวิทยาการคอมพิวเตอร์อย่างเป็นทางการ จะมีส่วนร่วมกับ Linux kernel อย่างมีนัยสำคัญได้หรือไม่” Finger ตอบว่า “ผมคิดว่าได้”
  • เขาแนบลิงก์ สถิติ Linux 6.4 kernel และระบุว่าโค้ดของตนมี 172,346 บรรทัด คิดเป็นราว 0.5% ของทั้งหมด
  • เขาระบุว่าแม้ไม่เคยเรียนวิชาวิทยาการคอมพิวเตอร์ แต่มีประสบการณ์การเขียนโค้ดมากพอสมควรจากยุคที่คอมพิวเตอร์มีสมรรถนะต่ำกว่าปัจจุบันมากและจำเป็นต้องเขียนโค้ดให้มีประสิทธิภาพ
  • สำหรับผู้ที่อยากเริ่มมีส่วนร่วมกับ kernel Finger แนะนำดังนี้
    • เริ่มจาก patch เล็ก ๆ
    • อ่าน guideline ให้ลึก
    • ส่ง patch ด้วย git send-email เสมอ
    • patch ที่ส่งจาก mailer อย่าง Thunderbird อาจถูกปฏิเสธอย่างรวดเร็ว
    • การช่วยหาคำสะกดผิดหรือข้อผิดพลาดใน comments และ strings ก็มีประโยชน์
    • คาดหวังคำวิจารณ์เรื่องกฎและรูปแบบ แล้วพยายามต่อไป
  • เขาแนะนำว่าการพัฒนา kernel drivers เป็นงานที่ทั้งคุ้มค่าและชวนท้อใจ ควรเรียน C เริ่มจากการวิเคราะห์ USB drivers และใช้เวลากับการเรียนรู้ DMA
  • Finger บอกว่ากว่าที่ตนเองจะทำอะไรได้มากไปกว่าการชี้ตำแหน่ง fault ของระบบให้ผู้เชี่ยวชาญ ก็ใช้เวลาราว 2 ปี และทิ้งท้ายว่า “อย่าสิ้นหวัง”

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

 
GN⁺ 2024-06-28
ความคิดเห็นจาก Hacker News
  • เป็นข่าวที่เศร้ามากจริง ๆ ทั้งต่อโลกทั้งใบและต่อผมเป็นการส่วนตัว จู่ ๆ ก็รู้สึกเสียใจอย่างลึกซึ้งที่น่าจะกล่าวขอบคุณเขาเสียก่อน ไม่ควรผัดผ่อนไว้ เขาอาจไม่รู้ แต่สำหรับผม เขาเป็นเหมือน เมนเทอร์ ในระดับหนึ่ง
    ช่วงต้นทศวรรษ 2010 ผมซื้อแล็ปท็อปที่มีการ์ด RTL 8188 CE ซึ่งทำงานบน Linux ได้แย่มาก ผม fork ไดรเวอร์ของเขาแล้วใส่การเปลี่ยนแปลงหลายอย่าง จนทำให้ Wi-Fi ทำงานได้ดีมาก บางวิธีก็เป็นวิธีที่ไม่อาจ upstream ได้เพราะข้อจำกัดทางกฎหมายและกฎระเบียบ
    ตลอดหลายปีที่ rebase และตรวจทานการเปลี่ยนแปลงอยู่บ่อย ๆ ผมได้เรียนรู้มากมายจากโค้ดของเขา ตอนแรกต้องใช้เวลาทำความคุ้นเคยอยู่บ้าง แต่ค่อย ๆ เกิดความรู้สึกถึงความงดงามและความซาบซึ้งบางอย่าง สิ่งหนึ่งที่ชัดเจนคือ คนคนนี้ทำงานมากมายเพื่อคอยยึดทุกอย่างไว้ไม่ให้พังลงมา แค่ทำให้ไดรเวอร์ยังคอมไพล์ได้ในแต่ละเคอร์เนลรีลีส ก็มักต้องมีการรีแฟกเตอร์ที่ไม่ใช่เรื่องเล็กน้อยแล้ว และเขาก็ทำมันอย่างสม่ำเสมอและทำได้ดี
    Larry เราจะคิดถึงคุณ ขอให้ไปสู่สุคติ ถ้าคุณกำลังรอจะติดต่อใครสักคน อย่าผัดผ่อนนานเกินไปเลย เวลาผ่านไปเร็วมาก และจู่ ๆ มันอาจสายเกินไป

    • ผมเข้าใจว่า contributor ของเคอร์เนลส่วนใหญ่เป็นอาสาสมัคร จึงทำอะไรตามที่อยากทำได้ และผู้เขียนไดรเวอร์ที่ไม่ได้ upstream ก็ต้องคอยไล่ตาม trunk อยู่เสมอ ถึงอย่างนั้น เรื่องแบบนี้ก็ดูเหมือนเป็น การสูญเปล่าของพรสวรรค์มนุษย์
      ผมคิดว่าสิ่งที่เคยทำงานได้แล้วไม่ควรถูกทำให้พังอีก ชั้นของสิ่งเกะกะที่สะสมกันมาหลายสิบปีดูเหมือนไม่ได้แก้ปัญหาแบบนี้มากนัก และกลับสร้างงานเพิ่มเพื่อให้ทุกอย่างคงอยู่ที่เดิมเสียมากกว่า
    • เจอ typo เล็ก ๆ แต่แก้ต้นฉบับไม่ได้แล้ว หมายถึง ต้นทศวรรษ 2010 ไม่ใช่ต้นทศวรรษ 2000
    • อยากรู้ว่าเขาทำอะไรที่กฎหมายไม่อนุญาตเพื่อให้ Wi-Fi ทำงานได้ดีขึ้น
  • Ars Technica มีบทความดี ๆ ออกมา เขาทำงานมากมายเพื่อทำให้ Linux Wi-Fi และระบบนิเวศของไดรเวอร์ดีขึ้นอย่างมาก
    https://arstechnica.com/gadgets/2024/06/larry-finger-linux-w...
    ผมจำได้ว่าเมื่อก่อนเคยบ่นด่า ndis wrapper กับระบบนิเวศ Broadcom Wi-Fi อยู่ Larry ช่วยแก้ปัญหานั้น และระหว่างทางก็เป็นเมนเทอร์ให้คนจำนวนมาก
    คำอ้างอิงในบทความของ Ars Technica ก็น่าประทับใจเช่นกัน ในปี 2023 บน Quora มีคำถามว่า “คนที่ไม่ได้รับการศึกษาด้านวิทยาการคอมพิวเตอร์อย่างเป็นทางการสามารถมีส่วนร่วมกับ Linux อย่างมีนัยสำคัญได้ไหม” Finger ตอบว่า “ผมคิดว่าผมทำได้นะ” และแสดงสถิติเคอร์เนล 6.4 ว่าโค้ดของเขามี 172,346 บรรทัด คิดเป็นประมาณ 0.5% ของทั้งหมด

    • เดิมเป็นเนื้อหาจาก https://news.ycombinator.com/item?id=40770724 แต่คอมเมนต์เหล่านั้นถูก merge มาที่นี่แล้ว
    • Ars Technica สมควรได้รับคำชมที่เขียนบทความนี้
  • ย้อนกลับไปปี 2005 ตอนเป็นนักศึกษามหาวิทยาลัยที่ไม่มีเงินและพยายามรัน Linux ผมจะนึกถึงเขาประมาณสัปดาห์ละครั้งเพราะเรื่องการรองรับการ์ดไร้สาย Belkin FG… ไดรเวอร์ของเขาทำงานได้ดีกว่าไดรเวอร์ Windows ที่ Belkin รองรับเสียอีก
    ผมมักสงสัยว่าทำไมเขาถึงอาสาใช้เวลาหลังเลิกงานมาทำงานฮาร์ดแวร์ที่ดูเล็กน้อยแบบนี้ เขาไม่มีครอบครัวหรือ? เขามีครอบครัว และวันนี้ครอบครัวนั้นได้สูญเสียเขาไปแล้ว

    • ผมก็เคยคิดคล้าย ๆ กัน จินตนาการว่าเขาเป็นพนักงานประจำวัย 40 กว่า ๆ ที่มีลูกเล็กหลายคนและเหนื่อยล้าจากโปรเจกต์บริษัทที่เต็มไปด้วยระบบราชการ แต่ปรากฏว่าเขาเสียชีวิตเมื่ออายุ 84 ปี
      ถ้าอย่างนั้นงานไดรเวอร์เหล่านั้นก็คือสิ่งที่เขาทำหลังอายุ 60 แล้ว แค่อายุเท่านั้นผมยังจำชื่อตัวเองได้ก็คงดีแล้ว :-)
    • เขาน่าจะเป็นคนระดับโลกในด้าน การพัฒนาไดรเวอร์ Linux Wi-Fi อย่างกว้างขวาง เป็นความสำเร็จที่มีคุณค่าจริง ๆ ขอบคุณครับ Larry Finger
    • ถ้าไม่มี Larry ผมอาจยังไม่ได้เป็นผู้ใช้ Linux ก็ได้ เขาเป็นฮีโร่ที่แทบไม่มีใครรู้จักจริง ๆ
  • อยากให้ทุกคนเห็นทั้งประโยคที่ว่า “Broadcom ไม่ได้ให้โค้ดใด ๆ สำหรับอุปกรณ์ของตนเลย” และ “ดังนั้น Finger จึง dump และอ่านรีจิสเตอร์ของฮาร์ดแวร์ด้วยมือ เพื่อ reverse engineer สเปกที่จำเป็น” อย่าประเมินความยอดเยี่ยมของการกระทำนี้ต่ำเกินไป
    ผมเองก็เคยทำงานคล้าย ๆ กันนิดหน่อย เคย reverse engineer ฟีเจอร์ของแล็ปท็อป เขียนซอฟต์แวร์เสรีเองให้รันใน Linux และส่งอีเมลไปขอเอกสารจากผู้ผลิต แต่ได้กลับมาแค่หน้าคู่มือผู้ใช้ ส่วนใหญ่เกี่ยวกับ USB ซึ่งเป็นอินเทอร์เฟซที่มีเอกสารดีที่สุดเท่าที่จะจินตนาการได้แล้ว แต่ก็ยังยาก
    ผมนึกไม่ออกเลยว่าเขา reverse engineer Wi-Fi ได้อย่างไร สำหรับผมเขาเป็นแรงบันดาลใจมหาศาล และหวังว่าสักวันหนึ่งจะเข้าใกล้ระดับของเขาได้ ขอบคุณจริง ๆ สำหรับงานที่ทำมาตลอด และขอให้ไปสู่สุคติ

  • จากชื่ออย่างเดียวผมนึกไม่ออก แต่พอเห็นชื่อผู้ใช้ lwfinger ใน commit CREDITS ก็จำได้ทันที ชื่อผู้ใช้นั้น และยิ่งไปกว่านั้นคือ “hadess” คงจะอยู่ในความทรงจำผมตลอดไป
    การคอมไพล์ไดรเวอร์สำหรับการ์ด RTL8723BS คือประสบการณ์แรกที่ผมได้จับการทำงานภายในของ Linux อย่างจริงจัง และสุดท้ายก็ทำให้ Linux รันได้เกือบสมบูรณ์บน Intel Baytrail convertible เครื่องเล็ก ๆ ห่วย ๆ เครื่องหนึ่ง ผมสรุปกระบวนการนั้นแล้วโพสต์เป็น tutorial การติดตั้ง Ubuntu ซึ่งดูจากดาว 80 ดวงและการถกเถียงยาว ๆ ด้านล่าง ก็น่าจะช่วยให้คนจำนวนไม่น้อยยังใช้ขยะอิเล็กทรอนิกส์ Windows 8.1 ต่อไปได้อีกพักหนึ่ง

  • นอกจาก Larry Finger แล้ว สัปดาห์นี้ยังมี นักพัฒนาเคอร์เนล Linux อีกคนหนึ่งเสียชีวิต: https://lwn.net/Articles/979617/

    • มีโพสต์ที่นี่ด้วย แต่น่าเสียดายที่ไม่ได้รับความสนใจมากนัก อาจเป็นเพราะหัวข้อไม่ได้บอกว่าเขาเป็นใคร: https://news.ycombinator.com/item?id=40815468
  • ผู้คนยังคงล้อเรื่อง “ปีแห่ง Linux desktop” กันอยู่ แต่สำหรับผม ปีนั้นฝังชัดอยู่ในใจว่าเป็น ราวปี 2007 ตอนที่ Wi-Fi บน ThinkPad เริ่มทำงานได้แทบไม่เจ็บปวดแล้ว

  • งานที่ Larry ดูแล ไดรเวอร์ vendor ของ Realtek หลายตัวบน GitHub มีความหมายต่อชุมชนอย่างมหาศาล แม้ตอนนี้ fork เหล่านั้นก็มักยังทำงานได้ดีกว่าไดรเวอร์ใน mainline มาก เราจะคิดถึงเขา อย่างที่คนอื่น ๆ พูด เขาเป็นแรงบันดาลใจอันยิ่งใหญ่

  • ขอให้ไปสู่สุคติ ขอบคุณสำหรับงานด้านไดรเวอร์ Wi-Fi NDISWrapper นั้นเจ็บปวดจริง ๆ

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