โอเพ่นซอร์ส

Open source software ทางเลือกของการแก้ปัญหาลิขสิทธิ์ซอฟต์แวร์

open source software 6 12 2562 001

     ถ้าพูดถึง Software ประเภทหนึ่งที่ใช้งานกันเฉพาะกลุ่มผู้ที่มีความรู้เท่านั้น เห็นที่ไม่พูดถึง Open source software (Open Source Software – OSS) ที่คุณผู้อ่านอาจจะเคยได้ยินแต่ไม่เคยรู้เลยว่ามันทำงานยังไง มีประโยชน์มากน้อยแค่ใหน ความสามารถในการทำงานไม่แพ้ซอฟต์แวร์ลิขสิทธิ์ที่มีราคาสูงๆเลย

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

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

     เงื่อนไขที่เกี่ยวกับโอเพนซอร์ซ คือ

     1. เงื่อนไขจะต้องไม่จำกัดผู้หนึ่งผู้ใดในการจำหน่ายหรือการจ่ายแจกซอฟต์แวร์ให้เป็นส่วนใดส่วนหนึ่งของซอฟต์แวร์แบบแยกส่วนที่ประกอบด้วยซอฟต์แวร์จากหลากหลายแหล่ง และจะต้องไม่มีข้อกำหนดใดๆ ที่เกี่ยวกันกับค่าใช้สิทธิหรือค่าสิทธิใด ๆ ในการจำหน่ายซอฟต์แวร์นั้น กล่าวคือให้มีการจ่ายแจกได้อย่างไม่มีการคิดค่าตอบแทน

     2. โปรแกรมนั้นจะต้องเผยแพร่โปรแกรมต้นฉบับ (ซอร์สโค้ด) และจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมต้นฉบับได้เช่นเดียวกันกับโปรแกรมที่อยู่ในรูปของการแปลงเป็นโปรแกรมที่ใช้งานได้แล้ว โดยหากแม้ไม่สามารถนำสินค้านั้นแจกจ่ายได้พร้อมโปรแกรมต้นฉบับ ก็จำต้องมีสถานที่ในการแจกจ่ายแบบสาธารณะ เพื่อให้สามารถเข้าถึงโปรแกรมต้นฉบับ ซอร์สโค้ดได้โดยปราศจากค่าใช้จ่ายหรือต้นทุนอื่นใด ทั้งนี้โปรแกรมต้นฉบับนั้นจะต้องอยู่ในรูปแบบที่นักโปรแกรมสามารถที่จะแก้ไขได้โดยจำต้องปราศจากซึ่งการเขียนโปรแกรมต้นฉบับในลักษณะที่เป็นการสับสนโดยเจตนา รวมทั้งต้องไม่มีลักษณะของโครงสร้างการทำงานของโปรแกรมต้นฉบับที่จำต้องมีตัวแปลภาษาเฉพาะ (translator) หรือมีส่วนที่ต้องนำเข้าสู่โปรแกรมในรูปแบบของโปรแกรมที่แปลงสภาพแล้ว (preprocessor)

     3. เงื่อนไขจะต้องยินยอมให้สามารถทำการพัฒนาต่อยอดได้ ภายใต้เงื่อนไขการจ่ายแจกเช่นเดียวกันกับเงื่อนไขของโปรแกรมฉบับเริ่มต้น

     4. เงื่อนไขอาจจะวางข้อกำหนดในการจำกัดเผยแพร่โปรแกรมต้นฉบับ ฉบับที่แก้ไขแล้วได้ต่อเมื่อเงื่อนไขนั้นได้ ยินยอมให้มีการแจกจ่ายแพตช์ไฟล์ (patch file) พร้อมโปรแกรมต้นฉบับเพื่อประโยชน์ในการแก้ไขโปรแกรมนั้นในเวลาทำการสร้างโปรแกรม ทั้งเงื่อนไขจำต้องยินยอมให้มีการแจกจ่ายโปรแกรมนั้นที่ได้รับการแก้ไขโปรแกรมต้นฉบับได้ แต่เงื่อนไขนั้นอาจจะกำหนดให้โปรแกรมฉบับต่อยอดใช้ชื่อที่แตกต่างหรือใช้รุ่นที่แตกต่างจากโปรแกรมฉบับเริ่มต้นก็ได้

     5. เงื่อนไขจะต้องไม่จำกัดเฉพาะบุคคลหรือกลุ่มบุคคลใดๆ

     6. เงื่อนไขต้องไม่จำกัดการใช้งานของโปรแกรมในรูปแบบใดรูปแบบหนึ่งอันเป็นการเฉพาะ

     7. เงื่อนไขที่กำหนดจะต้องใช้กับทุกคนที่เกี่ยวข้องกับโปรแกรมนั้น

     8. สิทธิใดๆ ของโปรแกรมนั้นจะต้องไม่มีเงื่อนไขที่เฉพาะเจาะจงกับสินค้าหนึ่งสินค้าใด

     9. เงื่อนไขต้องไม่กำหนดอันเกี่ยวกับข้อจำกัดในการใช้ร่วมกันกับโปรแกรมอื่น เช่น กำหนดให้ต้องใช้โปรแกรมดังกล่าวกับโปรแกรมแบบโอเพนซอร์ซเท่านั้น

     10. ต้องไม่มีข้อกำหนดใดๆ ในเงื่อนไขที่กำหนดให้ใช้เทคโนโลยีของใครหรือเทคโนโลยีแบบใดเป็นการเฉพาะ

     ซอฟต์แวร์ที่ใช้งานกันอย่างเช่น อุปกรณ์ควบคุม control device ตอนนี้ที่พบเห้นกันแพร่หลายมากขึ้นคือใช้กับอุปกรณ์ IoT มีใช้งานกันจริง เช่น เครื่องสำรองไฟ (UPS) หลายๆรุ่นนำ opensource software มาใส่สามารถสั่ง shutdown ได้เองกรณีไฟฟ้าตกหรือดับ ซึ่งเป็นการนำาประยุกต์ใช้งานป้องกันอุปกรณ์ไอทีเสียหาย และยังมี Unix หรือ Linux ที่สามารถใช้งานเป็นระบบปฏิบัติการ (Operating System หรือ OS) run เป็น server หรือ client ได้ อย่าง Hosting ก็นิยม run ด้วย open source software อย่าง cenos version ต่างๆ ตอนนี้ก็น่าจะเป็น CentOS Linux 8 release PHP, Mysql และอีกหลายโปรแกรมที่ยังไม่ได้กล่าวถึง น้ำ ใ ส ด อ ท ค อ ม มีความคิดว่า open source software หลายๆตัวมีการใช้งานอยู่จริงและอยากจะรวบรวมความรู้ที่มีถ่ายทอดให้คุณผู้อ่านได้ศึกษา 

 
 

บทความดีๆ

บทความติดอันดับ