Open Source คือ อะไร ? มาทำความรู้จักซอร์ฟแวร์ยอดนิยมที่สามารถนำไปพัฒนาต่อให้ดีกว่าเดิมได้ !

Thanatcha Veeravattanayothin/ August 1, 2022/ Knowledge Base/ 0 comments

Open Source คือ อะไร ?

Open Source คือ การพัฒนาซอฟต์แวร์ตามแนวคิดที่อาศัยความร่วมมือของนักพัฒนาทั่วโลก เพื่อสร้างซอฟต์แวร์ที่ดีกว่าเดิม โดยซอฟต์แวร์ดังกล่าวสามารถเปิดเผยโค้ดต้นฉบับ (Source Code) ซึ่งถูกเขียนขึ้นโดยภาษาคอมพิวเตอร์ต่าง ๆ โดยมีวัตถุประสงค์เพื่อสร้างโปรแกรมสำหรับควบคุมการทำงานของคอมพิวเตอร์หรือการใช้งานทั่วไป ตลอดจนงานเฉพาะด้าน ซึ่งนักพัฒนาโปรแกรมจะเป็นผู้เขียนชุดคำสั่งขึ้นมา ก่อนทำการแปลงเป็นภาษาเครื่องที่คอมพิวเตอร์สามารถเข้าใจได้ และสามารถทำตามคำสั่งด้วยการใช้ตัวแปล (Compiler) ช่วยแปลโค้ดต้นฉบับ (Source Code) ทั้งโปรแกรมให้เป็นลำดับของคำสั่งหรือคำสั่งในภาษาคอมพิวเตอร์ (Object Code) นอกจากนี้โปรแกรมดังกล่าวยังเปิดโอกาสให้ผู้อื่นสามารถดาวน์โหลด แก้ไข ดัดแปลง และเผยแพร่ได้อย่างอิสระ เพื่อให้นักพัฒนาได้นำไปใช้พัฒนาซอฟต์แวร์ต่อได้หรือร่วมกันพัฒนาจนเกิดเป็นสังคมนักพัฒนาซอฟต์แวร์ที่ทำงานด้วยกันอย่างไร้พรมแดน ภายใต้เงื่อนไขที่มีข้อตกลงร่วมกัน 


ทำไม Open Source ถึงได้รับความนิยม ?

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


ประวัติความเป็นมาของ Open Source

Open Source เป็นแนวคิดที่เกิดขึ้นในยุคเริ่มต้นของการพัฒนาซอฟต์แวร์ โดยมีกลุ่มนักวิทยาศาสตร์ นักวิจัยและนักวิชาการ รวมไปถึงนักพัฒนาที่ได้ร่วมทำงานด้วยกัน บนพื้นที่ของการแบ่งปันความรู้และข้อมูลแบบอิสรเสรีอย่างเปิดเผย โดยนักพัฒนามีวิธีแบ่งปันโค้ดต้นฉบับ (Source Code) ผ่านทางหนังสือและนิตยสารคอมพิวเตอร์ ซึ่งมีการทำสำเนาโค้ดต้นฉบับ (Source Code) อย่างเต็มรูปแบบ เพื่อให้ผู้อ่านสามารถคัดลอกและนำไปใช้งานได้ ซึ่งได้รับความนิยมเป็นพิเศษส่งผลให้คอมพิวเตอร์ยุคแรก อย่างเช่น Commodore 64 ซึ่งเป็นคอมพิวเตอร์ตั้งโต๊ะเครื่องแรก ๆ ของโลกและ ZX Spectrum คอมพิวเตอร์แบบ 8 bit ซึ่งสามารถใช้สร้างเกมพื้นฐานมีจำนวนการใช้งานเพิ่มมากขึ้น

เมื่อการพัฒนาซอฟต์แวร์กลายเป็นเชิงพาณิชย์และมีการแข่งขันระหว่างนักพัฒนาเพิ่มมากขึ้น การแบ่งปันโค้ดต้นฉบับ (Source Code) ของ Open Source จึงลดลง แต่สำหรับนักพัฒนาบางกลุ่มยังมีการเขียนซอฟต์แวร์ Open Source และแบ่งปันอย่างต่อเนื่อง ถึงแม้ว่าบริษัทซอฟต์แวร์ขนาดใหญ่จะถือเป็นทรัพย์สินทางปัญญา และเป็นโอกาสทำเงินทางธุรกิจ

แต่เมื่อถึงยุคที่คอมพิวเตอร์สามารถเชื่อมต่อผ่านอินเทอร์เน็ตได้อย่างมีประสิทธิภาพมากขึ้น นักพัฒนาจึงเริ่มแบ่งปันโค้ดต้นฉบับ (Source Code) ผ่านช่องทางออนไลน์ ทำให้ Open Source เพิ่มขึ้นจากเดิมเป็นจำนวนมาก และในที่สุดก็นำไปสู่การสร้าง Linux Kernel โดย ลินุส โตร์วัลดส์ (Linus Torvalds) ขึ้นมาเป็นครั้งแรก ซึ่งเป็นโปรแกรมพื้นฐานภายใต้ระบบปฏิบัติการคอมพิวเตอร์ (OS) ทำหน้าที่เป็นสื่อกลางระหว่างฮาร์ดแวร์กับซอฟต์แวร์ และช่วยจัดการทรัพยากรในคอมพิวเตอร์ต่าง ๆ เช่น การใช้พื้นที่หน่วยความจำ (RAM), การใช้หน่วยประมวลผลกลาง (CPU), การจัดการไฟล์ และระบบอื่น ๆ เป็นต้น นอกจากนี้ยังมีหน้าที่เป็นตัวควบคุมอุปกรณ์ Input / Output และอุปกรณ์ต่อพ่วงอื่น ๆ อย่าง เมาส์ (Mouse), จอมอนิเตอร์ (Monitor), แป้นพิมพ์ (Keyboard) เป็นต้น

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


บริษัทสามารถทำเงินจาก Open Source ได้อย่างไร ?

เนื่องจาก Open Source เปิดให้ใช้งานได้ฟรี หลายคนอาจสงสัยว่าบริษัทต่าง ๆ เช่น Red Hat และ Canonical สามารถสร้างรายได้อย่างไร ?

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


ทำไมต้องนักพัฒนาถึงควรใช้ Open Source ?

นักพัฒนาส่วนใหญ่มีเหตุผลหลากหลายที่เลือกใช้ Open Source แต่สิ่งสำคัญที่สุด คือ การแบ่งปันข้อมูลความรู้ระหว่างกันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด นักพัฒนาหลายคนเพียงต้องการช่วยสร้างสิ่งที่ดีขึ้นและสนับสนุนโครงการที่มีประโยชน์และคุ้มค่าสำหรับการพัฒนา เพื่อให้มีประสิทธิภาพที่ดีขึ้นอยู่เสมอ 


Open Source คือ รูปประกอบ

Open Source ปลอดภัยหรือไม่ ?

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

ข้อควรระวังจากการใช้โค้ดฟรีและการแบ่งปันกันอย่างกว้างขวาง คือ ช่องโหว่ที่พบจะถูกนำกลับมาใช้ใหม่ตามค่าเริ่มต้น และ Open Source Library ที่ได้รับความนิยมมากที่สุด ยังถูกฝังอยู่ภายในแอปพลิเคชันจำนวนมาก และหากโค้ดหนึ่งบรรทัดภายในไลบรารีมีช่องโหว่ เพียงแค่จุดเดียวสามารถกลายเป็นข้อบกพร่องของระบบที่ทำให้ผู้ไม่ประสงค์ดีเข้ามาใช้ระบบ เพื่อทำให้เกิดความเสียหายหรือเอาข้อมูลส่วนตัวไปใช้ในทางที่ไม่ดีได้ 

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

นอกจากนี้ในปัจจุบันยังมี Tooling ต่าง ๆ เข้ามาช่วยสร้างความปลอดภัย และตรวจสอบช่องโหว่ เพื่อป้องกันภัยคุกคามได้อย่างเต็มประสิทธิภาพ รวมถึงยังได้รับความช่วยเหลือจากนักพัฒนาในการช่วยสร้างความปลอดภัย ส่งผลให้เทคโนโลยีในปัจจุบันก้าวหน้าขึ้นไปอีกมาก ทำให้นักพัฒนาสามารถมั่นใจในเรื่องของความปลอดภัยได้มากขึ้น

ส่งผลให้ Open Source ได้รับความนิยมใช้กันทั่วโลก จากการสำรวจกลุ่มผู้เชี่ยวชาญด้าน Open Source Software (OSS) จำนวน 2,660 ราย โดย OpenLogic ของ Perforce และ Open Source Initiative ในปี 2022 พบว่า 77% ขององค์กร นิยมใช้งาน OSS มากกว่าเมื่อปีที่ผ่านมา โดย 36% พบว่ามีจำนวนการใช้งานที่เพิ่มมากขึ้นจากเดิม และยังมีบริษัทใหญ่ ๆ ที่ให้การสนับสนุนและผลิตโปรเจกต์ Open Source มากมาย ยกตัวอย่าง Open Source จาก Facebook คือ React, Flux, Flow, Jest, React Native, GraphQL & Relay, HHVM, Nuclide และ Open Source จาก Google คือ Android, Angular, Dart, Polymer, Golang. Kubernetes (K8S), TensorFlow เป็นต้น

หากมีข้อสงสัย หรือต้องการสอบถามข้อมูลเพิ่มเติมสามารถติดต่อ OpenLandscape ผ่านทางอีเมล technical-support@ols.co.th หรือ Call Center 02-257-7189 ได้ตลอด 24 ชั่วโมง  


ข้อมูลอ้างอิง

https://www.itpro.co.uk/software/28109/what-is-open-source

www.techtalkthai.com/open-source-software-oss/

https://www.devahoy.com/blog/2018/01/open-source-project-in-tech-company

จบการศึกษาจากคณะมนุษยศาสตร์ มหาวิทยาลัยศรีนครินทรวิโรฒ

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*