ตอบโต้ผู้ใช้ร้องขอ Facebook เพื่อออกใบอนุญาต React.js อีกครั้งหลังจาก Apache Software Foundation แบนใบอนุญาต BSD + Patent ในการพึ่งพา
เผยแพร่แล้ว: 2017-07-18
มูลนิธิซอฟต์แวร์ Apache ได้ออกประกาศในช่วงสุดสัปดาห์ที่ผ่านมา โดยระบุว่าได้เพิ่มใบอนุญาต BSD+Patents ของ Facebook ในรายการประเภทใบอนุญาตที่ไม่ได้รับอนุญาตสำหรับสมาชิก Apache PMC หมวดหมู่ X นี่คือใบอนุญาตที่ Facebook ใช้สำหรับโครงการโอเพ่นซอร์สส่วนใหญ่
ตัวแทนจากทีม RocksDB ของ Facebook แสดงความคิดเห็นในโพสต์ของมูลนิธิ Apache เพื่อแนะนำว่าโครงการจะตรงตามเส้นตายวันที่ 31 สิงหาคมสำหรับการออกใบอนุญาตใหม่ เพื่อให้เป็นไปตามข้อกำหนดของสมาชิก Apache PMC และการเปลี่ยนแปลงดังกล่าวได้เกิดขึ้นในวันนี้:
ทีมงาน RocksDB กำลังปรับปรุงการออกใบอนุญาตเพื่อให้ได้รับใบอนุญาตแบบคู่ภายใต้ใบอนุญาต Apache 2 และ GPL 2 (สำหรับความเข้ากันได้ของ MySQL) สิ่งนี้จะเกิดขึ้นในไม่ช้าและก่อนวันที่ 31 สิงหาคม ฉันจะทิ้งประวัติศาสตร์และปรัชญาเกี่ยวกับการออกใบอนุญาตไว้ตามลำพัง เนื่องจากโดยทั่วไปแล้วจะต้องมีการอภิปรายที่ซับซ้อน และฉันไม่แน่ใจว่าข้อมูลดังกล่าวจะถูกนำมาใช้อย่างครบถ้วนในกระทู้นี้โดยเฉพาะอย่างยิ่งเมื่อเห็นเจตนาของ Facebook
หวังว่าคำแนะนำในเช้าวันนี้สำหรับ PMC จะสามารถปรับได้ เนื่องจากฉันไม่คิดว่าพวกเราคนใดจะเห็นว่าความพยายามด้านวิศวกรรมเพิ่มเติมจำนวนมากเป็นสิ่งที่พึงปรารถนาในโครงการ ASF ที่ใช้ RocksDB อยู่แล้ว
ในแง่ของการตัดสินใจของคณะกรรมการกิจการกฎหมาย ASF ที่ไม่อนุญาตให้ใช้ใบอนุญาต BSD+Patents ในโครงการ Apache สมาชิก ASF Joan Touzet ได้เปิดประเด็นเกี่ยวกับที่เก็บ React ที่เรียกร้องให้ Facebook พิจารณาการอนุญาตให้ใช้สิทธิ์ React.js อีกครั้งภายใต้ Apache License v2.0 และ GPL 2 :
สิ่งนี้นำไปสู่ความไม่พอใจและความคับข้องใจมากมายในชุมชน Apache โดยเฉพาะอย่างยิ่งจากโครงการที่ต้องใช้รหัสที่ได้รับอนุญาตในทำนองเดียวกันเป็นการพึ่งพาโดยตรง – หัวหน้าของสิ่งเหล่านี้คือ RocksDB
เรา (มูลนิธิซอฟต์แวร์ Apache) เพิ่งได้รับแจ้งว่า RocksDB จะอนุญาตให้ใช้รหัสใหม่ภายใต้ใบอนุญาต Apache License v2.0 และ GPL 2 แบบคู่
ในฐานะผู้ใช้ React.JS ในโครงการระดับบนสุดของ ASF (Apache CouchDB) โปรดพิจารณาให้สิทธิ์ใช้งาน React.JS อีกครั้งภายใต้เงื่อนไขที่คล้ายคลึงกัน มิฉะนั้น โครงการ ASF จำนวนมากเช่นของเราเองจะต้องหยุดพึ่งพาและสร้างด้วย React
แม้ว่าการออกใบอนุญาตใหม่ของ RocksDB จะแก้ปัญหาของโปรเจ็กต์นั้นได้ แต่การห้ามใช้ใบอนุญาต BSD+Patents ของ Facebook ของ ASF หมายถึงเทคโนโลยีที่ใช้กันอย่างแพร่หลายจาก Facebook รวมถึง React.js ยังคงถูกแบน นี้มีแนวโน้มที่จะก่อให้เกิดปัญหาสำหรับโครงการโอเพ่นซอร์สจำนวนมาก
Harshavardhana จากทีม Minio แสดงความคิดเห็นเพื่อสนับสนุนคำร้องต่อ Facebook เพื่อขอใบอนุญาต React
“ UI เบราว์เซอร์การจัดเก็บวัตถุของเรานั้นใช้ React และเราได้รับอนุญาต Apache 2.0” เขากล่าว “การย้ายข้อมูลอาจเป็นเรื่องที่โชคร้ายและใช้เวลานาน แต่เราจะต้องทำเช่นนั้นแทนข้อมูลใหม่เกี่ยวกับความไม่ลงรอยกันของ Apache โปรดพิจารณาการออกใบอนุญาต React อีกครั้ง”
Contributors to Om ซึ่งเป็นอินเทอร์เฟซ ClojureScript สำหรับ React กำลังคุยกันว่าข้อกำหนดใหม่ของ ASF จะส่งผลต่อโครงการของพวกเขาหรือไม่ Greg Stein แสดงความคิดเห็นในนามของ ASF ได้ชี้แจงเหตุผลเบื้องหลังการตัดสินใจขององค์กรในการแบนใบอนุญาต BSD+Patents ของ Facebook:
โปรดทราบว่า ASF เลือกเส้นทางนี้ด้วยเหตุผลด้านนโยบาย มากกว่า "ความไม่ลงรอยกันของใบอนุญาต" เราไม่ต้องการให้ผู้ใช้ดาวน์สตรีมของโค้ด Apache ต้องแปลกใจกับการที่ PATENTS อนุญาตว่า (เคย) ใน RocksDB และ (คือ) ใน React ผู้ใช้ควรปฏิบัติตาม ALv2 เท่านั้น โดยไม่มีข้อจำกัดเพิ่มเติม
ใบอนุญาตเหล่านี้สามารถทำงานร่วมกันได้ (IMO) และให้ข้อจำกัดสองชุดแก่ผู้ใช้
Stein กล่าวว่าไม่ใช่ทนายความของ ASF ที่ตัดสินใจ แต่เป็นการตัดสินตามนโยบายขององค์กรที่จะ "ไม่อนุญาตให้ใช้ใบอนุญาต FB/BSD+Patent ผสมกับซอฟต์แวร์ที่ Foundation เผยแพร่ให้กับผู้ใช้"
Facebook กำลังหารือภายในเรื่อง Re-Licensing
Dan Abramov ผู้เขียนร่วมของ Redux, Create React App และ React Hot Loader เข้าร่วมการสนทนาบน GitHub เกี่ยวกับการให้สิทธิ์ใช้งานซ้ำ โดยมีการสรุปโดยย่อและคลุมเครือเกี่ยวกับวิธีที่ Facebook จัดการกับคำร้องเพื่อขอใบอนุญาตใหม่

“เพื่อให้ข้อมูลอัปเดตเล็กๆ น้อยๆ แก่คุณ จะมีการอภิปรายภายในเพิ่มเติมเกี่ยวกับเรื่องนี้เป็นเวลาประมาณหนึ่งสัปดาห์” Abramov กล่าว “นี่เป็นเรื่องเกี่ยวกับเท่าที่ฉันสามารถพูดได้ ฉันจะไม่มองโลกในแง่ดีเกินไปเกี่ยวกับการเปลี่ยนแปลงนี้สำหรับ React แต่เราจะได้เห็นกัน @ daveman692 ได้ตกลงที่จะให้ข้อมูลอัปเดตเมื่อการสนทนาสิ้นสุดลง”
การเพิกถอนการมอบสิทธิบัตรทั้งหมด ซึ่งเป็นวิธีที่สะดวกที่สุดในการแก้ปัญหานี้สำหรับโครงการโอเพ่นซอร์ส ไม่น่าจะเกิดขึ้น React ได้ผ่านการออกใบอนุญาตซ้ำสองครั้งในช่วงประวัติศาสตร์อันสั้น เดิมได้รับอนุญาตภายใต้ Apache 2.0 แต่มีการเปลี่ยนแปลงในเดือนตุลาคม 2014 เป็นใบอนุญาต BSD บวกกับการมอบสิทธิบัตรซึ่งรวมถึงข้อกำหนดในการยุติการโต้เถียงสูง ในเดือนเมษายน 2558 การให้สิทธิบัตรมีการเปลี่ยนแปลงเล็กน้อยเพื่อให้ผู้ได้รับอนุญาตใช้ซอฟต์แวร์ต่อไปได้ในกรณีที่คดีสิทธิบัตรไม่ได้รวมการเรียกร้องแย้งกับ Facebook หรือบริษัทในเครือในเรื่องที่ไม่เกี่ยวข้องกับ React.js
เงื่อนไขการยกเลิกในใบอนุญาต BSD+Patents ของ Facebook ยังคงไม่เป็นที่นิยม และผู้ดูแลโปรเจ็กต์โอเพนซอร์สหลายคนมองว่าน่าสงสัย เมื่อโปรเจ็กต์ Drupal เริ่มพิจารณาเฟรมเวิร์กฝั่งไคลเอ็นต์เพื่อแทนที่ Backbone.js Dries Buytaert ได้ส่งต่อ React ตามสิ่งที่เขากล่าวว่าเป็น “ประโยคสิทธิบัตรที่อาจยอมรับไม่ได้” โดยอ้างถึงการตอบรับจากผู้สนับสนุน Calypso และ React ของ WordPress.com
โครงการโอเพ่นซอร์สของ WordPress ยังไม่ได้ประกาศอย่างเป็นทางการว่าจะรวมกรอบงาน JavaScript ใดในคอร์ แต่สัญญาณทั้งหมดชี้ไปที่ React ตัวแก้ไข Gutenberg ที่กำลังจะมีขึ้นของ WordPress สร้างขึ้นจาก React และผู้สนับสนุนหลักคือพนักงาน Automattic ที่ทำงานเกี่ยวกับผลิตภัณฑ์ที่ใช้ React สำหรับ WordPress.com Gutenberg ยังคงเดินหน้าต่อไปอย่างไม่หยุดยั้งโดยไม่มีข้อบ่งชี้ของการเขียนใหม่ และ Matt Mullenweg ผู้ร่วมสร้าง WordPress ได้เปิดเผยเกี่ยวกับความชอบของเขาในการใช้ React
แม้ว่าที่ปรึกษากฎหมายของ Automattic จะบอกว่าบริษัทพอใจที่จะใช้ React สำหรับผลิตภัณฑ์ของตนภายใต้ใบอนุญาตปัจจุบันของโครงการ แต่คนอื่น ๆ ในชุมชน WordPress นั้นไม่คล้อยตามที่จะรวมกรอบงานในแกนหลัก
Open Source Initiative (OSI) รวมใบอนุญาต BSD+Patent ทั่วไปที่อยู่ในใบอนุญาตที่ได้รับอนุมัติ แต่ใบอนุญาต BSD+Patent เฉพาะของ Facebook ยังไม่ได้ส่ง Robert Pierce หุ้นส่วนของ El Camino Legal โต้แย้งว่าข้อกำหนดการยกเลิกใบอนุญาตควรไม่ได้รับอนุญาตในใบอนุญาตโอเพ่นซอร์ส เนื่องจากมีไว้เพื่อปกป้อง Facebook จากการดำเนินคดีสิทธิบัตรที่ไม่เกี่ยวข้องกับโค้ด React โดยสมบูรณ์:
Facebook ทำเป็นว่า React.js เป็นซอฟต์แวร์โอเพ่นซอร์ส แต่ในใจของฉัน บทบัญญัติการยุติใบอนุญาตของการให้สิทธิ์เพิ่มเติมของสิทธิ์ในสิทธิบัตรนั้นเป็นการเสนอนอกขอบเขตของซอฟต์แวร์โอเพ่นซอร์ส
ใบอนุญาตสิทธิบัตรที่เสนอในการให้สิทธิ์เพิ่มเติมในสิทธิบัตร (v.2) มีเงื่อนไขว่าผู้รับใบอนุญาตไม่ได้ฟ้องร้อง Facebook หรือบริษัทในเครือในคดีละเมิดสิทธิบัตร ผู้รับใบอนุญาตจึงเสียค่าใช้บริการห้องสมุด ไม่ใช่ราคาที่จ่ายด้วยเงิน ราคาที่ Facebook เรียกร้องในการใช้ห้องสมุดคือการที่ผู้รับใบอนุญาตงดเว้นจากการใช้สิทธิ์ในสิทธิบัตรของตนกับ Facebook หรือบริษัทในเครือ
เพียร์ซมองว่าการเผยแพร่ซอร์สโค้ดของ React ของ Facebook เป็นการใช้ประโยชน์จากการป้องกันการฟ้องร้องคดีสิทธิบัตร ซึ่งเขามองว่าเป็น "แนวทางที่โลภเกินไปสำหรับ Facebook ในการอ้างสิทธิ์สถานะโอเพ่นซอร์ส"
ชุมชนโอเพ่นซอร์สได้คาดการณ์อย่างกว้างขวางเกี่ยวกับผลกระทบของการรวมใบอนุญาต BSD+Patent ของ Facebook เป็นการพึ่งพา แต่ใบอนุญาตยังไม่ได้รับการทดสอบในศาล มูลนิธิซอฟต์แวร์อาปาเช่เป็นองค์กรหลักแห่งแรกที่มีจุดยืนที่ชัดเจนเกี่ยวกับใบอนุญาตที่มีการโต้เถียง ซึ่งได้รับความสนใจจาก Facebook ตัวแทน Facebook ได้สัญญาว่าจะอัปเดตคำร้องเพื่อขอใบอนุญาตใหม่หลังจากการอภิปรายภายในได้ข้อสรุป
