Monday, February 08, 2010

ซอฟต์แวร์โอเพนซอร์ซ (Open Source Software)

ซอฟต์แวร์โอเพนซอร์ซ เริ่มต้นจากการเคลื่อนไหวภายใต้ชื่อซอฟต์แวร์เสรี (free software) ในช่วง พ.ศ. 2526 จนกระทั่งในปี 2531 คำว่าซอฟต์แวร์โอเพนซอร์ซได้ถูกนำมาใช้แทนคำว่า "ฟรี" เพื่อให้ง่ายต่อการเข้าใจและให้ความรู้สึกสบายใจต่อทั้งผู้ใช้และผู้พัฒนา รวมถึงคำว่า ฟรี ในลักษณะของคำว่าเสรีนอกเหนือจากคำว่าฟรีในลักษณะไม่เสียค่าใช้จ่าย[2] ผู้ใช้งานรวมถึงผู้พัฒนาสามารถนำซอฟต์แวร์มา ใช้งาน แก้ไข แจกจ่าย โดยสามารถนำมาปรับปรุงทั้งในลักษณะส่วนตัว หรือในหน่วยงานเอกชนได้ ซอฟต์แวร์โอเพนซอร์ซอนุญาตให้ทุกคนสามารถนำซอฟต์แวร์ไปพัฒนา รวมถึงวางขายและทำการตลาด ซอฟต์แวร์โอเพนซอร์ซที่เป็นที่รู้จักกันดีได้แก่ เพิร์ล, ไฟร์ฟอกซ์, ลินุกซ์, อะแพชี เว็บเซิร์ฟเวอร์ ลักษณะเงื่อนไขทางลิขสิทธิ์ที่นิยมได้ สัญญาอนุญาตสาธารณะทั่วไปของกนู (จีพีแอล) และ สัญญาอนุญาตแจกจ่ายซอฟต์แวร์ของเบิร์กลีย์ (บีเอสดี) จากรายงานของกลุ่มสแตนดิชประมาณการประหยัดงบประมาณจากการใช้งานซอฟต์แวร์โอเพนซอร์ซได้ 6 หมื่นล้านเหรียญสหรัฐต่อปี
นิยาม

ปัจจุบันมีการกำหนดโดยกลุ่มผู้กำหนดโอเพนซอร์ซที่วางข้อกำหนดคำนิยาม 10 ประการในการกำหนดว่าเงื่อนไขที่เกี่ยวกับโอเพนซอร์ซ[4][5] คือ

1.เงื่อนไขจะต้องไม่จำกัดผู้หนึ่งผู้ใดในการจำหน่ายหรือการจ่ายแจก ซอฟต์แวร์ให้เป็นส่วนใดส่วนหนึ่งของซอฟต์แวร์แบบแยกส่วนที่ประกอบด้วย ซอฟต์แวร์จากหลาหลายแหล่ง และจะต้องไม่มีข้อกำหนดใด ๆ ที่เกี่ยวกันกับค่าใช้สิทธิหรือค่าสิทธิใด ๆ ในการจำหน่ายซอฟต์แวร์นั้น กล่าวคือให้มีการจ่ายแจกได้อย่างไม่มีการคิดค่าตอบแทน
2.โปรแกรมนั้นจะต้องเผยแพร่โปรแกรมต้นฉบับ (ซอร์สโค้ด) และจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมต้นฉบับได้เช่นเดียวกันกับโปรแกรมที่ อยู่ในรูปของการแปลงเป็นโปรแกรมที่ใช้งานได้แล้ว โดยหากแม้ไม่สามารถนำสินค้านั้นแจกจ่ายได้พร้อมโปรแกรมต้นฉบับ ก็จำต้องมีสถานที่ในการแจกจ่ายแบบสาธารณะ เพื่อให้สามารถเข้าถึงโปรแกรมต้นฉบับ ซอร์สโค้ดได้โดยปราศจากค่าใช้จ่ายหรือต้นทุนอื่นใด ทั้งนี้โปรแกรมต้นฉบับนั้นจะต้องอยู่ในรูปแบบที่นักโปรแกรมสามารถที่จะแก้ไข ได้โดยจำต้องปราศจากซึ่งการเขียนโปรแกรมต้นฉบับในลักษณะที่เป็นการสับสนโดย เจตนา รวมทั้งต้องไม่มีลักษณะของโครงสร้างการทำงานของโปรแกรมต้นฉบับที่จำต้องมี ตัวแปลภาษาเฉพาะ (translator) หรือมีส่วนที่ต้องนำเข้าสู่โปรแกรมในรูปแบบของโปรแกรมที่แปลงสภาพแล้ว (preprocessor)
3.เงื่อนไขจะต้องยินยอมให้สามารถทำการพัฒนาต่อยอดได้ ภายใต้เงื่อนไขการจ่ายแจกเช่นเดียวกันกับเงื่อนไขของโปรแกรมฉบับเริ่มต้น
4.เงื่อนไขอาจจะวางข้อกำหนดในการจำกัดเผยแพร่โปรแกรมต้นฉบับ ฉบับที่แก้ไขแล้วได้ต่อเมื่อเงื่อนไขนั้นได้ยินยอมให้มีการแจกจ่ายแพตช์ไฟล์ (patch file) พร้อมโปรแกรมต้นฉบับเพื่อประโยชน์ในการแก้ไขโปรแกรมนั้นในเวลาทำการสร้าง โปรแกรม ทั้งเงื่อนไขจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมนั้นที่ได้รับการแก้ไข โปรแกรมต้นฉบับได้ แต่เงื่อนไขนั้นอาจจะกำหนดให้โปรแกรมฉบับต่อยอดใช้ชื่อที่แตกต่างหรือใช้ รุ่นที่แตกต่างจากโปรแกรมฉบับเริ่มต้นก็ได้
5.เงื่อนไขจะต้องไม่จำกัดเฉพาะบุคคลหรือกลุ่มบุคคลใด ๆ
6.เงื่อนไขต้องไม่จำกัดการใช้งานของโปรแกรมในรูปแบบใดรูปแบบหนึ่งอันเป็นการเฉพาะ
7.เงื่อนไขที่กำหนดจะต้องใช้กับทุกคนที่เกี่ยวข้องกับโปรแกรมนั้น
8.สิทธิใด ๆ ของโปรแกรมนั้นจะต้องไม่มีเงื่อนไขที่เฉพาะเจาะจงกับสินค้าหนึ่งสินค้าใด
9.เงื่อนไขต้องไม่กำหนดอันเกี่ยวกับข้อจำกัดในการใช้ร่วมกันกับโปรแกรม อื่น เช่นกำหนดให้ต้องใช้โปรแกรมดังกล่าวกับโปรแกรมแบบโอเพนซอร์ซเท่านั้น
10.ต้องไม่มีข้อกำหนดใด ๆ ในเงื่อนไขที่กำหนดให้ใช้เทคโนโลยีของใครหรือเทคโนโลยีแบบใดเป็นการเฉพาะ

ที่มา: OpenOffice.org in NSTDA