รู้จักโลกโอเพนซอร์ซ(open source)
หลายๆคนคงเคยสงสัยกับคำว่า open source นั้นหมายถึงอะไร GPL license มันหน้าตาเป็นอย่างไร และมีผลบังคับใช้อย่างไรบ้าง
ผมเลยทำการคนคว้าและได้คำตอบมาดังนี้ครับ
โอเพนซอร์ซ หรือ โอเพนซอร์ส (open source) คือการพัฒนาระบบใดระบบหนึ่งทางด้านคอมพิวเตอร์ด้วยเงื่อนไขที่ผู้สร้างสรรค์ หรือผู้คิดค้นไม่ถือเอาสิทธิแต่เพียงผู้เดียวในการพัฒนาระบบนั้น ๆ พร้อมทั้งเปิดเผยแหล่งต้นกำเนิดของระบบนั้น เช่น ซอร์สโค้ด หรือความเป็นมาทางด้านเทคนิคของการพัฒนาระบบดังกล่าว เพื่อเปิดโอกาสให้บุคคลอื่นนำเอาระบบนั้น ๆ ไปพัฒนาได้ต่อไป โดยมีเงื่อนไขทางกฎหมายบางประเภท เช่น สัญญาอนุญาตสาธารณะทั่วไปของกนู (จีพีแอล) หรือ สัญญาอนุญาตแจกจ่ายซอฟต์แวร์ของเบิร์กลีย์ (บีเอสดี) เป็นต้น
ซอฟต์แวร์โอเพนซอร์ซ (open source software - OSS) คือ ซอฟต์แวร์ที่เปิดแผยหลักการหรือแหล่งที่มาของเทคโนโลยีของซอฟต์แวร์นั้นให้ บุคคลภายนอกได้ใช้ ภายใต้เงื่อนไขบางประการที่เปิดโอกาสให้ผู้ใช้ทำการแก้ไข ดัดแปลงและ เผยแพร่โปรแกรมต้นฉบับ (ซอร์สโค้ด) ได้ภายใต้เงื่อนไขทางข้อตกลงทางกฎหมาย เช่น จีพีแอล หรือ บีเอสดี ซึ่งปัจจุบันมีการกำหนดโดยกลุ่มผู้กำหนดโอเพนซอร์ซที่วางข้อกำหนดคำนิยาม 10 ประการในการกำหนดว่าเงื่อนไขที่เกี่ยวกับโอเพนซอร์ซ คือ
- เงื่อนไขจะต้องไม่จำกัดผู้หนึ่งผู้ใดในการจำหน่ายหรือการจ่ายแจก ซอฟต์แวร์ให้เป็นส่วนใดส่วนหนึ่งของซอฟต์แวร์แบบแยกส่วนที่ประกอบด้วย ซอฟต์แวร์จากหลาหลายแหล่ง และจะต้องไม่มีข้อกำหนดใด ๆ ที่เกี่ยวกันกับค่าใช้สิทธิหรือค่าสิทธิใด ๆ ในการจำหน่ายซอฟต์แวร์นั้น กล่าวคือให้มีการจ่ายแจกได้อย่างไม่มีการคิดค่าตอบแทน
- โปรแกรมนั้นจะต้องเผยแพร่โปรแกรมต้นฉบับ (ซอร์สโค้ด) และจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมต้นฉบับได้เช่นเดียวกันกับโปรแกรมที่ อยู่ในรูปของการแปลงเป็นโปรแกรมที่ใช้งานได้แล้ว โดยหากแม้ไม่สามารถนำสินค้านั้นแจกจ่ายได้พร้อมโปรแกรมต้นฉบับ ก็จำต้องแหล่งแห่งที่อันเป็นสาธารณะที่สามารถเข้าถึงโปรแกรมต้นฉบับ ซอร์สโค้ดได้โดยปราศจากค่าใช้จ่ายหรือต้นทุนอื่นใด ทั้งนี้โปรแกรมต้นฉบับนั้นจะต้องอยู่ในรูปแบบที่นักโปรแกรมสามารถที่จะแก้ไข ได้โดยจำต้องปราศจากซึ่งการเขียนโปรแกรมต้นฉบับในลักษณะที่เป็นการสับสนโดย เจตนา รวมทั้งต้องไม่มีลักษณะของโครงสร้างการทำงานของโปรแกรมต้นฉบับที่จำต้องมี ตัวแปลภาษาเฉพาะ (translator) หรือมีส่วนที่ต้องนำเข้าสู่โปรแกรมในรูปแบบของโปรแกรมที่แปลงสภาพแล้ว (preprocessor)
- เงื่อนไขจะต้องยินยอมให้สามารถทำการพัฒนาต่อยอดได้ ภายใต้เงื่อนไขการจ่ายแจกเช่นเดียวกันกับเงื่อนไขของโปรแกรมฉบับเริ่มต้น
- เงื่อนไขอาจจะวางข้อกำหนดในการจำกัดเผยแพร่โปรแกรมต้นฉบับ ฉบับที่แก้ไขแล้วได้ต่อเมื่อเงื่อนไขนั้นได้ยินยอมให้มีการแจกจ่ายแพตช์ไฟล์ (patch file) พร้อมโปรแกรมต้นฉบับเพื่อประโยชน์ในการแก้ไขโปรแกรมนั้นในเวลาทำการสร้าง โปรแกรม ทั้งเงื่อนไขจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมนั้นที่ได้รับการแก้ไข โปรแกรมต้นฉบับได้ แต่เงื่อนไขนั้นอาจจะกำหนดให้โปรแกรมฉบับต่อยอดใช้ชื่อที่แตกต่างหรือใช้ รุ่นที่แตกต่างจากโปรแกรมฉบับเริ่มต้นก็ได้
- เงื่อนไขจะต้องไม่จำกัดเฉพาะบุคคลหรือกลุ่มบุคคลใด ๆ
- เงื่อนไขต้องไม่จำกัดการใช้งานของโปรแกรมในรูปแบบใดรูปแบบหนึ่งอันเป็นการเฉพาะ
- เงื่อนไขที่กำหนดจะต้องใช้กับทุกคนที่เกี่ยวข้องกับโปรแกรมนั้น
- สิทธิใด ๆ ของโปรแกรมนั้นจะต้องไม่มีเงื่อนไขที่เฉพาะเจาะจงกับสินค้าหนึ่งสินค้าใด
- เงื่อนไขต้องไม่กำหนดอันเกี่ยวกับข้อจำกัดในการใช้ร่วมกันกับโปรแกรม อื่น เช่นกำหนดให้ต้องใช้โปรแกรมดังกล่าวกับโปรแกรมแบบโอเพนซอร์ซเท่านั้น
- ต้องไม่มีข้อกำหนดใด ๆ ในเงื่อนไขที่กำหนดให้ใช้เทคโนโลยีของใครหรือเทคโนโลยีแบบใดเป็นการเฉพาะ
ในโลกของอินเทอร์เน็ตจึงมี open source เกิดขึ้นมากมาย เพราะคนทีมีความรู้แก่กล้่าและไม่หวงวิชา ขอนับถือเหล่าผู้พัฒนาวงการ open source ครับ


เนื้อหายอดนิยม