Open Source
�
ซอฟต์แวร์ Open Source คืออะไร?
ซอฟต์แวร์ที่ให้ไปพร้อมกับซอร์สโค้ด
- ซอร์สโค้ด คือ ซอฟต์แวร์ต้นฉบับ โดยจะต้องสามารถอ่านเข้าใจ และอยู่ในรูปแบบที่สามารถปรับปรุงแก้ไขเพิ่มเติมได้
ผู้ใช้ซอฟต์แวร์ Open Source มีอิสระในการนำไปใช้ นำไปแจกจ่าย และปรับปรุงแก้ไข โดยจะคิดค่าใช้จ่ายหรือไม่ก็ได้ขึ้นอยู่กับเงื่อนไขในการอนุญาต
นิยามของซอฟต์แวร์ Open Source มีอะไรบ้าง?
องค์กรอิสระ Open Source Initiative (OSI) ได้นิยามซอฟต์แวร์โอเพ่นซอร์สไว้ดังนี้
- อนุญาตให้นำไปเผยแพร่ได้อย่างเสรี (Free Redistribution)
ไลเซนต์จะต้องไม่จำกัดในการขาย หรือแจกจ่ายให้กับผู้อื่น โดยไม่มีการบังคับว่าต้องจ่ายค่าธรรมเนียม (Royalty Fee) ให้กับเจ้าของซอฟต์แวร์ต้นฉบับ
- ให้มาพร้อมกับซอฟต์แวร์ต้นฉบับ (Source Code)
โปรแกรมต้องให้มาพร้อมกับ Source Code หรือถ้าไม่ได้ให้มาพร้อมโปรแกรมจะต้องมีช่องทางที่จะทำให้ผู้ใช้สามารถเข้าถึง Source Code ได้โดยไม่มีการคิดค่าใช้จ่ายเพิ่มเติม และ Source Code ที่ให้มาจะต้องอยู่ในรูปแบบที่นำไปปรับปรุงแก้ไขได้
- อนุญาตให้สร้างซอฟต์แวร์ใหม่โดยต่อยอดจากซอฟต์แวร์ต้นฉบับ (Derived Works)
ไลเซนต์ของซอฟต์แวร์ต้องอนุญาตให้สามารถนำไปปรับปรุงแก้ไข และสร้างซอฟต์แวร์ใหม่ โดยซอฟต์แวร์ตัวใหม่จะต้องมีไลเซนต์เช่นเดียวกับซอฟต์แวร์ต้นฉบับ
- ต้องไม่แบ่งแยกผู้พัฒนาออกจากซอฟต์แวร์ต้นฉบับ (Integrity of the Author's Source Code)
ไลเซนต์อาจจะไม่ได้ให้ไปพร้อมซอสโค้ดในรูปแบบที่สามารถแก้ไขได้ ในกรณีที่มีการกำหนดว่าจะให้ซอร์สโค้ดเฉพาะส่วนที่มีการแก้ไขเพิ่มเติม (patch files) เพื่อใช้ในการคอมไพล์โปรแกรมเท่านั้น ไลเซนต์ใหม่จะต้องกำหนดให้ชัดว่าสามารถแจกจ่ายได้หลังจากแก้ไขซอร์สโค้ดแล้ว โดยไลเซนต์ใหม่อาจจะต้องทำการเปลี่ยนชื่อ หรือเวอร์ชั่นให้แตกต่างจากซอฟต์แวร์ต้นฉบับ
- จะต้องไม่เลือกปฏิบัติเพื่อกีดกันบุคคล หรือกลุ่มบุคคล (No Discrimination Against Persons or Groups)
ไลเซนต์จะต้องไม่เลือกปฏิบัตเพื่อกีดกันการเข้าถึงซอฟต์แวร์ของบุคคล หรือกลุ่มบุคคลใดบุคคลหนึ่งโดยเฉพาะ
- จะต้องไม่จำกัดการใช้เฉพาะกลุ่มใดกลุ่มหนึ่งเท่านั้น (No Discrimination Against Field of Endeavor)
ไลเซนต์จะต้องไม่จำกัดการใช้สำหรับกลุ่มใดกลุ่มหนึ่ง เช่น จะต้องไม่จำกัดการใช้งานเฉพาะในเชิงธุรกิจ หรือในการทำวิจัยเท่านั้น
- การเผยแพร่ไลเซนต์ (Distribution of License)
สิทธิ์ที่ให้ไปกับโปรแกรมจะต้องถูกบังคับใช้กับทุกคนที่ได้รับโปรแกรมเท่าเทียมกัน โดยไม่จำเป็นต้องใช้ไลเซนต์อื่นๆ ประกอบ
- ไลเซนต์ของซอฟต์แวร์จะต้องไม่ขึ้นกับไลเซนต์ของผลิตภัณฑ์ (License Must Not be Specific to a Product)
หมายความว่า ถ้าซอฟต์แวร์โอเพ่นซอร์สถูกนำไปพัฒนาเป็นผลิตภัณฑ์ ไลเซนต์ของซอฟต์แวร์โอเพ่นซอร์สจะต้องไม่ต้องไม่ขึ้นอยู่กับซอฟต์แวร์ใดซอฟต์แวร์หนึ่งในผลิตภัณฑ์ตัวนั้น
- ไลเซนต์ของซอฟต์แวร์จะต้องไม่จำกัดไลเซนต์ของซอฟต์แวร์อื่น (License Must Not Restrict Other Software)
ไลเซนต์ของซอฟต์แวร์ที่รวมในมีเดียเดียวกันจะต้องไม่ถูกบังคับให้เป็นโอเพ่นซอร์สซอฟต์แวร์ด้วย
- ไลเซนต์จะต้องไม่ผูกติดกับเทคโนโลยี (License Must Be Technology-Neatral)
เอกสารอ้างอิง: The Open Source Initiative (OSI). The Open Source Definition.