Open source software คืออะไร มี ข้อดี อย่างไร

Software หรือ โปรแกรมคอมพิวเตอร์ เป็นส่วนประกอบหนึ่งในระบบสารสนเทศ ที่ประกอบด้วย Hardware, Software และ Peopleware ซึ่งจะช่วยกันประมวลผลข้อมูล (Data) ให้กลายเป็นสารสนเทศ (Information) ซึ่งในแต่ละส่วนประกอบล้วนมีต้นทุนในการจัดซื้อ จัดจ้าง ดังนั้น ปัจจุบันมีทางเลือกที่จะลดต้นทุนในส่วนของ Software โดยการใช้ Software ประเภท Freeware หรือ Open Source

ข้อแตกต่างระหว่าง Freeware และ Open Source Software

Freeware

Open Source Software

ใช้งานได้ฟรี

ใช้งานได้ฟรี

อาจจะไม่เปิดเผย Source Code

เปิดเผย Source Code ผู้ใชงงานสามารถนำ Source Code มาแก้ไขให้เหมาะสมกับตนเองได้

อาจมีเงื่อนไขการใช้งาน เช่น จำกัดคุณลักษณะบางประการ หรือ มีการรวบรวมข้อมูลบางอย่างจากผู้ใช้งาน หรือ มีการแสดงโฆษณา

เป็นไปตามเงื่อนไขสัญญา Open Source

การใช้ Open source Software ก็เป็นทางเลือกที่ดีขององค์กรในการประหยัดค่าใช้จ่าย เนื่องจากระบบงานในปัจจุบันจำเป็นต้องใช้โปรแกรมหลายด้าน หลายโปรแกรม ซึ่งถ้าจัดซื้อโปรแกรมทุกโปรแกรมอาจทำให้มีค่าใช้จ่ายที่สูงมาก องค์กรจึงเลือกที่จะจัดซื้อเฉพาะโปรแกรมที่ต้องการความเสถียรภาพสูง มีบริษัทคอย support แก้ไขปัญหา โดยเฉพาะโปรแกรมที่เป็นแกนหลักขององค์กร เช่นระบบฐานข้อมูลในระบบที่มีความสำคัญและต้องการประสิทธิภาพสูง หรือโปรแกรมเกี่ยวกับการเงินและบัญชีที่ต้องการความถูกต้อง โปรแกรมเฉพาะทางที่ไม่มี Open source Software เป็นต้น

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

Open Source คืออะไร?
Open source software คืออะไร มี ข้อดี อย่างไร


ซอฟต์แวร์ Open Source คืออะไร และผู้ขายจะสามารถทำเงินจากมันได้อย่างไร? เรามีคำตอบให้กับคุณ
 
น่าเสียดายที่ในปัจจุบันเทคโนโลยีอุตสาหกรรมสาขาต่างๆ นั้นยากที่จะได้รับการพิจารณาว่าเป็นองค์กรที่มีคุณธรรมและเห็นแก่ประโยชน์ส่วนรวมเป็นหลัก อย่างไรก็ตามในกรณีนี้ก็ยังมีอีกหนึ่งพื้นที่ที่ยังคงมีเรื่องราวดีๆ เช่นนี้อยู่ นั่นก็คือพื้นที่ในส่วนของซอฟต์แวร์ Open Source
 
ตามที่ชื่อของมันได้บอกไว้ Open Source นั้นเป็นการพัฒนาซอฟต์แวร์ซึ่งวางอยู่บนแนวคิดที่อาศัยความร่วมมือของนักพัฒนาทั่วโลกเพื่อสร้างซอฟต์แวร์ที่ดีกว่า โดยซอฟต์แวร์ดังกล่าวสามารถเปิดเผย Source Code หรือแหล่งที่มาของเทคโนโลยีของซอฟต์แวร์นั้นๆ ได้ เพื่อให้บุคคลอื่นได้นำไปใช้ ภายใต้เงื่อนไขบางประการ นอกจากนี้โปรแกรมดังกล่าวยังก็เปิดโอกาสให้ผู้อื่นดาวน์โหลด แก้ไข ดัดแปลง และเผยแพร่ได้อย่างอิสระ
 
ผลที่ตามมาก็คือ ซอฟต์แวร์ Open Source นั้นสามารถนำไปใช้ได้อย่างเสรี โดยไม่มีข้อจำกัดเกี่ยวกับวิธีการที่จะนำมันไปใช้ และดูเหมือนว่าสิ่งนี้จะเป็นที่น่าสนใจมากเป็นพิเศษสำหรับสตาร์ทอัพที่กำลังประสบปัญหาทางด้านการเงิน อย่างไรก็ตาม หนึ่งในผลพลอยได้ที่สำคัญยิ่งกว่าสิ่งอื่นใดของ Open Source นั่นก็คือ ด้วยความที่มันเป็น Source Code สาธารณะ ที่ใครๆ ก็สามารถปรับแต่งมันได้ จึงก่อให้ชุมชนที่เจริญรุ่งเรืองในเรื่องของการพัฒนาซอฟต์แวร์ Open Source อันเกิดจากการรวมพลังความคิด ความรู้ความสามารถ จากนักพัฒนาจำนวนนับไม่ถ้วนที่ทำงานร่วมกันในโครงการและแบ่งปันแนวคิดนี้
 
Component ของ Open Source ได้ถูกนำมาใช้กับแทบจะทุกชิ้นส่วนของเทคโนโลยีบนโลกใบนี้ ไม่ว่าจะเป็นระบบปฏิบัติการลินุกซ์ (Linux Operating Systems) ซึ่งเป็นการให้บริการศูนย์ข้อมูลและบริการคลาวด์, ซอฟต์แวร์ Android ที่อยู่เบื้องหลังโทรศัพท์ที่ดีที่สุดในโลก หรือเครื่องมือต่างๆ ที่ใช้ในการพัฒนาองค์กร เช่น Puppet, Jenkins และ Chef เป็นต้น
 
อย่างไรก็ตาม ยังมีปัญหาอีกมากมายเกี่ยวกับการพัฒนา Open Source โดยเฉพาะอย่างยิ่งในเรื่องของการที่ต้องใช้ความพยายามอย่างมากเพื่อเรียนรู้ในเรื่องนั้นๆ เพราะนักพัฒนาแต่ละคนก็อาจจะมีประสบการณ์และพัฒนาการในการเรียนรู้ที่แตกต่างกัน ผลที่ตามมาก็คือ บุคคลจำนวนมากที่เกี่ยวข้องกับโครงการเหล่านี้ล้วนแต่เป็นคนที่มีความรู้ทางด้านเทคนิคที่มาพร้อมกับผลงานชิ้นสำคัญที่อยู่เบื้องหลังของพวกเขา
 
ปัจจัยหลักๆ ที่เป็นการขับเคลื่อนอยู่เบื้องหลัง Open Source นั่นก็คือแนวคิดที่ว่า เมื่อโครงการพัฒนา (Development Project)  ได้รับการปรับปรุงและเร่งรัดแล้ว กลุ่มของคนที่เกี่ยวข้องก็จะมีการขยายเป็นวงกว้างมากขึ้น ด้วยการพัฒนาทางด้านทักษะและความสามารถที่แตกต่างกันนั้น ทำให้พวกเขาเกิดความความเชี่ยวชาญและมีประสบการณ์เป็นของตัวเอง
 
หลักการของความร่วมมือเหล่านี้ ส่วนใหญ่จะประกอบไปด้วยนักพัฒนาจากทั่วโลกที่ได้ทำการตัดสินใจที่จะทำงานร่วมกัน ซึ่งโดยปกติแล้วจะเปิดโอกาสให้นักพัฒนาแต่ละคนได้ทำงานในพื้นที่ที่พวกเขารู้สึกถึงความสะดวกสบายมากที่สุด แต่ในขณะเดียวกัน Code เหล่านี้ก็ได้ถูกแชร์ออกไปในหมู่ชุมชน (Community) และได้รับการแก้ไขโดยนักพัฒนาหลายคน ไปพร้อมๆ กัน
 
ในส่วนของโครงการ Open Source นั้น Source Code แบบสมบูรณ์จะถูกแชร์ออกสู่สาธารณะ ซึ่งโดยทั่วไปจะเป็นการแชร์ผ่านแพลตฟอร์มสำหรับแชร์โค้ด อย่าง GitHub ที่อนุญาตให้ทุกคนตรวจสอบและเปลี่ยนแปลง Code ได้ สิ่งที่ตามมาก็คือ มันเป็นไปไม่ได้ที่จะคิดเงินสำหรับซอฟต์แวร์ที่เรากำลังพูดถึง เนื่องจาก ทุกคนสามารถดาวน์โหลดและใช้ Code ของโครงการได้ แต่ในทางกลับกันข้อดีของมันก็คือ คุณจะได้รับข้อเสนอแนะ (Feedback) ความช่วยเหลือต่างๆ และการทำงานร่วมกันจากกลุ่มที่กว้างขึ้น ในกรณีที่คุณมีการพัฒนาจนเป็นส่วนหนึ่งของทีมมาตรฐาน ซึ่งก็หมายความว่าคุณจะได้รับผลลัพธ์ที่ดีขึ้นในกรอบเวลาที่สั้นลง
 
แม้ว่าการอนุญาตให้ผู้คนจำนวนมากเข้าไปยุ่งเกี่ยวกับ Source Code อาจจะถูกมองว่ามีความเสี่ยง แต่ก็มีการอนุญาตให้ตรวจสอบเพิ่มเติมในรูปแบบของการจับตาดูเป็นพิเศษ หรือบ่อยครั้งที่ต้องช่วยกันเป็นหูเป็นตาเพื่อช่วยเพิ่มโอกาสในการตั้งค่าสถานะ (Flag) ของสิ่งที่น่าสงสัยว่าจะเป็น Bug นอกจากนี้ ซอฟต์แวร์ Open Source ก็ยังให้การรักษาความปลอดภัยที่เข้มงวดมากขึ้น ในแง่ของความช่วยเหลือเพิ่มเติมที่มีอยู่รอบตัวที่พร้อมจะนำมาใช้ในการออกแบบหรือแก้ไขปัญหาต่าง ๆ
 
โดยทั่วไปลักษณะของความร่วมมือเกี่ยวกับโครงการ Open Source มักจะให้ผลลัพธ์ที่ดีกว่า นั่นอาจเป็นเพราะ ผู้เชี่ยวชาญทั้งหลายได้ทำการรวบรวมกำลัง, เวลา, ทรัพยากรและข้อมูลเชิงลึกของพวกเขา เพื่อการสร้างผลลัพธ์ที่ดีขึ้น และการที่มีผู้คนจากอุตสาหกรรมต่างๆ มารวมกัน โดยที่แต่ละคนก็มีทักษะที่แตกต่างกัน ทำให้โครงการ Open Source เป็นโครงการที่มีการผสมผสานระหว่างทักษะ (Skill), ความสามารถพิเศษ (Talent) และประสบการณ์ที่หลากหลาย ในขณะที่โครงการอื่นๆ อาจจะไม่มี
 
เราอาจจะได้เห็นแล้วว่าเทคโนโลยี Open Source ถูกใช้เป็นแกนหลักสำหรับทุกสิ่ง ตั้งแต่ซอฟต์แวร์สำนักงาน อย่างเช่น โปรแกรมประมวลผลคำและโปรแกรมแก้ไขรูปภาพ ไปจนถึงระบบปฏิบัติการและแพลตฟอร์มเซิร์ฟเวอร์ส่วนใหญ่ ส่วนประโยชน์อื่นๆ ของซอฟต์แวร์ที่เปิดเผย Source Code (ซึ่งทั้งนี้ก็ขึ้นอยู่กับมุมมองของแต่ละคน) นั่นก็คือ ความที่มันเป็นอิสระอย่างสมบูรณ์ (Completely Free) ทั้งยังสามารถดาวน์โหลดและถูกรวบรวม  (Compile) โดยใครก็ได้ นอกจากนี้โปรแกรมและเทคโนโลยีแบบ Open Source ก็ยังไม่มีค่าตอบแทนการให้ใช้สิทธิ (Licensing Fee) ที่สูง ซึ่งอาจจะส่งผลกระทบกับผลิตภัณฑ์ที่สร้างขึ้น และสิ่งนี้ก็ยังช่วยขยายขอบเขต รวมทั้งยังมีส่วนช่วยให้เครื่องมือดังกล่าวสามารถเข้าถึงผู้คนได้มากขึ้น
 

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

 

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

ทำไม Open Source จึงมีประโยชน์?

 

สิ่งที่น่าสนใจที่สุดของ Open Source ก็คือ มันสามารถนำไปใช้ รวมทั้งดัดแปลงและแก้ไขได้ฟรีอย่างสมบูรณ์ ดังนั้น การหาทางเลือกฟรีสำหรับแพ็คเกจที่ดีที่สุดที่มีราคาค่อนข้างสูงจึงก็ไม่ใช่เรื่องที่ท้าทายอีกต่อไป ยกตัวอย่างเช่น ทางเลือกอื่นที่นอกเหนือจาก Microsoft Office หรือ Adobe Suite เป็นต้น
 
สำหรับโปรแกรมเมอร์ (Programmer) และนักพัฒนา (Developer) ประโยชน์ของการปล่อยผลงานสร้างสรรค์ของคุณในฐานะซอฟต์แวร์ Open Source (OSS) ก็คือ Feedback และความร่วมมือที่เพิ่มมากขึ้น เพื่อนๆ ของคุณมีอิสระที่จะเปลี่ยนและปรับปรุง Code ของคุณ และพวกเขาก็ยังสามารถเพิ่มในส่วนของคุณสมบัติบางอย่างที่คุณไม่อาจคาดคิดหรือทำให้มันง่ายขึ้น เพื่อให้มันมีประสิทธิภาพเพิ่มขึ้นนั่นเอง
 
โดยทั่วไปแล้วคนส่วนใหญ่ก็ยังคงเชื่อว่าซอฟต์แวร์ Open Source จะต้องมีความปลอดภัยมากกว่า เพราะหลังจากที่มีผู้คนจำนวนมากตรวจสอบและทำงานกับ Code บางส่วน ดังนั้นโอกาสที่มันจะเกิดข้อผิดพลาดหรือเกิดช่องโหว่ด้านความปลอดภัยที่ถูกตรวจพบก็ยิ่งมากขึ้นตามไปด้วย แต่ในทางกลับกัน ข้อเท็จจริงที่ว่าช่องโหว่ Heartbleed bug ตรวจไม่พบใน OpenSSL Code ก่อนหน้านี้มานาน จึงเป็นเหตุที่ทำให้ใครหลายๆ คนเกิดความสงสัยเกี่ยวกับทฤษฎีนี้
 

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

 

คุณอาจจะมีคำถามในใจที่ว่า "ถ้าซอฟต์แวร์ Open Source นั้นฟรี! แล้วบริษัทอย่าง Red Hat และ Canonical จะสามารถทำเงินจากมันได้อย่างไร? "
 
ทั้งนี้ก็เพราะว่าองค์กรที่มีความเชี่ยวชาญในผลิตภัณฑ์ Open Source มักจะไม่ทำเงินจากการขายซอฟต์แวร์ของพวกเขาเอง แต่ทุกคนก็ยังสามารถดาวน์โหลดและใช้งานมันได้
 
นอกจากนี้ยังมีผู้คนจำนวนมากที่ต้องการจะนำเสนอผลิตภัณฑ์ในรุ่นที่มีการปรับปรุงให้แก่องค์กรธุรกิจ ซึ่งก็ถือว่าเป็นเงินในจำนวนที่องค์กรสามารถจ่ายได้ โดยสิ่งเหล่านี้ก็มักจะรวมถึงความยืดหยุ่นที่มากขึ้น, คุณสมบัติที่มากขึ้น, ตัวเลือกการจัดการและการบำรุงรักษาที่ง่ายขึ้นนั่นเอง ส่วนกลยุทธ์ที่ผู้จำหน่าย Open Source มักจะนำมาใช้ก็คือ การนำเสนอซอฟต์แวร์เพื่อให้ผู้คนได้นำไปใช้ได้อย่างอิสระ แต่จะระงับการสนับสนุนอย่างเป็นทางการและบริการเพิ่มเติมอื่นๆ จากบริษัทในส่วนที่ไม่ได้ทำสัญญา เนื่องจากธุรกิจไอทีต้องทำให้ช่วงเวลาของการหยุดทำงาน (Downtime) เกิดขึ้นน้อยที่สุดเท่าที่จะเป็นไปได้ ดังนั้น การสนับสนุนที่แข็งแกร่งจึงเป็นสิ่งจำเป็น และนี่ก็เป็นเหตุผลให้กลยุทธ์ดังกล่าวได้ผลเป็นที่น่าพอใจ
 

โครงการ Open Source ถูกสร้างขึ้นมาได้อย่างไร?

 

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

Open Source มีความปลอดภัยมากน้อยแค่ไหน?

 

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

ที่มา: 
https://bit.ly/2LWyrpH