นิยามโอเพนซอร์ส (อังกฤษ: Open Source Definition) เป็นเอกสารที่เผยแพร่โดยองค์กรริเริ่มโอเพนซอร์ส (อังกฤษ: Open Source Initiative) เพื่อพิจารณาว่าใบอนุญาตซอฟต์แวร์สามารถติดตรา "องค์กรริเริ่มโอเพนซอร์สให้การรับรอง" (อังกฤษ: Open Source Initiative Approved) ได้หรือไม่ [1] [2]
คำนิยาม
โอเพนซอร์สไม่ได้หมายถึงการเข้าถึงรหัสต้นทางเท่านั้น เงื่อนไขการจัดจำหน่ายซอฟต์แวร์โอเพนซอร์สจะต้องเป็นไปตามคำนิยาม 10 ประการต่อไปนี้[3][4] คือ
- เงื่อนไขจะต้องไม่จำกัดผู้หนึ่งผู้ใดในการจำหน่ายหรือการจ่ายแจกซอฟต์แวร์ให้เป็นส่วนใดส่วนหนึ่งของซอฟต์แวร์แบบแยกส่วนที่ประกอบด้วยซอฟต์แวร์จากหลากหลายแหล่ง และจะต้องไม่มีข้อกำหนดใด ๆ ที่เกี่ยวกันกับค่าใช้สิทธิหรือค่าสิทธิใด ๆ ในการจำหน่ายซอฟต์แวร์นั้น กล่าวคือให้มีการจ่ายแจกได้อย่างไม่มีการคิดค่าตอบแทน
- โปรแกรมนั้นจะต้องเผยแพร่รหัสต้นทางของมัน (ซอร์สโค้ด) และจำต้องยินยอมให้มีการแจกจ่ายรหัสต้นทางได้เช่นเดียวกันกับโปรแกรมที่อยู่ในรูปของการแปลงเป็นโปรแกรมที่ใช้งานได้แล้ว โดยหากแม้ไม่สามารถนำสินค้านั้นแจกจ่ายได้พร้อมรหัสต้นทาง ก็จำต้องมีสถานที่ในการแจกจ่ายแบบสาธารณะ เพื่อให้สามารถเข้าถึงรหัสต้นทาง ซอร์สโค้ดได้โดยปราศจากค่าใช้จ่ายหรือต้นทุนอื่นใด ทั้งนี้รหัสต้นทางนั้นจะต้องอยู่ในรูปแบบที่นักโปรแกรมสามารถที่จะแก้ไขได้โดยจำต้องปราศจากซึ่งการเขียนรหัสต้นทางในลักษณะที่เป็นการสับสนโดยเจตนา รวมทั้งต้องไม่มีลักษณะของโครงสร้างการทำงานของรหัสต้นทางที่จำต้องมีตัวแปลภาษาเฉพาะ (translator) หรือมีส่วนที่ต้องนำเข้าสู่โปรแกรมในรูปแบบของโปรแกรมที่แปลงสภาพแล้ว (preprocessore)
- เงื่อนไขจะต้องยินยอมให้สามารถทำการพัฒนาต่อยอดได้ ภายใต้เงื่อนไขการจ่ายแจกเช่นเดียวกันกับเงื่อนไขของโปรแกรมฉบับเริ่มต้น
- เงื่อนไขอาจจะวางข้อกำหนดในการจำกัดเผยแพร่รหัสต้นทาง ฉบับที่แก้ไขแล้วได้ต่อเมื่อเงื่อนไขนั้นได้ยินยอมให้มีการแจกจ่ายแพตช์ไฟล์ (patch file) พร้อมรหัสต้นทางเพื่อประโยชน์ในการแก้ไขโปรแกรมนั้นในเวลาทำการสร้างโปรแกรม ทั้งเงื่อนไขจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมนั้นที่ได้รับการแก้ไขรหัสต้นทางได้ แต่เงื่อนไขนั้นอาจจะกำหนดให้โปรแกรมฉบับต่อยอดใช้ชื่อที่แตกต่างหรือใช้รุ่นที่แตกต่างจากโปรแกรมฉบับเริ่มต้นก็ได้
- เงื่อนไขจะต้องไม่จำกัดเฉพาะบุคคลหรือกลุ่มบุคคลใด ๆ
- เงื่อนไขต้องไม่จำกัดการใช้งานของโปรแกรมในรูปแบบใดรูปแบบหนึ่งอันเป็นการเฉพาะ
- เงื่อนไขที่กำหนดจะต้องใช้กับทุกคนที่เกี่ยวข้องกับโปรแกรมนั้น
- สิทธิใด ๆ ของโปรแกรมนั้นจะต้องไม่มีเงื่อนไขที่เฉพาะเจาะจงกับสินค้าหนึ่งสินค้าใด
- เงื่อนไขต้องไม่กำหนดอันเกี่ยวกับข้อจำกัดในการใช้ร่วมกันกับโปรแกรมอื่น เช่นกำหนดให้ต้องใช้โปรแกรมดังกล่าวกับโปรแกรมแบบโอเพนซอร์สเท่านั้น
- ต้องไม่มีข้อกำหนดใด ๆ ในเงื่อนไขที่กำหนดให้ใช้เทคโนโลยีของใครหรือเทคโนโลยีแบบใดเป็นการเฉพาะ
อ้างอิง