ซอฟต์แวร์โอเพ่นซอร์สคืออะไรและทำไมจึงมีความสำคัญ

Geeks มักอธิบายโปรแกรมว่าเป็น "โอเพ่นซอร์ส" หรือ "ซอฟต์แวร์ฟรี" หากคุณสงสัยว่าคำศัพท์เหล่านี้หมายถึงอะไรและทำไมจึงมีความสำคัญโปรดอ่าน (ไม่ "ซอฟต์แวร์ฟรี" ไม่เพียง แต่หมายความว่าคุณสามารถดาวน์โหลดได้ฟรี)

ไม่ว่าโปรแกรมจะเป็นโอเพนซอร์สหรือไม่ไม่เพียง แต่มีความสำคัญต่อนักพัฒนาเท่านั้น แต่ในที่สุดก็มีความสำคัญสำหรับผู้ใช้ ใบอนุญาตซอฟต์แวร์โอเพ่นซอร์สทำให้ผู้ใช้มีอิสระที่พวกเขาจะไม่มี

เครดิตรูปภาพ: Quinn Dombrowski บน Flickr

ความหมายของโอเพ่นซอร์ส

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

ตัวอย่างเช่น Ubuntu Linux เป็นระบบปฏิบัติการโอเพ่นซอร์ส คุณสามารถดาวน์โหลด Ubuntu สร้างสำเนาได้มากเท่าที่คุณต้องการและมอบให้เพื่อนของคุณ คุณสามารถติดตั้ง Ubuntu บนคอมพิวเตอร์ของคุณได้ไม่ จำกัด จำนวน คุณสามารถสร้างรีมิกซ์ของแผ่นดิสก์การติดตั้ง Ubuntu และแจกจ่ายได้ หากคุณมีแรงจูงใจเป็นพิเศษคุณสามารถดาวน์โหลดซอร์สโค้ดสำหรับโปรแกรมใน Ubuntu และแก้ไขได้โดยสร้างโปรแกรมเวอร์ชันที่คุณกำหนดเองหรือของ Ubuntu เอง ใบอนุญาตโอเพนซอร์สทั้งหมดอนุญาตให้คุณทำสิ่งนี้ได้ในขณะที่ใบอนุญาตปิดแหล่งที่มาจะมีข้อ จำกัด สำหรับคุณ

สิ่งที่ตรงกันข้ามกับซอฟต์แวร์โอเพนซอร์สคือซอฟต์แวร์แบบปิดซึ่งมีใบอนุญาตที่ จำกัด ผู้ใช้และเก็บซอร์สโค้ดจากพวกเขา

Firefox, Chrome, OpenOffice, Linux และ Android เป็นตัวอย่างซอฟต์แวร์โอเพนซอร์สยอดนิยมในขณะที่ Microsoft Windows อาจเป็นซอฟต์แวร์ปิดที่ได้รับความนิยมมากที่สุด

โอเพ่นซอร์สกับซอฟต์แวร์ฟรี

โดยทั่วไปแอปพลิเคชันโอเพนซอร์สสามารถใช้งานได้อย่างอิสระแม้ว่าจะไม่มีอะไรหยุดยั้งนักพัฒนาในการเรียกเก็บเงินจากสำเนาของซอฟต์แวร์ได้หากอนุญาตให้แจกจ่ายแอปพลิเคชันและซอร์สโค้ดซ้ำในภายหลัง

อย่างไรก็ตามนั่นไม่ใช่สิ่งที่ "ซอฟต์แวร์ฟรี" อ้างถึง "ฟรี" ในซอฟต์แวร์เสรีหมายถึง "ฟรีเหมือนอิสระ" ไม่ใช่ "ฟรีเหมือนในเบียร์" ค่ายซอฟต์แวร์เสรีนำโดย Richard Stallman และ Free Software Foundation มุ่งเน้นไปที่จริยธรรมและศีลธรรมในการใช้ซอฟต์แวร์ที่ผู้ใช้สามารถควบคุมและแก้ไขได้ กล่าวอีกนัยหนึ่งค่ายซอฟต์แวร์เสรีมุ่งเน้นไปที่เสรีภาพของผู้ใช้

Richard Stallman ภาพโดย Fripog บน Flickr

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

ท้ายที่สุดแล้วทั้งผู้สนับสนุนซอฟต์แวร์โอเพนซอร์สและซอฟต์แวร์เสรีกำลังพัฒนาซอฟต์แวร์ประเภทเดียวกัน แต่พวกเขาไม่เห็นด้วยกับการส่งข้อความ

ประเภทของใบอนุญาต

โปรเจ็กต์โอเพนซอร์สที่ใช้มีใบอนุญาตที่แตกต่างกันมากมายขึ้นอยู่กับว่านักพัฒนาต้องการโปรแกรมใด

GPL หรือ GNU General Public License ใช้กันอย่างแพร่หลายโดยโครงการโอเพนซอร์สหลายโครงการเช่น Linux นอกเหนือจากคำจำกัดความข้างต้นทั้งหมดของโอเพนซอร์สแล้วข้อกำหนดของ GPL ระบุว่าหากใครแก้ไขโปรแกรมโอเพนซอร์สและแจกจ่ายงานอนุพันธ์พวกเขาจะต้องแจกจ่ายซอร์สโค้ดสำหรับงานอนุพันธ์ของตนด้วย กล่าวอีกนัยหนึ่งคือไม่มีใครสามารถใช้รหัสโอเพนซอร์สและสร้างโปรแกรมปิดแหล่งที่มาได้พวกเขาต้องปล่อยการเปลี่ยนแปลงกลับคืนสู่ชุมชน Microsoft เรียก GPL ว่าเป็น "ไวรัส" ด้วยเหตุนี้เนื่องจากบังคับให้โปรแกรมที่รวมโค้ด GPL ปล่อยซอร์สโค้ดของตนเอง แน่นอนว่านักพัฒนาโปรแกรมสามารถเลือกที่จะไม่ใช้รหัส GPL ได้หากเป็นปัญหา

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

ประโยชน์สำหรับผู้ใช้

นี่ไม่ใช่สิ่งที่แห้งแล้งและไม่สำคัญที่มีความสำคัญต่อนักพัฒนาเท่านั้น ประโยชน์ที่ชัดเจนที่สุดของซอฟต์แวร์โอเพนซอร์สคือสามารถใช้งานได้ฟรี ตัวอย่างของ Ubuntu Linux ข้างต้นทำให้ชัดเจน - แตกต่างจาก Windows คุณสามารถติดตั้งหรือแจกจ่ายสำเนาของ Ubuntu ได้มากเท่าที่คุณต้องการโดยไม่มีข้อ จำกัด นี่อาจเป็นเซิร์ฟเวอร์ที่มีประโยชน์อย่างยิ่ง - หากคุณกำลังตั้งค่าเซิร์ฟเวอร์คุณสามารถติดตั้ง Linux ลงไปได้ หากคุณกำลังตั้งค่าคลัสเตอร์เสมือนของเซิร์ฟเวอร์คุณสามารถทำซ้ำเซิร์ฟเวอร์ Ubuntu เครื่องเดียวได้อย่างง่ายดาย คุณไม่ต้องกังวลเกี่ยวกับการออกใบอนุญาตและจำนวนอินสแตนซ์ของ Linux ที่คุณได้รับอนุญาตให้เรียกใช้

โปรแกรมโอเพนซอร์สยังมีความยืดหยุ่นมากขึ้น ตัวอย่างเช่นอินเทอร์เฟซใหม่ของ Windows 8 ทำให้ผู้ใช้ Windows เดสก์ท็อปเป็นเวลานานหลายคนผิดหวัง เนื่องจาก Windows เป็นแบบปิดจึงไม่มีผู้ใช้ Windows ที่สามารถใช้อินเทอร์เฟซ Windows 7 แก้ไขและทำให้ทำงานได้อย่างถูกต้องบน Windows 8 (ผู้ใช้ Windows บางคนกำลังพยายาม แต่นี่เป็นกระบวนการที่ใช้ความพยายามในการทำวิศวกรรมย้อนกลับและแก้ไขไฟล์ไบนารี )

เมื่อเดสก์ท็อป Linux เช่น Ubuntu แนะนำอินเทอร์เฟซเดสก์ท็อปใหม่ที่ผู้ใช้บางคนไม่ใช่แฟนผู้ใช้จะมีตัวเลือกเพิ่มเติม ตัวอย่างเช่นเมื่อ GNOME 3 เปิดตัวผู้ใช้เดสก์ท็อป Linux จำนวนมากก็ถูกปิดใช้งานเท่า ๆ กัน บางคนเอาโค้ดไปใช้ GNOME 2 เวอร์ชันเก่าและแก้ไขเพื่อให้รันบนลีนุกซ์รุ่นล่าสุด - นี่คือ MATE บางคนนำโค้ดไปใช้ GNOME 3 และแก้ไขเพื่อให้ใช้งานได้ในแบบที่พวกเขาต้องการ - นี่คือ Cinnamon ผู้ใช้บางคนเพิ่งเปลี่ยนไปใช้เดสก์ท็อปทางเลือกที่มีอยู่ หาก Windows เป็นโอเพนซอร์สผู้ใช้ Windows 8 จะมีทางเลือกและความยืดหยุ่นมากขึ้น ลองดู CyanogenMod ซึ่งเป็นระบบจำหน่าย Android ยอดนิยมที่ขับเคลื่อนโดยชุมชนที่เพิ่มคุณสมบัติและการรองรับอุปกรณ์ใหม่ ๆ

ซอฟต์แวร์โอเพนซอร์สยังช่วยให้นักพัฒนาสามารถ“ ยืนบนบ่าของยักษ์ใหญ่” และสร้างซอฟต์แวร์ของตนเองได้ พบกับ Android และ Chrome OS ซึ่งเป็นระบบปฏิบัติการที่สร้างขึ้นบน Linux และซอฟต์แวร์โอเพนซอร์สอื่น ๆ แกนหลักของ OS X ของ Apple และสำหรับ iOS นั้นสร้างขึ้นจากรหัสโอเพนซอร์สเช่นกัน Valve กำลังทำงานอย่างหนักในการย้ายแพลตฟอร์มเกม Steam ไปยัง Linux เนื่องจากจะช่วยให้พวกเขาสร้างฮาร์ดแวร์ของตัวเองและควบคุมชะตากรรมของตัวเองในแบบที่ไม่สามารถทำได้บน Windows ของ Microsoft

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