Ruby Central ได้เข้าควบคุมโปรเจกต์โอเพนซอร์ส RubyGems และ Bundler ในสิ่งที่ผู้ดูแลและสมาชิกชุมชนเรียกว่าการเข้ายึดครองแบบไม่เป็นมิตรที่ Shopify เป็นผู้จัดการ การเคลื่อนไหวครั้งนี้ส่งผลกระทบอย่างรุนแรงต่อชุมชนโปรแกรมเมอร์ Ruby และทำให้เกิดคำถามสำคัญเกี่ยวกับอิทธิพลของบริษัทต่อโครงสร้างพื้นฐานโอเพนซอร์สที่สำคัญ
ความขัดแย้งเริ่มต้นขึ้นเมื่อ Sidekiq ไลบรารี Ruby ยอดนิยมสำหรับการประมวลผลงานเบื้องหลัง ถอนการสนับสนุนทางการเงินจำนวน 250,000 ดอลลาร์สหรัฐต่อปีจาก Ruby Central การตัดสินใจนี้เกิดขึ้นหลังจาก Ruby Central ประกาศว่า David Heinemeier Hansson (DHH) ผู้สร้าง Ruby on Rails จะเป็นวิทยากรใน RailsConf 2023 DHH เพิ่งเผยแพร่บล็อกโพสต์ที่ถกเถียงกันซึ่งสนับสนุนนักเคลื่อนไหวฝ่ายขวาจัดและแสดงความเห็นที่หลายคนในชุมชนมองว่าเป็นการเหยียดเชื้อชาติและชาตินิยม
แรงกดดันทางการเงินและคำขาดสุดท้าย
เมื่อ Sidekiq ถอนเงินทุนแล้ว Ruby Central กลายเป็นองค์กรที่พึ่งพา Shopify เกือบทั้งหมดในการสนับสนุนทางการเงิน จากแหล่งข่าวหลายแห่ง Shopify จึงออกคำขาดสุดท้ายให้ Ruby Central ว่า ให้เข้าควบคุม GitHub repositories ของ RubyGems อย่างเต็มรูปแบบและถอดผู้ดูแลบางคนออก หรือจะสูญเสียเงินทุนทั้งหมด กำหนดเวลาค่อนข้างกระชั้นชิด โดยให้ Ruby Central เวลาน้อยกว่า 24 ชั่วโมงในการปฏิบัติตาม
แรงกดดันนี้ถูกอธิบายโดยสมาชิกคณะกรรมการ Ruby Central คนหนึ่งว่าเป็นการเลือกระหว่างการทำตามข้อเรียกร้องของ Shopify หรือลงมติเริ่มกระบวนการปิด Ruby Central Shopify เรียกร้องโดยเฉพาะให้ André Arko ผู้ดูแลที่ทำงานใน RubyGems มานานกว่าทศวรรษ ถูกแยกออกจากโปรเจกต์
รายละเอียดทางการเงินที่สำคัญ:
- Sidekiq ถอนการสนับสนุนประจำปีจำนวน 250,000 ดอลลาร์สหรัฐจาก Ruby Central
- Ruby Central กลายเป็นองค์กรที่พึ่งพาเงินทุนจาก Shopify เกือบทั้งหมดหลังจากการถอนตัวดังกล่าว
- Shopify ให้เวลา Ruby Central น้อยกว่า 24 ชั่วโมงในการปฏิบัติตามข้อเรียกร้อง
การดำเนินการยึดครอง
เมื่อวันที่ 9 กันยายน Hiroshi Shibata (HSBT) สมาชิกทีมหลัก Ruby และผู้ดูแล RubyGems ได้โอนความเป็นเจ้าขององค์กร RubyGems GitHub ให้กับ Ruby Central และเพิ่ม Marty Haught เป็นเจ้าของ การกระทำนี้ดำเนินการโดยไม่ได้รับความยินยอมจากผู้ดูแลคนอื่นๆ ซึ่งได้กำหนดขั้นตอนสำหรับการเพิ่มสมาชิกทีมใหม่ไว้แล้ว
เมื่อผู้ดูแลคนอื่นๆ เผชิญหน้า HSBT ในตอนแรกปฏิเสธที่จะย้อนกลับการเปลี่ยนแปลง แม้ว่าสิทธิ์บางอย่างจะได้รับการคืนกลับชั่วคราวหลังจากผู้ดูแลคัดค้าน แต่ Marty Haught ยังคงเป็นเจ้าของอยู่ เมื่อวันที่ 18 กันยายน คณะกรรมการ Ruby Central ลงมติดำเนินการยึดครองอย่างเต็มรูปแบบ และผู้ดูแลถูกถอดออกจากองค์กร GitHub อย่างเป็นระบบและถูกตัดสิทธิ์ความเป็นเจ้าของ gem
ไทม์ไลน์ของเหตุการณ์:
- กรกฎาคม 2023: Ruby Central ประกาศว่า DHH จะมาพูดในงาน RailsConf
- 9 กันยายน: HSBT โอนความเป็นเจ้าขององค์กร GitHub ของ RubyGems ให้กับ Ruby Central
- 13 กันยายน: การเปลี่ยนแปลงบางอย่างถูกย้อนกลับชั่วคราว แต่ Marty Haught ยังคงเป็นเจ้าของ
- 17 กันยายน: การประชุมระหว่างผู้ดูแลและ Ruby Central
- 18 กันยายน: คณะกรรมการ Ruby Central ลงมติให้ดำเนินการยึดครองแบบเต็มรูปแบบ
- 19 กันยายน: DHH เปิดเผยข่าวสถานการณ์นี้ต่อสาธารณะ
ข้ออ้างด้านความปลอดภัยของ Supply Chain
Ruby Central ให้เหตุผลสำหรับการกระทำของพวกเขาโดยอ้างถึงความกังวลด้านความปลอดภัยของ supply chain โดยอ้างอิงการโจมตีล่าสุดต่อ package managers อย่าง npm อย่างไรก็ตาม สมาชิกชุมชนได้ชี้ให้เห็นความแตกต่างที่สำคัญที่ Ruby Central ดูเหมือนจะปกปิดโดยเจตนา RubyGems Service (เว็บไซต์ rubygems.org ที่ Ruby Central ดำเนินการ) แยกจาก repositories ซอร์สโค้ด RubyGems ที่ชุมชนดูแล
Ruby Central มีสิทธิ์ล็อกดาวน์โครงสร้างพื้นฐาน RubyGems Service แต่ไม่เคยเป็นเจ้าของ GitHub repositories ของ RubyGems
ผู้ดูแลไม่มีการคัดค้านต่อการที่ Ruby Central รักษาความปลอดภัยการเข้าถึงบริการการผลิตที่พวกเขาดำเนินการ ความขัดแย้งมุ่งเน้นไปที่การที่ Ruby Central ยึดครอง repositories ซอร์สโค้ดโอเพนซอร์สที่พวกเขาไม่เคยเป็นเจ้าของ ซึ่งพัฒนาโดยอาสาสมัครมานานหลายปี
ความกังวลเรื่องเครื่องมือแข่งขัน
เพิ่มอีกชั้นหนึ่งให้กับความขัดแย้ง ผู้ดูแลบางคนที่ถูกถอดออกเพิ่งประกาศเครื่องมือจัดการ Ruby ใหม่ชื่อ rv ผ่านสหกรณ์ของพวกเขาที่เรียกว่า Spiral Rafael França พนักงาน Shopify และสมาชิกทีมหลัก Rails แสดงความไม่ไว้วางใจต่อผู้ดูแลเหล่านี้อย่างเปิดเผย โดยแนะนำว่าพวกเขาอาจทำลาย rubygems หรือ bundler เนื่องจากโปรเจกต์แข่งขันของพวกเขา
ปฏิกิริยานี้ทำให้หลายคนในชุมชนงงงวย เนื่องจากการแข่งขันและนวัตกรรมในเครื่องมือ package management โดยทั่วไปได้รับการต้อนรับในระบบนิเวศการเขียนโปรแกรมอื่นๆ เช่น Python ที่เครื่องมือหลายตัวอยู่ร่วมกันได้โดยไม่มีปัญหา
ผู้เล่นหลัก:
- Ruby Central: องค์กรไม่แสวงหาผลกำไรที่ดำเนินการบริการ RubyGems
- Shopify: ผู้สนับสนุนองค์กรรายใหญ่ที่มี DHH อยู่ในคณะกรรมการ
- Sidekiq: บริษัทคนเดียวที่ถอนเงินทุนสนับสนุนจำนวน 250,000 ดอลลาร์ต่อปี
- André Arko: ผู้ดูแล RubyGems ที่ถูกกำหนดเป้าหมายเฉพาะเจาะจงให้ถูกถอดออก
- HSBT ( Hiroshi Shibata ): สมาชิกหลักของ Ruby ที่ดำเนินการโอนความเป็นเจ้าของในช่วงแรก
- Marty Haught: กรรมการ Ruby Central ที่ถูกเพิ่มเป็นเจ้าขององค์กร GitHub
การตอบสนองของชุมชนและผลกระทบ
การยึดครองทำให้ชุมชน Ruby แตกแยก โดยผู้มีส่วนร่วมที่มีประสบการณ์ยาวนานหลายคนแสดงความกังวลเกี่ยวกับแบบอย่างที่สร้างขึ้นสำหรับการควบคุมของบริษัทต่อโครงสร้างพื้นฐานโอเพนซอร์ส สมาชิกชุมชนบางคนเรียกร้องให้ fork โปรเจกต์ที่ได้รับผลกระทบและบริการโฮสติ้ง gem ทางเลือก
ความขัดแย้งนี้เน้นย้ำถึงความเปราะบางของโปรเจกต์โอเพนซอร์สที่พึ่งพาผู้สนับสนุนบริษัทใหญ่เพียงไม่กี่ราย เมื่อเงินทุนกระจุกตัวอยู่ในมือของบริษัทหนึ่งหรือสองบริษัท องค์กรเหล่านั้นสามารถควบคุมทิศทางและการกำกับดูแลของโปรเจกต์โครงสร้างพื้นฐานที่สำคัญได้อย่างมีประสิทธิภาพ
สถานการณ์นี้ยังทำให้เกิดคำถามเกี่ยวกับอนาคตของ Ruby ในฐานะภาษาโปรแกรม เนื่องจากผู้ดูแลที่มีชื่อเสียงหลายคนได้ระบุว่าพวกเขาอาจก้าวออกจากระบบนิเวศนี้ทั้งหมด เมื่อ Ruby กำลังเผชิญกับความท้าทายในการรักษาส่วนแบ่งตลาดเมื่อเทียบกับภาษาใหม่ๆ ความขัดแย้งภายในนี้อาจเร่งการย้ายของนักพัฒนาไปยังแพลตฟอร์มอื่น
ชุมชน Ruby ตอนนี้เผชิญกับความท้าทายในการสร้างความไว้วางใจขึ้นใหม่และสร้างโครงสร้างการกำกับดูแลที่แข็งแกร่งกว่าที่สามารถต้านทานแรงกดดันจากบริษัทในขณะที่ยังคงรักษาจิตวิญญาณการทำงานร่วมกันที่กำหนดลักษณะของระบบนิเวศในอดีต
อ้างอิง: Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover