ชุมชน Ruby แบ่งฝ่ายจากอิทธิพลของบริษัทและเงินทุนโอเพนซอร์ส

ทีมชุมชน BigGo
ชุมชน Ruby แบ่งฝ่ายจากอิทธิพลของบริษัทและเงินทุนโอเพนซอร์ส

ชุมชนภาษาโปรแกรม Ruby กำลังเผชิญกับความขัดแย้งรอบด้านเกี่ยวกับอิทธิพลขององค์กร รูปแบบเงินทุนโอเพนซอร์ส และการควบคุมโครงสร้างพื้นฐานสำคัญ หัวใจของข้อถกเถียงอยู่ที่การมีส่วนร่วมอย่างมากของ Shopify ต่อระบบนิเวศ Ruby และการเปลี่ยนแปลงการกำกับดูแลล่าสุดต่อเครื่องมือสำคัญอย่าง RubyGems และ Bundler

ปัญหาการมีส่วนร่วมขององค์กร

การอภิปรายล่าสุดได้เน้นย้ำถึงความสัมพันธ์ที่ซับซ้อนระหว่างองค์กรธุรกิจและชุมชนโอเพนซอร์ส Shopify มีทีม Ruby & Rails Infrastructure Team (R&RI) โดยเฉพาะซึ่งมีวิศวกรประมาณ 40 คนที่มีส่วนร่วมอย่างแข็งขันในการพัฒนา Ruby core และโปรเจกต์โอเพนซอร์สมากมาย ทีมนี้มีหน้าที่รับผิดชอบในการปรับปรุงครั้งสำคัญรวมถึงเทคโนโลยีคอมไพเลอร์ YJIT/ZJIT การปรับปรุงการเก็บขยะ (garbage collection) และตัวแจกแจง Prism

ชุมชนดูเหมือนจะแบ่งออกในประเด็นว่าการมีส่วนร่วมขององค์กรเป็นการสนับสนุนอย่างแท้จริงหรือเป็นการบีบบังคับที่อาจเกิดขึ้น บางความเห็นระบุว่าการมีส่วนร่วมทางวิศวกรรมขององค์กรสร้างการพัฒนาที่ยั่งยืนโดยไม่มีการพึ่งพาทางการเงินเช่นที่การบริจาคเงินอาจสร้างขึ้น ในขณะที่บางส่วนตั้งคำถามว่าควรมีบริษัทเดียวที่มีอิทธิพลสำคัญเช่นนี้ต่อโครงสร้างพื้นฐานของชุมชนหรือไม่

ข้อสรุปตามตรรกะของข้อโต้แย้งนี้คือ หากคุณดูแลโครงสร้างพื้นฐานที่สำคัญซึ่งมี 'คูน้ำกั้นที่ใหญ่' คุณดูเหมือนจะถูกคาดหวังให้อยู่อย่างยากจน หรือมอบมันให้กับบริษัทที่มีรายได้ 2.68 พันล้านดอลลาร์ต่อไตรมาส เพราะการพยายามหาค่าใช้จ่ายในการดำรงชีวิต 60,000 ดอลลาร์ต่อปีจาก rubygems นั้นเป็นเรื่องที่เกินรับไหว

ผลงานสำคัญของบริษัทที่มีส่วนร่วมในระบบนิเวศ Ruby:

  • YJIT/ZJIT: การปรับปรุงคอมไพเลอร์แบบ Just-In-Time
  • Variable Width Allocation: การปรับปรุงระบบเก็บขยะ (Garbage collection)
  • Prism: ตัวแยกวิเคราะห์ (Parser) สากลสำหรับ Ruby
  • การปรับปรุง Ractors: ฟีเจอร์สำหรับการทำงานพร้อมกัน (Concurrency)
  • มีผู้ร่วมพัฒนาหลักของ Ruby เพิ่มขึ้นหลายคน

รูปแบบเงินทุนและความสงสัย

ความขัดแย้งนี้ทำให้เกิดการตรวจสอบวิธีการระดมทุนที่แตกต่างกันสำหรับการบำรุงรักษาโอเพนซอร์ส แบบจำลองของ Shopify ที่มีส่วนร่วมเป็นเวลาทำงานของวิศวกรรมแทนการบริจาคเงินสดโดยตรงถูกนำเสนอว่าเป็นการหลีกเลี่ยงแรงจูงใจที่บิดเบือนซึ่งอาจส่งผลต่อทิศทางของโปรเจกต์ อย่างไรก็ตาม มุมมองนี้ได้รับการวิพากษ์วิจารณ์จากผู้ที่เชื่อว่าผู้ดูแลสมควรได้รับค่าตอบแทนทางการเงินสำหรับงานของพวกเขาในโครงสร้างพื้นฐานที่สำคัญ

สมาชิกในชุมชนได้แสดงความสับสนเกี่ยวกับข้อกล่าวหาที่ว่า RubyGems และ Bundler กำลังถูกทำให้เกิดรายได้โดยผู้ดูแลหลัก โดยมีผู้แสดงความคิดเห็นหนึ่งระบุว่า: มันแปลกที่จะพูดถึงเรื่องนี้โดยปราศจากหลักฐาน นี่คือการล่าแม่มดหรือไม่? ข้อกล่าวหาที่ไม่ธรรมดาต้องการหลักฐานที่ไม่ธรรมดา การขาดหลักฐานที่ชัดเจนได้ทำให้ผู้สังเกตการณ์หลายคนไม่แน่ใจว่าเกิดอะไรขึ้นจริงๆ

โมเดลการระดมทุนที่อยู่ในการพิจารณา:

  • การสนับสนุนด้วยเวลาทำงานของวิศวกรจากบริษัท (แนวทางของ Shopify)
  • การสนับสนุนทางการเงินโดยตรง (Ruby Shield: 1 ล้านดอลลาร์สหรัฐ ตลอด 4 ปี)
  • ผู้ดูแลระบบระดมทุนด้วยตนเองผ่านผลิตภัณฑ์เสริม
  • การบริจาคจากชุมชนและการสนับสนุนจากงานประชุม

การเปลี่ยนแปลงการกำกับดูแลและความไว้วางใจของชุมชน

การโอนความเป็นเจ้าขององค์กร GitHub ของ Bundler และ RubyGems CLI ไปยัง Ruby Central เมื่อไม่นานมานี้ได้จุดประกายการโต้เถียงอย่างรุนแรง ในขณะที่สมาชิกชุมชนบางส่วนอ้างว่านี่เป็นผลมาจากแรงกดดันจากองค์กร บางส่วนกลับปกป้องการเปลี่ยนแปลงเหล่านี้ว่าจำเป็นเพื่อความปลอดภัยและความยั่งยืน สถานการณ์นี้เน้นย้ำถึงความท้าทายในการรักษาความไว้วางใจของชุมชนเมื่อโครงสร้างพื้นฐานสำคัญเปลี่ยนมือ

ผู้แสดงความคิดเห็นหลายคนได้แสดงความ frust กับการขาดความโปร่งใส surrounding เหตุการณ์เหล่านี้ หนึ่งในนั้นระบุว่า: มันยากสำหรับฉันที่จะเข้าใจว่าจิตใจของผู้เขียนบล็อกโพสต์แบบนี้เป็นอย่างไร ที่พยายามให้บริบทโดยให้ประวัติศาสตร์โดยละเอียดอย่างยิ่ง... จนกระทั่งถึงข้อขัดแย้งที่เกิดขึ้นจริง ซึ่งในจุดนั้น ข้อกล่าวหาเดียวที่ทำคือการพูดพาดพิงอย่างคลุมเครือว่ามีเรื่องราวมากกว่านี้ ความรู้สึกนี้สะท้อนถึงความกังวลในวงกว้างของชุมชนเกี่ยวกับกระบวนการตัดสินใจที่ทึบแสง

โครงสร้างพื้นฐานสำคัญของ Ruby:

  • RubyGems: ตัวจัดการแพ็กเกจและรูปแบบ gem
  • Bundler: การจัดการ dependency
  • ทั้งสองเครื่องมือมี "massive moat" เนื่องจากการผสานรวมอย่างลึกซึ้งกับ Ruby

คำถามเรื่องความยั่งยืน

ภายใต้ความขัดแย้งปัจจุบันคือคำถามพื้นฐานเกี่ยวกับวิธีการบำรุงรักษาโครงสร้างพื้นฐานโอเพนซอร์สที่สำคัญอย่างยั่งยืน การอภิปรายได้ขยายออกไปนอกเหนือจาก Ruby เพื่อตรวจสอบว่าโปรเจกต์โอเพนซอร์สที่ประสบความสำเร็จอื่นๆ จัดการกับการมีส่วนร่วมขององค์กรอย่างไร บางส่วนชี้ไปที่ Linux เป็นตัวอย่างของความร่วมมือระหว่างองค์กรที่ดี ในขณะที่บางส่วนกังวลเกี่ยวกับการรวมศูนย์อำนาจ

การอภิปรายนี้เกี่ยวข้องกับว่าผู้ดูแลเครื่องมือสำคัญควรได้รับค่าตอบแทนทางการเงินหรือไม่ หรือการมีส่วนร่วมทางวิศวกรรมขององค์กรแสดงถึงรูปแบบการสนับสนุนที่บริสุทธิ์กว่า ความตึงเครียดระหว่างความยั่งยืนทางการเงินและความเป็นอิสระของโปรเจกต์ดูเหมือนจะยังไม่ได้รับการแก้ไข โดยสมาชิกชุมชนแสดงความกังวลที่มีเหตุผลจากทั้งสองฝ่ายของปัญหา

มองไปข้างหน้า

ความท้าทายปัจจุบันของชุมชน Ruby สะท้อนถึงแนวโน้มที่กว้างขึ้นในความยั่งยืนของโอเพนซอร์ส ในขณะที่องค์กรต่างๆ พึ่งพาซอฟต์แวร์โอเพนซอร์สมากขึ้นเรื่อยๆ ความสัมพันธ์ระหว่างบริษัทและชุมชนก็ยังคงพัฒนา ผลลัพธ์ของปัญหาเหล่านี้อาจกำหนดบรรทัดฐานสำคัญสำหรับวิธีการที่ภาษาโปรแกรมและระบบนิเวศอื่นๆ จัดการกับความตึงเครียดที่คล้ายกัน

สิ่งที่ยังคงชัดเจนคือทั้งการมีส่วนร่วมขององค์กรและการจ่ายค่าตอบแทนผู้ดูแลมีบทบาทสำคัญในความยั่งยืนของโอเพนซอร์ส การหาความสมดุลที่เหมาะสมระหว่างแนวทางเหล่านี้ ในขณะที่รักษาความไว้วางใจของชุมชนและความเป็นอิสระของโปรเจกต์ เป็นตัวแทนความท้าทายหลักในการก้าวไปข้างหน้า การจัดการสถานการณ์นี้ของชุมชน Ruby อาจให้บทเรียนที่มีค่าสำหรับโลกโอเพนซอร์สที่กว้างขึ้น

อ้างอิง: Dear Rubyists: Shopify Isn't Your Enemy