รู้จักโลกโอเพนซอร์ซ(open source)


หลายๆคนคงเคยสงสัยกับคำว่า open source นั้นหมายถึงอะไร GPL license มันหน้าตาเป็นอย่างไร และมีผลบังคับใช้อย่างไรบ้าง
ผมเลยทำการคนคว้าและได้คำตอบมาดังนี้ครับ

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

ซอฟต์แวร์โอเพนซอร์ซ (open source software - OSS) คือ ซอฟต์แวร์ที่เปิดแผยหลักการหรือแหล่งที่มาของเทคโนโลยีของซอฟต์แวร์นั้นให้ บุคคลภายนอกได้ใช้ ภายใต้เงื่อนไขบางประการที่เปิดโอกาสให้ผู้ใช้ทำการแก้ไข ดัดแปลงและ เผยแพร่โปรแกรมต้นฉบับ (ซอร์สโค้ด) ได้ภายใต้เงื่อนไขทางข้อตกลงทางกฎหมาย เช่น จีพีแอล หรือ บีเอสดี ซึ่งปัจจุบันมีการกำหนดโดยกลุ่มผู้กำหนดโอเพนซอร์ซที่วางข้อกำหนดคำนิยาม 10 ประการในการกำหนดว่าเงื่อนไขที่เกี่ยวกับโอเพนซอร์ซ คือ

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

ในโลกของอินเทอร์เน็ตจึงมี open source เกิดขึ้นมากมาย เพราะคนทีมีความรู้แก่กล้่าและไม่หวงวิชา ขอนับถือเหล่าผู้พัฒนาวงการ open source ครับ

เนื้อหาอื่นๆ ที่เกี่ยวข้อง

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>