ร่วมอาลัย Larry Finger ผู้สร้างเครือข่ายไร้สายบน Linux
(arstechnica.com)- ในยุค 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เป็นข่าวที่เศร้ามากจริง ๆ ทั้งต่อโลกทั้งใบและต่อผมเป็นการส่วนตัว จู่ ๆ ก็รู้สึกเสียใจอย่างลึกซึ้งที่น่าจะกล่าวขอบคุณเขาเสียก่อน ไม่ควรผัดผ่อนไว้ เขาอาจไม่รู้ แต่สำหรับผม เขาเป็นเหมือน เมนเทอร์ ในระดับหนึ่ง
ช่วงต้นทศวรรษ 2010 ผมซื้อแล็ปท็อปที่มีการ์ด RTL 8188 CE ซึ่งทำงานบน Linux ได้แย่มาก ผม fork ไดรเวอร์ของเขาแล้วใส่การเปลี่ยนแปลงหลายอย่าง จนทำให้ Wi-Fi ทำงานได้ดีมาก บางวิธีก็เป็นวิธีที่ไม่อาจ upstream ได้เพราะข้อจำกัดทางกฎหมายและกฎระเบียบ
ตลอดหลายปีที่ rebase และตรวจทานการเปลี่ยนแปลงอยู่บ่อย ๆ ผมได้เรียนรู้มากมายจากโค้ดของเขา ตอนแรกต้องใช้เวลาทำความคุ้นเคยอยู่บ้าง แต่ค่อย ๆ เกิดความรู้สึกถึงความงดงามและความซาบซึ้งบางอย่าง สิ่งหนึ่งที่ชัดเจนคือ คนคนนี้ทำงานมากมายเพื่อคอยยึดทุกอย่างไว้ไม่ให้พังลงมา แค่ทำให้ไดรเวอร์ยังคอมไพล์ได้ในแต่ละเคอร์เนลรีลีส ก็มักต้องมีการรีแฟกเตอร์ที่ไม่ใช่เรื่องเล็กน้อยแล้ว และเขาก็ทำมันอย่างสม่ำเสมอและทำได้ดี
Larry เราจะคิดถึงคุณ ขอให้ไปสู่สุคติ ถ้าคุณกำลังรอจะติดต่อใครสักคน อย่าผัดผ่อนนานเกินไปเลย เวลาผ่านไปเร็วมาก และจู่ ๆ มันอาจสายเกินไป
ผมคิดว่าสิ่งที่เคยทำงานได้แล้วไม่ควรถูกทำให้พังอีก ชั้นของสิ่งเกะกะที่สะสมกันมาหลายสิบปีดูเหมือนไม่ได้แก้ปัญหาแบบนี้มากนัก และกลับสร้างงานเพิ่มเพื่อให้ทุกอย่างคงอยู่ที่เดิมเสียมากกว่า
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% ของทั้งหมด
ย้อนกลับไปปี 2005 ตอนเป็นนักศึกษามหาวิทยาลัยที่ไม่มีเงินและพยายามรัน Linux ผมจะนึกถึงเขาประมาณสัปดาห์ละครั้งเพราะเรื่องการรองรับการ์ดไร้สาย Belkin FG… ไดรเวอร์ของเขาทำงานได้ดีกว่าไดรเวอร์ Windows ที่ Belkin รองรับเสียอีก
ผมมักสงสัยว่าทำไมเขาถึงอาสาใช้เวลาหลังเลิกงานมาทำงานฮาร์ดแวร์ที่ดูเล็กน้อยแบบนี้ เขาไม่มีครอบครัวหรือ? เขามีครอบครัว และวันนี้ครอบครัวนั้นได้สูญเสียเขาไปแล้ว
ถ้าอย่างนั้นงานไดรเวอร์เหล่านั้นก็คือสิ่งที่เขาทำหลังอายุ 60 แล้ว แค่อายุเท่านั้นผมยังจำชื่อตัวเองได้ก็คงดีแล้ว :-)
อยากให้ทุกคนเห็นทั้งประโยคที่ว่า “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/
ผู้คนยังคงล้อเรื่อง “ปีแห่ง Linux desktop” กันอยู่ แต่สำหรับผม ปีนั้นฝังชัดอยู่ในใจว่าเป็น ราวปี 2007 ตอนที่ Wi-Fi บน ThinkPad เริ่มทำงานได้แทบไม่เจ็บปวดแล้ว
งานที่ Larry ดูแล ไดรเวอร์ vendor ของ Realtek หลายตัวบน GitHub มีความหมายต่อชุมชนอย่างมหาศาล แม้ตอนนี้ fork เหล่านั้นก็มักยังทำงานได้ดีกว่าไดรเวอร์ใน mainline มาก เราจะคิดถึงเขา อย่างที่คนอื่น ๆ พูด เขาเป็นแรงบันดาลใจอันยิ่งใหญ่
ขอให้ไปสู่สุคติ ขอบคุณสำหรับงานด้านไดรเวอร์ Wi-Fi NDISWrapper นั้นเจ็บปวดจริง ๆ
เขาคือบุคคลในตำนาน Larry ใช้ชีวิตอย่างเต็มเปี่ยม เป็นเมนเทอร์ให้ผู้คนหลายร้อยคนตลอดหลายปี และ มรดก ของเขาจะยังคงอยู่ต่อไปในตัวผู้คนที่เขาสอนและสร้างแรงบันดาลใจ