คำจำกัดความและตัวอย่างของซอฟต์แวร์โอเพนซอร์ซ
à¹à¸§à¸à¹à¸²à¸à¸±à¸ à¸à¸à¸±à¸à¸à¸´à¹à¸¨à¸©
สารบัญ:
- เกณฑ์ซอฟต์แวร์โอเพ่นซอร์ส
- ใบอนุญาต
- ซอฟต์แวร์โอเพ่นซอร์สกับซอฟต์แวร์เชิงพาณิชย์
- ซอฟต์แวร์โอเพ่นซอร์สกับซอฟต์แวร์ฟรี
- ข้อดีของซอฟต์แวร์โอเพนซอร์ซ
- ซอฟต์แวร์ยอดนิยมประเภทโอเพ่นซอร์ส
- ซอฟต์แวร์และนักพัฒนาโอเพ่นซอร์ส
- บรรทัดล่าง
ซอฟต์แวร์โอเพนซอร์ซ (OSS) เป็นซอฟต์แวร์คอมพิวเตอร์ประเภทใดก็ตามที่แจกจ่ายพร้อมรหัสแหล่งที่มาสำหรับแก้ไข ซึ่งหมายความว่าโดยปกติจะมีใบอนุญาตสำหรับโปรแกรมเมอร์ที่จะเปลี่ยนซอฟต์แวร์ในแบบที่พวกเขาเลือก: พวกเขาสามารถแก้ไขข้อบกพร่องปรับปรุงฟังก์ชั่นหรือปรับซอฟต์แวร์ให้เหมาะกับความต้องการของตนเอง
เกณฑ์ซอฟต์แวร์โอเพ่นซอร์ส
Open Source Initiative (OSI) องค์กรไม่แสวงผลกำไรระดับโลกก่อตั้งขึ้นในปี 2541 ทำหน้าที่เป็นผู้นำใน OSS คำจำกัดความของซอฟต์แวร์โอเพนซอร์ซประกอบด้วย 10 เกณฑ์ที่เกี่ยวข้องกับเรื่องต่าง ๆ เช่น:
- การแจกจ่ายซอฟต์แวร์ซ้ำ
- ความพร้อมใช้งานของรหัสต้นฉบับและความสมบูรณ์
- การกระจายและคุณสมบัติของใบอนุญาต
- ผลงานที่ได้รับ
- ต่อต้านการเลือกปฏิบัติ
ใบอนุญาต
สิทธิ์การใช้งานที่แตกต่างกันอนุญาตให้โปรแกรมเมอร์แก้ไขซอฟต์แวร์ด้วยเงื่อนไขต่าง ๆ ที่แนบมา ตามฐานความรู้ของ Duck Black ฐานข้อมูลของโครงการโอเพ่นซอร์สประมาณสองล้านโครงการใบอนุญาตยอดนิยมห้ารายการคือ
- ใบอนุญาต MIT
- GNU General Public License (GPL) 2.0
- Apache License 2.0
- GNU General Public License (GPL) 3.0
- BSD License 2.0 (ข้อ 3 ใหม่หรือแก้ไข)
เมื่อคุณเปลี่ยนซอร์สโค้ด OSS ต้องการการรวมสิ่งที่คุณเปลี่ยนแปลงรวมทั้งวิธีการของคุณ ซอฟต์แวร์ที่สร้างขึ้นหลังจากการแก้ไขโค้ดอาจหรือไม่พร้อมให้บริการฟรี
ซอฟต์แวร์โอเพ่นซอร์สกับซอฟต์แวร์เชิงพาณิชย์
ซอฟต์แวร์ที่มีวางจำหน่ายทั่วไปในเชิงพาณิชย์หรือที่รู้จักกันในนามซอฟต์แวร์เชิงพาณิชย์ไม่อนุญาตให้เข้าถึงซอร์สโค้ดของซอฟต์แวร์นี้เนื่องจากซอฟต์แวร์ดังกล่าวเป็นทรัพย์สินทางปัญญาของผู้อื่น เป็นผลให้ผู้ใช้มักจะจ่ายมัน ในทางตรงกันข้าม OSS นั้นเป็นความร่วมมือ ซอฟต์แวร์นี้เป็นทรัพย์สินทางปัญญาที่ใช้ร่วมกันในหมู่ทุกคนที่ได้ช่วยพัฒนาหรือแก้ไข
ซอฟต์แวร์โอเพ่นซอร์สกับซอฟต์แวร์ฟรี
แม้ว่าคำดังกล่าวมักจะใช้แทนกันได้ แต่ OSS แตกต่างจากซอฟต์แวร์ฟรีเล็กน้อย ทั้งการจัดการกับความสามารถในการดาวน์โหลดและแก้ไขซอฟต์แวร์โดยไม่มีข้อ จำกัด หรือค่าใช้จ่าย อย่างไรก็ตามซอฟต์แวร์เสรี - แนวคิดที่พัฒนาขึ้นในปี 1980 โดย Richard Stallman นักวิจัยด้านวิทยาศาสตร์คอมพิวเตอร์ MIT นั้นถูกกำหนดโดยเงื่อนไขสี่ประการตามที่ระบุไว้โดยมูลนิธิซอฟต์แวร์เสรีที่ไม่แสวงหากำไร "สี่เสรีภาพ" นี้เน้นความสามารถของผู้ใช้ในการใช้และเพลิดเพลินกับซอฟต์แวร์ตามที่เห็นสมควร
ในทางตรงกันข้ามเกณฑ์ของ OSS ซึ่ง Open Source Initiative พัฒนาขึ้นในทศวรรษต่อมาให้ความสำคัญกับการปรับเปลี่ยนซอฟต์แวร์มากขึ้นและผลที่ตามมาของการแก้ไขซอร์สโค้ด, การออกใบอนุญาตและการจัดจำหน่าย
เห็นได้ชัดว่าทั้งสองทับซ้อนกัน บางคนบอกว่าความแตกต่างระหว่าง OSS และซอฟต์แวร์เสรีนั้นมีปรัชญามากกว่าการปฏิบัติ อย่างไรก็ตามไม่ควรสับสนกับฟรีแวร์ ฟรีแวร์มักจะอ้างถึงซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งผู้ใช้สามารถดาวน์โหลดได้โดยไม่มีค่าใช้จ่าย แต่ไม่สามารถเปลี่ยนซอร์สโค้ดได้
ข้อดีของซอฟต์แวร์โอเพนซอร์ซ
ในขณะที่การไม่มีต้นทุนเป็นข้อได้เปรียบที่สำคัญ OSS มีสิทธิประโยชน์เพิ่มเติมหลายประการ:
- คุณภาพของมันสามารถปรับปรุงได้อย่างง่ายดายและมากเมื่อซอร์สโค้ดถูกส่งผ่านไปทดสอบและแก้ไข
- มันมีโอกาสการเรียนรู้ที่มีคุณค่าสำหรับโปรแกรมเมอร์ พวกเขาสามารถใช้ทักษะกับโปรแกรมยอดนิยมที่มีอยู่ในปัจจุบัน
- สามารถมีความปลอดภัยมากกว่าซอฟต์แวร์ที่เป็นกรรมสิทธิ์เนื่องจากมีการระบุข้อบกพร่องและแก้ไขอย่างรวดเร็ว
- เนื่องจากอยู่ในโดเมนสาธารณะและมีการปรับปรุงอยู่ตลอดเวลาจึงมีโอกาสน้อยที่จะไม่สามารถใช้งานได้หรือล้าสมัยเร็วซึ่งเป็นข้อดีที่สำคัญสำหรับโครงการระยะยาว
ซอฟต์แวร์ยอดนิยมประเภทโอเพ่นซอร์ส
เทคโนโลยีโอเพ่นซอร์สช่วยสร้างอินเทอร์เน็ตจำนวนมาก นอกจากนี้โปรแกรมจำนวนมากที่ใช้งานทุกวันนั้นใช้เทคโนโลยีโอเพ่นซอร์ส ตัวอย่างในประเด็น: Android OS และ OS X ของ Apple ขึ้นอยู่กับเคอร์เนลและเทคโนโลยี Unix / BSD โอเพ่นซอร์สตามลำดับ
ซอฟต์แวร์โอเพนซอร์ซยอดนิยมอื่น ๆ คือ:
- เว็บเบราว์เซอร์ Firefox ของ Mozilla
- ไคลเอนต์อีเมลธันเดอร์เบิร์ด
- ภาษาสคริปต์ PHP
- ภาษาโปรแกรม Python
- Apache HTTP เว็บเซิร์ฟเวอร์
ซอฟต์แวร์และนักพัฒนาโอเพ่นซอร์ส
โครงการ OSS เป็นโอกาสการทำงานร่วมกันที่พัฒนาทักษะและสร้างการเชื่อมต่อในสาขา พื้นที่ที่นักพัฒนาสามารถทำงานได้ ได้แก่:
- เครื่องมือสื่อสาร อีเมลการส่งข้อความแบบเรียลไทม์ฟอรัมและวิกิช่วยให้นักพัฒนาค้นหาวิธีแก้ไขปัญหาหรือสะท้อนความคิดเห็นซึ่งกันและกัน
- ระบบควบคุมการแก้ไขแบบกระจาย เมื่อนักพัฒนาหลายคนในที่ตั้งทางภูมิศาสตร์ที่แตกต่างกันปรับเปลี่ยนข้อมูลและไฟล์ระบบเหล่านี้จะจัดการเวอร์ชันและการอัพเดทต่าง ๆ
- เครื่องมือติดตามบั๊กและรายการงาน คุณสมบัติเหล่านี้ช่วยให้โครงการขนาดใหญ่สามารถตรวจสอบปัญหาและติดตามการแก้ไขของพวกเขา
- เครื่องมือทดสอบและแก้ไขข้อบกพร่อง คุณสมบัติเหล่านี้ทำการทดสอบอัตโนมัติระหว่างการรวมระบบและดีบักโปรแกรมอื่น ๆ
บรรทัดล่าง
ซอฟต์แวร์โอเพ่นซอร์สเป็นอีกทางเลือกหนึ่งสำหรับซอฟต์แวร์ลิขสิทธิ์ การมีส่วนร่วมในโครงการ OSS อาจเป็นหนทางสู่การสร้างอาชีพในการพัฒนาซอฟต์แวร์ซึ่งช่วยให้โปรแกรมเมอร์สามารถฝึกฝนทักษะด้วยการทำงานกับโปรแกรมซอฟต์แวร์ที่ใหญ่ที่สุดในโลก Facebook, Google และ LinkedIn ปล่อย OSS ทั้งหมดเพื่อให้นักพัฒนาสามารถแบ่งปันความรู้คิดค้นโซลูชันและสนับสนุนผลิตภัณฑ์ที่มีความเสถียรและใช้งานได้