การโจมตี RubyGems ของ Ruby Central
(pup-e.com)- Ruby Central แสดงพฤติกรรมล่าสุดที่พยายามยึดอำนาจการดูแล โครงการ RubyGems แบบบังคับ
- ในเดือนกันยายน 2025 มีการเปลี่ยนแปลง สิทธิ์บน GitHub และความเป็นเจ้าของของ RubyGems โดยไม่มีการแจ้งล่วงหน้า
- แม้ต่อมาจะมีการกู้คืนสิทธิ์ชั่วคราว แต่การเปลี่ยนแปลงด้านความเป็นเจ้าของที่สำคัญยังคงอยู่
- จากนั้นสิทธิ์ของทั้งทีมก็ถูกเพิกถอนอีกครั้ง ทำให้ Ruby Central เข้าควบคุมทั้งหมด
- ผู้เขียนนิยามการกระทำนี้ว่าเป็น การเข้ายึดกิจการแบบเป็นปฏิปักษ์ และประกาศลาออกจาก Ruby Central อย่างเป็นทางการ
บทนำ
- ผู้เขียนบทความนี้คือ Ellen Dash ซึ่งเป็นที่รู้จักในชุมชน Ruby ในชื่อ duckinator หรือ puppy
- ทำหน้าที่เป็นผู้ดูแลรักษาในชุมชน Ruby และ RubyGems มาเป็นเวลา 10 ปี
- จากเหตุการณ์ที่เพิ่งเกิดขึ้น ผู้เขียนรู้สึกว่าจำเป็นต้องบอกความจริงแก่ชุมชน
ภาพรวมของเหตุการณ์ที่เกิดขึ้นในเดือนกันยายน 2025
- วันที่ 9 กันยายน 2025 โดยไม่มีการเตือนหรือสื่อสารล่วงหน้าใด ๆ ผู้ดูแลรักษา RubyGems คนหนึ่งได้ดำเนินการเพียงลำพังเพื่อ
- เปลี่ยนชื่อ GitHub enterprise ‘RubyGems’ เป็น ‘Ruby Central’
- เพิ่ม Marty Haught ของ Ruby Central (ซึ่งไม่ใช่ผู้ดูแลรักษา)
- ลบผู้ดูแลโครงการ RubyGems คนอื่นทั้งหมด
- ผู้ดูแลรักษาคนดังกล่าวระบุว่าจะไม่ย้อนการเปลี่ยนแปลงนี้ และอ้างว่าต้องได้รับอนุญาตจาก Marty
- วันที่ 15 กันยายน มีการเปิดเผยว่าหลังการพูดคุยได้มีการกู้คืนสิทธิ์เดิมบางส่วน
- แต่ตามคำกล่าวของ Marty นั่นเป็น “ความผิดพลาด” และ “ไม่ควรเกิดขึ้นเด็ดขาด”
- แม้ในกระบวนการกู้คืน การเปลี่ยนแปลงสำคัญที่ Marty ยังคงเป็นเจ้าของก็ยังคงเดิม
- ทีม RubyGems จึงเริ่มนำแนวนโยบายกำกับดูแลอย่างเป็นทางการที่ได้แรงบันดาลใจจาก Homebrew มาใช้เพื่อตอบสนองต่อเรื่องนี้
- วันที่ 18 กันยายน Marty Haught ได้เพิกถอนสมาชิกองค์กร GitHub ระดับผู้ดูแลของ RubyGems, Bundler และ RubyGems.org ทั้งหมดโดยไม่มีคำอธิบายเพิ่มเติม
- ส่งผลให้ Ruby Central และพนักงานประจำขององค์กรเข้าควบคุมทั้งหมด
- ในวันเดียวกัน Ruby Central ยังได้เพิกถอนสิทธิ์เข้าถึง gem
bundler,rubygems-updateเพิ่มเติมอีกด้วย
ลักษณะของเหตุการณ์และจุดยืนของผู้เขียน
- ผู้เขียนระบุอย่างชัดเจนว่าเหตุการณ์นี้คือ การเข้ายึดกิจการแบบเป็นปฏิปักษ์
- ย้ำว่าการบังคับถอดสิทธิ์ของผู้ที่ดูแล RubyGems และ Bundler มานานหลายปีนั้น โดยเนื้อแท้แล้วเป็นการกระทำที่เป็นปฏิปักษ์
- ชี้ว่าหลังจากมีการทักท้วงครั้งแรกแล้ว ยังมีการดำเนินมาตรการแบบเดิมซ้ำอีก จึงเห็นว่าการกระทำของ Ruby Central ไม่ได้ตั้งอยู่บนความสุจริตใจ
- ผู้เขียนประกาศว่าไม่อาจนิ่งเฉยต่อเรื่องนี้ได้ และขอลาออกจากทุกบทบาทใน Ruby Central โดยมีผลทันที
บทสรุปและข้อความถึงชุมชน
-
Ruby Central ได้เพิกถอนสิทธิ์เข้าถึง RubyGems ทั้งหมดของผู้เขียนและทีม RubyGems โดยฝ่ายเดียว โดยไม่มีคำอธิบาย และขัดต่อเจตจำนงของพวกเขา
-
ท้ายที่สุด ผู้เขียนขอคัดค้านต่อสาธารณะต่อมาตรการดังกล่าวและแนวทางการบริหารองค์กรของ Ruby Central พร้อมประกาศเจตนาลาออก
-
Ellen Dash (@duckinator)
-
19 กันยายน 2025
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
โพสต์ที่ลงใน /r/ruby ทำให้เห็นว่าจนกระทั่งไม่นานมานี้ ภายใน Ruby Central เองก็ยังอยู่ระหว่างการหารือข้อเสนอเรื่องโครงสร้างธรรมาภิบาลขององค์กรอย่างเป็นทางการ โดยมีลิงก์ไปยัง ลิงก์ reddit และ ข้อเสนอฉบับเต็ม พร้อมกล่าวถึงการมีส่วนร่วมของ Mike McQuaid ที่ได้รับแรงบันดาลใจจากโครงสร้างธรรมาภิบาลของโครงการ Homebrew
ผมอยากช่วยให้สถานการณ์ดีขึ้นผ่านการไกล่เกลี่ย ตอนนี้ก็ยังอยู่ระหว่างการประชุมทางโทรศัพท์เกี่ยวกับเรื่องนี้ และใน 24 ชั่วโมงที่ผ่านมาได้คุยกับทั้งสองฝ่ายไปแล้ว 4 ครั้ง การเข้ามามีส่วนร่วมของผมเกิดจากความรักที่มีต่อ Ruby เท่านั้น
ปฏิกิริยาของ DHH ก็น่าสนใจเช่นกัน: "Ruby Central เป็นผู้ดูแลและดำเนินงาน RubyGems มาตั้งแต่แรก และได้จ่ายค่าตอบแทนให้ทั้งผู้ดูแล ผู้บริหาร และนักพัฒนา รวมถึงผู้รับจ้าง พวกเขากำลังปรับปรุงกระบวนการและโปรโตคอล ซึ่งเป็นความเคลื่อนไหวที่ดี" ทวีตของ DHH
มีการโพสต์อัปเดตจุดยืนอย่างเป็นทางการของ Ruby Central แล้ว: เป็นเรื่องการเสริมความแข็งแกร่งของการกำกับดูแล RubyGems และ Bundler ลิงก์ข่าว
"ขอขอบคุณอย่างสุดซึ้งต่อผู้ดูแลทุกคนที่มีส่วนร่วมกับ Bundler และ RubyGems ตลอด 20 ปีที่ผ่านมา หากไม่มีความพยายามของพวกเขา ระบบนิเวศ Ruby อย่างทุกวันนี้ก็คงเป็นไปไม่ได้ เราจะสืบทอดมรดกนั้นต่อไปด้วยจิตวิญญาณแห่งความเปิดกว้างและความร่วมมือ" ส่วนที่เน้นนี้ดูไม่สอดคล้องกับการปลดแทบทุกทีมออกโดยไม่แจ้งล่วงหน้า แนวทางแบบ "ขอบคุณสำหรับความเหนื่อยยาก ทีนี้ให้ผู้ใหญ่เข้ามาจัดการต่อ" แทบไม่เคยจบสวย
แม้จะบอกว่า "ขอส่งความขอบคุณและความเคารพไปยังผู้ดูแล" แต่ในความเป็นจริงกลับถอดพวกเขาออกจากโครงการโดยไม่มีคำอธิบาย หรือไม่ตอบคำถามเลย เมื่อนึกถึงผู้ดูแลที่ถูกกันออกจากโครงการที่พวกเขาดูแลมานานกว่าสิบปีแล้วก็รู้สึกใจหาย พวกเขาไม่สมควรได้รับการปฏิบัติแบบนี้
ความจริงคือ มีการบล็อกผู้ดูแลจำนวนมากที่ทำงานมาอย่างยาวนานอย่างกะทันหันด้วยเหตุผลทางกฎหมายหรือความปลอดภัย หากมีเหตุผลเชิงปฏิบัติที่เร่งด่วนจริง ก็ควรแสดงข้อมูลที่ชัดเจน ไม่ใช่ส่งข้อความ PR สไตล์องค์กรมาแทน
ถ้าตั้งใจจะเพิ่มความปลอดภัย นี่ก็เป็นวิธีที่แปลกมาก การเปลี่ยนเจ้าของ Github ที่กำลังดำเนินอยู่ และการเขี่ยคนมีประสบการณ์ออกไปอย่างกะทันหันโดยไม่มีการส่งมอบงานเลย (อ้างอิงจากเนื้อหาบทความต้นฉบับ) มีแต่จะเพิ่มความเสี่ยงและลดความน่าเชื่อถือของการบริหารจัดการ
มันอ่านเหมือนคำแก้ตัวภายหลัง การเปลี่ยนแปลงใหญ่แบบนี้ควรสื่อสารกับผู้ดูแลภายในล่วงหน้า ไม่ใช่ปล่อยให้เกิดขึ้นแบบช็อกเช่นนี้
รู้สึกปวดใจเมื่อคิดถึงชุมชน RubyGems และขอส่งความขอบคุณกับความเห็นใจไปให้ Ruby เป็นจุดเปลี่ยนสำคัญในอาชีพของผม และผมก็ผูกพันกับภาษาและชุมชนนี้ ตอนนี้คงต้องรอฟังคำอธิบายจาก RubyCentral ก่อน แต่จากสิ่งที่ออกมาจนถึงตอนนี้ มันดูขาดทั้งความโปร่งใสและเจตนาดี อยากรู้ว่า RubyCentral ได้ออกแถลงการณ์ใดหรือยัง หวังว่าชุมชน Ruby จะเข้มแข็ง และอยากเห็นการเปลี่ยนผ่านไปสู่องค์กรที่ชุมชนเป็นเจ้าของไม่ว่าในรูปแบบใดก็ตาม (ต่อจาก NPM และ WordPress ตอนนี้ก็เหมือนจะถึงคิวของ Ruby แล้ว ให้ความรู้สึกว่าคลังแพ็กเกจกำลังกลายเป็นสนามแย่งชิงขององค์กร)
การกระทำล่าสุดของ Ruby Central — การปลดผู้ดูแล RubyGems และ Bundler ที่ทำงานมายาวนานออกโดยไม่เตือนล่วงหน้า และการรวมอำนาจการดูแลไว้กับคนเพียงไม่กี่คนฝ่ายเดียว — ได้ทำลายความไว้วางใจในระบบนิเวศ Ruby อย่างรุนแรง นี่ไม่ใช่แค่ความเข้าใจผิด แต่เป็นการยึดครองโครงสร้างพื้นฐานสำคัญแบบเป็นปฏิปักษ์ และได้บ่อนทำลายทั้งทีมผู้ดูแลที่สืบทอดกันมายาวนานและชุมชนทั้งหมดที่พึ่งพาเครื่องมือเหล่านี้ แก่นของระบบนิเวศ Ruby คือความร่วมมือ ความเปิดเผย และความเคารพซึ่งกันและกัน แต่สิ่งที่เราเห็นตลอดสัปดาห์ที่ผ่านมา — การเข้าถึงแบบฝ่ายเดียว การกันคนมีประสบการณ์ออก และการตัดสินใจแบบไม่เปิดเผย — ล้วนปฏิเสธหลักการเหล่านั้นอย่างสิ้นเชิง ผมคัดค้านการรวมศูนย์อำนาจเช่นนี้อย่างชัดเจน ยิ่งไปกว่านั้น ยังมีความกังวลว่าการเข้าถึงของผู้มีส่วนร่วมอาจเปลี่ยนไปตามสถานะการจ้างงานหรืออุดมการณ์ โอเพนซอร์สควรตั้งอยู่บนประสบการณ์ ความทุ่มเท และความไว้วางใจ หาก Ruby Central ตั้งใจจะยืนเคียงข้างชุมชนจริง ควรดำเนินการดังต่อไปนี้ - คืนสิทธิ์ทั้งหมดให้ผู้ดูแลทุกคนที่ถูกถอดออกจากเหตุการณ์ครั้งนี้ทันที - ให้คำมั่นว่าจะเปิดเผยโมเดลธรรมาภิบาลที่โปร่งใสและมีชุมชนเป็นศูนย์กลาง (คล้ายกับที่ทีม RubyGems กำลังเตรียมอยู่) - เคารพความเป็นอิสระของผู้ดูแลโอเพนซอร์ส ไม่ว่าจะสังกัด Ruby Central หรือไม่ - ยอมรับความเสียหายที่เกิดขึ้นและเริ่มต้นการสนทนาอย่างเปิดเผยเพื่อฟื้นฟูความไว้วางใจ พลังของชุมชน Ruby อยู่ที่ผู้คน และเกิดจากความหลากหลาย ความหลงใหล และความรักต่อภาษา ถึงเวลาที่เราต้องเรียกร้องให้องค์กรที่อ้างว่าเป็นตัวแทนของเราปฏิบัติตัวให้สมกับสิ่งนั้น หาก Ruby Central ไม่ตอบสนอง ก็ควรกดดันให้สปอนเซอร์หยุดการสนับสนุน และท้ายที่สุดเราควรสร้างโครงสร้างพื้นฐานของเราเองที่ไม่ต้องเผชิญความวุ่นวายเช่นนี้อีก ผมคิดว่าการฟื้นฟูความไว้วางใจยังต้องรวมถึงการไล่ผู้รับผิดชอบเหตุการณ์นี้ออกด้วย สปอนเซอร์ระดับ Ruby-Level(Top): Alpha Omega, Shopify, Sidekiq Gold: Flagrant Silver: Cedarcode, DNSimple, Fastly, Gusto, Honeybadger, Sentry
ในประกาศอย่างเป็นทางการบอกว่า "เราให้ความสำคัญกับความเปิดกว้างและความร่วมมือ" แต่กลับไม่ได้อธิบายด้วยซ้ำว่าความเปิดกว้างนั้นหมายถึงอะไร และไม่ได้ระบุด้วยว่าใครเป็นคนเขียน
ตรงที่บอกว่า "สัปดาห์ที่ผ่านมาเราได้เห็น" ... คำว่า "เรา" คือใคร และได้เห็นอะไรกันแน่ จนถึงตอนนี้เรายังมีแต่ข้อกล่าวหาจากฝ่ายเดียว ถ้ามีการเปลี่ยนแปลงแบบนี้จริง ก็ควรมีประกาศสาธารณะออกมาทันที แต่เนื่องจาก Ruby Central เป็นฝ่ายก่อตั้งและดูแล RubyGems มายาวนานอยู่แล้ว จึงยังไม่ค่อยเข้าใจนักว่าจะเรียกว่าเป็นการ "ยึดครอง" ได้อย่างไร ถ้ามันเป็นความเคลื่อนไหวที่มีเจตนาร้ายจริง ผมก็พร้อมจะวิจารณ์เหมือนกัน แต่ก่อนถึงจุดนั้นอยากรอฟังอีกฝ่ายก่อน แนบลิงก์ประกาศอย่างเป็นทางการของ RubyCentral ที่ออกมา 35 นาทีต่อมาด้วย ข่าวอย่างเป็นทางการ
สงสัยว่าทำไมถึงต้องใส่รายชื่อสปอนเซอร์ท้ายคอมเมนต์ด้วย และความกังวลที่ว่าการเข้าถึงจะต่างกันตามสถานะการจ้างงานหรืออุดมการณ์นั้นมาจากไหน เพราะในเนื้อหาหลักก็ไม่เห็นพูดถึง อีกอย่างก็สงสัยว่าผู้เขียนคอมเมนต์ใช้เครื่องมือ LLM ช่วยเขียนหรือเปล่า
คิดว่าน่าจะเกี่ยวข้อง เลยทิ้งลิงก์นี้ไว้ ไม่ได้ตามเรื่องนี้ใกล้ชิดด้วยตัวเอง โพสต์ที่เกี่ยวข้อง
Ruby Central ระดมทุนมาหลายปีและดำเนินโครงการของตัวเองอยู่แล้ว ดังนั้นคำกล่าวที่ว่าพวกเขา "โจมตี" โครงการของตัวเองจึงยังมีหลักฐานรองรับไม่มากนัก ผมไม่รู้ว่าเกิดอะไรขึ้นบน Github Enterprise แต่บน Github สาธารณะค่อนข้างโปร่งใส Marty เพิ่งมีส่วนร่วมหลายอย่างเกี่ยวกับฟีเจอร์ Orgs ช่วงหลังนี้ ผมใช้งาน rubygems.org ทุกวัน รวมถึง rubygems.org ที่ผม fork ไว้ด้วย โครงการนี้ชัดเจนว่าเป็นสาธารณูปโภคของส่วนรวม น่าเสียดายที่มีคนพยายามลากเอาอารมณ์ส่วนตัวมาเกี่ยวแล้วทำลายทั้งโครงการ ไม่ว่าจะเป็นอดีตพนักงานหรือใครก็ตาม ผู้ใช้จำนวนมากใช้งานแพลตฟอร์มนี้ได้อย่างมั่นคงมาโดยตลอด พนักงานสัญญาจ้างก็มีเข้าออกเป็นปกติอยู่แล้ว และจาก commit log ในช่วง 24 เดือนล่าสุดของผู้ที่ออกมาตั้งคำถาม (อดีตพนักงาน) ก็ไม่เห็นผลงานเด่นชัดนัก อาจเป็นไปได้ว่าผมดูผิด ถ้าใช่ก็ยินดีให้ทักท้วง ประวัติการมีส่วนร่วม
อยากให้ใครสักคนที่รู้เรื่องการตัดสินใจของ Ruby Central มากกว่านี้ออกมาอธิบายสถานการณ์ ตอนนี้มันชวนสับสน เพราะยังมีประเด็นเก่าเรื่องการจัดคอนเฟอเรนซ์ซ้อนอยู่ด้วย ช่วงหลังดูเหมือนพวกเขาจะยุ่งกับการเปิดตัวพอดแคสต์ การระดมทุน และแคมเปญอีเมล เลยสงสัยว่ามีการเปลี่ยนตัวผู้นำหรือไม่
ใช่ ช่วงหลังเพิ่งมีการจ้าง Executive Director คนใหม่
ผมยังไม่เข้าใจชัดเจนอยู่ดีว่าทำไมถึงยุติ RailsConf เดาว่าอาจเป็นเพราะสปอนเซอร์หลักไปหนุน Rails World แทน
ตอนอยู่ที่ Shopify ผมเป็นคนแรกที่เสนอว่าเราควรสนับสนุนเงินให้ RubyGems (และโดยอ้อมก็คือ Ruby Central) แต่ตอนนี้กลับเกิดเรื่องแบบนี้ขึ้น จึงรู้สึกละอายที่ตัวเองมีส่วนทำให้มันเป็นไปได้
ผมเคยสบายใจที่ชุมชน Ruby ดูเหมือนจะรอดพ้นจากข้อพิพาทเล็ก ๆ น้อย ๆ หรือการเข้ายึดการดูแลโดยอ้างเจตนาดีมาได้อย่างน่าอัศจรรย์ แต่ตอนนี้คงไม่ใช่อีกแล้ว อยากบอกผู้ดูแลทุกคนจริง ๆ ว่ารู้สึกเสียใจกับสิ่งที่เกิดขึ้น
Ruby Central จำเป็นต้องอธิบายให้ชัดว่ากำลังทำอะไรอยู่ เพราะเท่าที่เห็นตอนนี้ มันดูค่อนข้างทำลายล้างและการสื่อสารก็แย่มาก