ซอฟต์แวร์โอเพ่นซอร์สคืออะไรและทำไมจึงมีความสำคัญ?
Geeks มักอธิบายโปรแกรมว่าเป็น "โอเพ่นซอร์ส" หรือ "ซอฟต์แวร์เสรี" หากคุณสงสัยว่าคำเหล่านี้มีความหมายอย่างไรและทำไมจึงมีความสำคัญ (ไม่“ ซอฟต์แวร์ฟรี” ไม่ได้หมายความว่าคุณสามารถดาวน์โหลดได้ฟรี)
ไม่ว่าจะเป็นโปรแกรมโอเพนซอร์ซหรือไม่ไม่สำคัญกับนักพัฒนาเท่านั้น แต่ท้ายที่สุดมันก็สำคัญสำหรับผู้ใช้เช่นกัน สิทธิ์การใช้งานซอฟต์แวร์โอเพนซอร์ซให้ผู้ใช้มีอิสระในการใช้งาน.
เครดิตรูปภาพ: Quinn Dombrowski on Flickr
ความหมายของโอเพนซอร์ส
หากโปรแกรมเป็นโอเพ่นซอร์สซอร์สโค้ดของโปรแกรมนั้นจะสามารถใช้ได้กับผู้ใช้อย่างอิสระ ผู้ใช้ - และคนอื่น ๆ - มีความสามารถในการใช้ซอร์สโค้ดนี้แก้ไขและแจกจ่ายเวอร์ชันของโปรแกรมเอง ผู้ใช้ยังมีความสามารถในการแจกจ่ายสำเนาของโปรแกรมต้นฉบับได้มากเท่าที่ต้องการ ทุกคนสามารถใช้โปรแกรมเพื่อจุดประสงค์ใดก็ได้ ไม่มีค่าธรรมเนียมใบอนุญาตหรือข้อ จำกัด อื่น ๆ เกี่ยวกับซอฟต์แวร์ OSI มีคำจำกัดความโดยละเอียดของ“ โอเพ่นซอร์ส” บนเว็บไซต์.
ตัวอย่างเช่น Ubuntu Linux เป็นระบบปฏิบัติการโอเพ่นซอร์ส คุณสามารถดาวน์โหลด 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 ผู้ใช้เดสก์ท็อปลีนุกซ์หลายคนก็ปิดตัวลงอย่างเท่าเทียมกัน บางคนนำรหัสไปเป็นรุ่นเก่า GNOME 2 และแก้ไขเพื่อให้สามารถใช้งานกับลีนุกซ์รุ่นล่าสุดได้ - นี่คือ MATE บางคนนำโค้ดไปที่ GNOME 3 และแก้ไขเพื่อให้มันทำงานในแบบที่พวกเขาต้องการ - นี่คือ Cinnamon ผู้ใช้บางคนเพิ่งเปลี่ยนไปใช้เดสก์ท็อปสำรองที่มีอยู่ หาก Windows เป็นโอเพ่นซอร์สผู้ใช้ Windows 8 จะมีทางเลือกและความยืดหยุ่นมากกว่า เพียงดูที่ CyanogenMod ซึ่งเป็น Android ที่ได้รับความนิยมและมีการกระจายชุมชนที่เพิ่มคุณสมบัติและรองรับอุปกรณ์ใหม่.
ซอฟต์แวร์โอเพนซอร์ซยังช่วยให้นักพัฒนา“ ยืนบนไหล่ของยักษ์” และสร้างซอฟต์แวร์ของตนเอง พยาน Android และ Chrome OS ซึ่งเป็นระบบปฏิบัติการที่สร้างขึ้นบน Linux และซอฟต์แวร์โอเพนซอร์ซอื่น ๆ แกนหลักของ OS X ของ Apple และ iOS นั้นสร้างขึ้นด้วยรหัสโอเพ่นซอร์สเช่นกัน Valve กำลังทำงานอย่างจริงจังในการย้ายแพลตฟอร์มเกม Steam ของพวกเขาไปยัง Linux เนื่องจากจะทำให้พวกเขาสร้างฮาร์ดแวร์ของตนเองและควบคุมชะตากรรมของตนเองในแบบที่เป็นไปไม่ได้บน Windows ของ Microsoft.
นี่ไม่ใช่คำอธิบายที่ละเอียดถี่ถ้วน - หนังสือทั้งเล่มเขียนขึ้นในหัวข้อนี้ - แต่ตอนนี้คุณควรมีความคิดที่ดีขึ้นเกี่ยวกับซอฟต์แวร์โอเพนซอร์ซที่แท้จริงคืออะไรและทำไมจึงเป็นประโยชน์กับคุณ.