กฎหมายความปลอดภัยออนไลน์ของสหราชอาณาจักรสร้างความเสียหายต่อการพัฒนาโอเพ่นซอร์ส เมื่อคลังรหัสหลักปิดกั้นการเข้าถึง

ทีมชุมชน BigGo
กฎหมายความปลอดภัยออนไลน์ของสหราชอาณาจักรสร้างความเสียหายต่อการพัฒนาโอเพ่นซอร์ส เมื่อคลังรหัสหลักปิดกั้นการเข้าถึง

กฎหมายความปลอดภัยออนไลน์ของสหราชอาณาจักรสร้างความเสียหายต่อการพัฒนาโอเพ่นซอร์ส เมื่อคลังรหัสหลักปิดกั้นการเข้าถึง

ปัญหาทางเทคนิคที่ส่งผลต่อการสร้างแพ็คเกจ NixOS ได้เผยให้เห็นผลกระทบในวงกว้างของกฎหมาย Online Safety Act 2023 ของสหราชอาณาจักร โดยนักพัฒนาในสหราชอาณาจักรไม่สามารถเข้าถึงคลังรหัสโอเพ่นซอร์สที่สำคัญได้ ปัญหานี้เกิดขึ้นเมื่อ repo.or.cz ซึ่งเป็นบริการโฮสต์ Git ที่มีมายาวนาน เริ่มปิดกั้นการเชื่อมต่อทั้งหมดจากที่อยู่ IP ในสหราชอาณาจักร โดยอ้างถึงภาระการปฏิบัติตามกฎหมายที่สูงจนรับไม่ไหวซึ่งถูกบังคับใช้โดยกฎหมายใหม่นี้

การวิเคราะห์ทางเทคนิค: เมื่อการสร้างแพ็คเกจล้มเหลว

นักพัฒนาที่พยายามสร้างแพ็คเกจเช่น docutils, tinycc และ cdimgtools บนระบบที่ตั้งอยู่ในสหราชอาณาจักรประสบกับความล้มเหลวที่ไม่สามารถเข้าใจได้ ฟังก์ชัน fetchFromRepoOrCz ใน Nixpkgs ซึ่งออกแบบมาเพื่อดาวน์โหลดซอร์สโค้ดจาก repo.or.cz กำลังส่งคืนหน้าเว็บข้อผิดพลาด HTML แทนที่ไฟล์เก็บถาวรซอร์สโค้ดที่คาดหวังไว้ เมื่อระบบพยายามแกะไฟล์เหล่านี้ พวกเขาได้รับข้อผิดพลาด not in gzip format เนื่องจากสิ่งที่ดาวน์โหลดมาคือข้อความการปิดกั้นตามภูมิศาสตร์ แทนที่จะเป็นโค้ดจริง

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

หมายเหตุ: NixOS คือการกระจาย Linux ที่รู้จักจากค่าการกำหนดค่าเชิงประกาศและการสร้างที่สามารถทำซ้ำได้ ทำให้การเข้าถึงซอร์สโค้ดที่เชื่อถือได้เป็นสิ่งสำคัญต่อการทำงานของมัน

แพ็กเกจที่ได้รับผลกระทบใน NixOS:

  • tinycc (Tiny C Compiler)
  • cdimgtools (เครื่องมือจัดการอิมเมจ CD)
  • docutils (ยูทิลิตี้เอกสาร Python)
  • syslinux (Boot loader)
  • glpng (ไลบรารี OpenGL PNG)
  • windowmaker (Window manager, ประกาศไว้แต่ไม่ได้ใช้งาน)
  • nvim-treesitter (Neovim parser, ประกาศไว้แต่ไม่ได้ใช้งาน)

พื้นหลังทางกฎหมาย: เหตุใดคลังรหัสจึงปิดกั้นสหราชอาณาจักร

การตัดสินใจของ Repo.or.cz เกิดจากกฎหมาย Online Safety Act 2023 ของสหราชอาณาจักร ซึ่งกำหนดให้เว็บไซต์ที่โฮสต์เนื้อหาที่สร้างโดยผู้ใช้ต้องดำเนินการประเมินความเสี่ยงอย่างกว้างขวางและใช้ระบบการยืนยันอายุ ทีมผู้ให้บริการอธิบายตำแหน่งของพวกเขาบนหน้าเพจที่ปิดกั้นโดยระบุว่าการปฏิบัติตามกฎหมายจะต้องเกี่ยวข้องกับการอ่านแนวทางทางกฎหมายหลายพันหน้า ซึ่งเป็นงานที่เป็นไปไม่ได้สำหรับการดำเนินงานที่บริหารโดยอาสาสมัคร

กฎหมายนี้มีค่าปรับที่อาจสูงถึง 18 ล้านปอนด์สเตอร์ลิง (ประมาณ 22 ล้านดอลลาร์สหรัฐ) ซึ่งทีม repo.or.cz อธิบายว่ามันจะ ทำลายชีวิต สำหรับอาสาสมัครแต่ละคน การประเมินของพวกเขาสรุปว่ากฎหมายนี้ตั้งใจให้คลุมเครือ ตั้งใจให้รุนแรงในบทบัญญัติการบังคับใช้ และมุ่งเป้าโดยเฉพาะต่อเว็บไซต์ทุกขนาด รวมถึงโครงการงานอดิเรก มุมมองนี้สะท้อนถึงความกังวลที่เพิ่มขึ้นในหมู่ผู้ให้บริการรายย่อยเกี่ยวกับขอบเขตที่กว้างขวางของกฎหมาย

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

ประเด็นสำคัญของ Online Safety Act 2023:

  • กำหนดให้ต้องมีการประเมินความเสี่ยงสำหรับเว็บไซต์ที่มีเนื้อหาที่ผู้ใช้สร้างขึ้น
  • บังคับใช้ระบบยืนยันอายุ
  • ค่าปรับสูงสุด: 18 ล้านปอนด์ (~22 ล้านดอลลาร์สหรัฐ)
  • ใช้กับเว็บไซต์ทุกขนาด รวมถึงโครงการอาสาสมัคร
  • บทบัญญัติการบังคับใช้ถูกอธิบายว่า "รุนแรงโดยเจตนา"

ปฏิกิริยาจากชุมชน: จากปัญหาทางเทคนิคสู่การอภิปรายทางการเมือง

ปัญหาทางเทคนิคได้จุดประกายการอภิปรายที่กว้างขึ้นอย่างรวดเร็วเกี่ยวกับเสรีภาพทางอินเทอร์เน็ตและการบังคับใช้กฎหมายที่มากเกินไป นักพัฒนาหลายคนแสดงการสนับสนุนแนวทางที่ระมัดระวังของ repo.or.cz โดยตระหนักว่าการดำเนินงานขนาดเล็กไม่สามารถสู้คดีทางกฎหมายหรือจ่ายค่าปรับจำนวนมหาศาลได้ คนอื่นๆ ชี้ให้เห็นความคล้ายคลึงกับการปิดกั้นที่อยู่ IP ของรัสเซีย แม้จะด้วยเหตุผลที่ต่างกัน - ในขณะที่การปิดกั้นของรัสเซียมักเกิดจากความกังวลด้านความปลอดภัย การปิดกั้นสหราชอาณาจักรแสดงถึงการตอบสนองต่อความเสี่ยงด้านกฎระเบียบ

การสนทนาเปิดเผยความคิดเห็นที่แบ่งออกเกี่ยวกับตัวกฎหมาย Online Safety Act เอง บางคนปกป้องเจตนาของกฎหมายในการปกป้องเด็กออนไลน์ ในขณะที่คนอื่นๆ โต้แย้งว่ามันสร้างผลที่ตามมาโดยไม่ตั้งใจซึ่งเป็นอันตรายต่อทรัพยากรทางเทคนิคและทางการศึกษาที่ถูกต้อง เหตุการณ์นี้แสดงให้เห็นว่ากฎหมายที่มีเจตนาดีสามารถรบกวนระบบนิเวศโอเพ่นซอร์สซึ่งเป็นรากฐานของการพัฒนาซอฟต์แวร์สมัยใหม่โดยไม่ได้ตั้งใจได้อย่างไร

ภาพรวมที่ใหญ่ขึ้น: ความกังวลเกี่ยวกับการแบ่งแยกทางอินเทอร์เน็ต

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

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

รายละเอียดผลกระทบทางเทคนิค:

  • ข้อผิดพลาดในการ Build: "gzip: stdin: not in gzip format"
  • แหล่งที่มา: ฟังก์ชัน fetchFromRepoOrCz ใน Nixpkgs
  • เปลี่ยนเส้นทางไปยัง: https://repo.or.cz/uk-blocked.html
  • ผู้ใช้ที่ได้รับผลกระทบ: นักพัฒนาที่อยู่ในสหราชอาณาจักรที่ทำการ build จากซอร์สโค้ด
  • วิธีแก้ไขชั่วคราว: ใช้ binary caches หรือบริการ VPN

มองไปข้างหน้า: วิธีแก้ปัญหาและทางออก

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

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

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

อ้างอิง: Build failure: tinycc, cdimgtools, docutils and other packages using fetchFromRepoOrCz cannot download sources from the UK #444342