ในโลกของเครื่องมือจัดการฐานข้อมูล กำลังมีการปฏิวัติอย่างเงียบๆ ที่ไปไกลกว่าข้อกำหนดทางเทคนิคเพียงอย่างเดียว Liquibase ซึ่งเคยเป็นโซลูชันโอเพนซอร์สที่ได้รับความนิยมสำหรับการควบคุมเวอร์ชันฐานข้อมูล ได้เปลี่ยนรูปแบบสัญญาอนุญาตไปเป็น Functional Source License อย่างเงียบๆ ซึ่งเป็นการเคลื่อนไหวที่จุดประกายการถกเถียงอย่างร้อนแรงเกี่ยวกับสิ่งที่ประกอบขึ้นเป็นซอฟต์แวร์โอเพนซอร์สอย่างแท้จริง ความขัดแย้งนี้มุ่งเน้นไปที่ว่าควรจะเรียกโปรเจกต์ต่างๆ ว่าเป็นโอเพนซอร์สได้อย่างถูกต้องหรือไม่ เมื่อสัญญาอนุญาตของพวกเขาบังคับใช้ข้อจำกัดทางการค้า แม้ซอร์สโค้ดของพวกเขาจะยังคงเปิดให้เข้าชมได้สาธารณะ
การเปลี่ยนสัญญาอนุญาตที่แบ่งแยกชุมชน
หัวใจของข้อพิพาทอยู่ที่การย้ายของ Liquibase จากสัญญาอนุญาตโอเพนซอร์สแบบดั้งเดิมไปเป็น Functional Source License (FSL) ในขณะที่บริษัทยอมรับว่านี่ไม่ใช่สัญญาอนุญาตโอเพนซอร์สตามคำจำกัดความอย่างเป็นทางการ แต่ repository บน GitHub และเอกสารประกอบของพวกเขายังคงอธิบายโปรเจกต์นี้ว่าเป็นโอเพนซอร์ส ความขัดแย้งที่เห็นได้ชัดนี้ทำให้สมาชิกในชุมชนที่ให้คุณค่ากับความโปร่งใสในสัญญาอนุญาตรู้สึกหงุดหงิด โดยทั่วไปแล้ว Functional Source License อนุญาตให้ดูและแก้ไขซอร์สโค้ดได้ แต่จำกัดการใช้เพื่อการค้าโดยไม่ต้องจ่ายเงิน สร้างสิ่งที่เรียกว่าโมเดล source available แทนที่จะเป็นโอเพนซอร์สอย่างแท้จริง
การกระทำแบบ 'เราเคยเป็น FOSS และน่าประหลาดใจ ตอนนี้เราไม่ใช่แล้ว' แบบนี้ กำลังกลายเป็นเรื่องปกติและมักจะทำโดยหวังว่าจะไม่มีใครสังเกตเห็น
เงื่อนไขการอนุญาตใช้งานที่สำคัญ:
- Open Source: ตรงตามคำนิยามของ OSI รวมถึงการแจกจ่ายและดัดแปลงได้อย่างเสรี
- Source Available: สามารถดูซอร์สโค้ดได้ แต่มีข้อจำกัดในการใช้งานเชิงพาณิชย์
- Functional Source License (FSL): อนุญาตให้ดูและแก้ไขได้ แต่จำกัดการใช้งานเชิงพาณิชย์
สงครามความหมาย: เมื่อคำว่าเปิดไม่ได้หมายถึงฟรี
การอภิปรายได้เผยให้เห็นถึงความแตกแยกพื้นฐานในวิธีที่นักพัฒนาตีความคำว่าโอเพนซอร์ส บางคนแย้งว่าซอร์สโค้ดใดๆ ที่เปิดให้สาธารณะเข้าถึงได้ก็มีคุณสมบัติเป็นโอเพนซอร์ส ในขณะที่บางคนยืนยันว่าคำนี้มีความหมายทางกฎหมายและปรัชญาที่เฉพาะเจาะจงซึ่งกำหนดโดยองค์กรต่างๆ เช่น Open Source Initiative คำจำกัดความโอเพนซอร์สของ OSI กำหนดให้สัญญาอนุญาตต้องอนุญาตให้แจกจ่ายใหม่ได้อย่างอิสระ เข้าถึงซอร์สโค้ด สร้างงานที่ได้มา และไม่เลือกปฏิบัติต่อบุคคลหรือขอบเขตของความพยายาม ซึ่งเป็นเกณฑ์ที่โดยทั่วไปแล้วซอฟต์แวร์ที่ได้รับอนุญาตภายใต้ FSL ไม่เป็นไปตาม นี่ไม่ใช่เพียงการจับผิดทางวิชาการ ความแตกต่างนี้ส่งผลกระทบต่อทุกอย่าง ตั้งแต่นโยบายการนำไปใช้ขององค์ cooperate ไปจนถึงความไว้วางใจของนักพัฒนาในทิศทางระยะยาวของโปรเจกต์
ผลกระทบในทางปฏิบัติและการต่อต้านจากชุมชน
เหนือจากการอภิปรายทางปรัชญา ผู้ใช้รายงานข้อกังวลในทางปฏิบัติเกี่ยวกับทิศทางใหม่ของ Liquibase สมาชิกในชุมชนบางส่วนระบุว่าบางครั้งฟีเจอร์ระดับมืออาชีพทำให้เกิดความไม่เข้ากันได้ของไวยากรณ์กับเวอร์ชันชุมชน สร้างความท้าทายในการย้ายข้อมูลและลดความโปร่งใสเกี่ยวกับการเปลี่ยนแปลง สิ่งนี้ทำให้นักพัฒนาจำนวนมากแสวงหาทางเลือกอื่น โดย Flyway เกิดขึ้นเป็นตัวแทนที่ได้รับความนิยมเนื่องจากมีสัญญาอนุญาตที่อนุญาตมากขึ้นและฟังก์ชันการทำงานที่คล้ายกัน ทางเลือกอื่นๆ ที่ชุมชนกล่าวถึง ได้แก่ Alembic สำหรับระบบนิเวศ Python และ Sqitch ซึ่งแต่ละตัวเสนอแนวทางที่แตกต่างกันในการจัดการการเปลี่ยนแปลงฐานข้อมูลโดยไม่มีภาวะแทรกซ้อนด้านสัญญาอนุญาต
ทางเลือกเครื่องมือ Database Migration ที่ถูกกล่าวถึง:
- Flyway: ทางเลือกยอดนิยมที่มีใบอนุญาตแบบเปิดกว่า
- Alembic: เครื่องมือ database migration ที่ใช้ Python
- Sqitch: การจัดการการเปลี่ยนแปลง database ด้วยแนวทางที่แตกต่าง
แนวโน้มในวงกว้างและการตอบสนองของนักพัฒนา
สถานการณ์ของ Liquibase สะท้อนให้เห็นถึงรูปแบบที่ใหญ่กว่าในอุตสาหกรรมซอฟต์แวร์ ซึ่งบริษัทต่างๆ ในตอนแรกสร้างการสนับสนุนจากชุมชนผ่านสัญญาอนุญาตโอเพนซอร์ส จากนั้นจึงเปลี่ยนไปใช้โมเดลที่จำกัดมากขึ้นเมื่อพวกเขาแสวงหาการสร้างรายได้ ในขณะที่นักพัฒนาโดยทั่วไปยอมรับว่าบริษัทสมควรได้รับค่าตอบแทนสำหรับงานของพวกเขา แต่วิธีการและความโปร่งใสของการเปลี่ยนแปลงเหล่านี้มักจะเป็นตัวกำหนดการตอบสนองของชุมชน การอพยพออกจาก Liquibase ไปยังทางเลือกอื่นแสดงให้เห็นว่าในสภาพแวดล้อมการแข่งขันในปัจจุบัน นักพัฒนามีความอดทนน้อยต่อสิ่งที่พวกเขามองว่าเป็นกลยุทธ์ล่อลวง โดยไม่คำนึงถึงเหตุผลทางธุรกิจที่อยู่เบื้องหลังพวกเขา
ข้อโต้แย้งเกี่ยวกับ Liquibase ทำหน้าที่เป็นเรื่องเล่าเพื่อเตือนสติสำหรับทั้งโปรเจกต์โอเพนซอร์สและผู้ใช้ของพวกเขา ในขณะที่เส้นแบ่งระหว่างซอฟต์แวร์ที่ขับเคลื่อนโดยชุมชนและซอฟต์แวร์ที่ขับเคลื่อนโดยเชิงพาณิชย์ยังคงเบลอ การสื่อสารที่ชัดเจนเกี่ยวกับการเปลี่ยนแปลงสัญญาอนุญาตจึงมีความสำคัญมากขึ้นเรื่อยๆ สำหรับนักพัฒนา มันเน้นย้ำถึงความสำคัญของการทำความเข้าใจไม่เพียงแค่ความสามารถทางเทคนิคของเครื่องมือ แต่ยังรวมถึงวิถีการอนุญาตและปรัชญาที่อยู่เบื้องหลังการพัฒนาของมันด้วย ในระบบนิเวศที่สร้างขึ้นจากความไว้วางใจและการทำงานร่วมกัน วิธีที่บริษัทต่างๆ จัดการกับการเปลี่ยนแปลงเหล่านี้อาจมีความสำคัญไม่น้อยไปกว่าคุณภาพของโค้ดของพวกเขาในที่สุด
อ้างอิง: Liquibase continues to advertise itself as open source despite license switch #7374