Music Hit In your life

วันอาทิตย์ที่ 27 ธันวาคม พ.ศ. 2552

โอเพนซอร์ส" (Open Source) คืออะไร?

"โอเพนซอร์ส" (Open Source) คืออะไร

โอเพนซอร์ส คือการเปิดเผยซอร์สโค้ด(source code) ที่ใช้ในการพัฒนาหรือเขียนโปรแกรม ความหมายในทางซอฟต์แวร์หมายถึงซอฟต์แวร์ที่ผู้พัฒนาซอฟต์แวร์ มีความตั้งใจที่จะเผยแพร่หรือแจกจ่ายผลงานไปให้บุคคลอื่นที่ต้องการโดยมีเงื่อนไขที่กำหนดไว้ในข้อตกลงยินยอม (licensing agreement) และแจกจ่ายให้กับผู้ใช้ที่ต้องการด้วยรหัสที่ทำงานได้ (executable code) พร้อมกับซอร์สโค้ด (source code) ที่สามารถแก้ไขปรับปรุงเปลี่ยนแปลง ภายใต้ข้อตกลงยินยอมตาม (licensing agreement) และลิขสิทธิ์ของตัวซอฟต์แวร์
ความแตกต่างระหว่างซอฟต์แวร์โอเพนซอร์สกับซอฟต์แวร์ประเภทอื่น
สามารถจำแนกซอฟต์แวร์ออกได้เป็น 4 กลุ่ม ดังต่อไปนี้
• Proprietary/Commercial Software ให้เฉพาะไบนารีโค้ดเท่านั้น ไม่เปิดเผยซอร์สโค้ด
• Shareware ให้ใช้ฟรีเฉพาะช่วงเริ่มต้นเท่านั้นเพื่อทดลองการใช้งาน แต่หลังนั้น จะต้องเสียค่าใช้จ่าย หรือให้ใช้งานโดยไม่จำกัดเวลาแต่จะจำกัดความสามารถหรือคุณสมบัติบางอย่างของโปรแกรมไว้ และไม่เปิดเผยซอร์สโค้ด
• Freeware ไม่ต้องเสียค่าใช้จ่าย และไม่เปิดเผยซอร์สโค้ด
• Open Source Software (OSS) ให้ซอร์สโค้ด ซึ่งจะมีทั้ง Commercial OSS(เสียค่าใช้จ่าย) และ Non-commercial OSS(ไม่เสียค่าใช้จ่าย) โดยทั่วไปจะสามารถดาวน์โหลดได้จากเว็ปไซต์ คุณสมบัติหลักของซอฟต์แวร์โอเพนซอร์ส คือ จะให้อิสระกับผู้ใช้ในการนำไปใช้ นำไปแจกจ่าย และนำไปปรับปรุงแก้ไข อย่างไรก็ตามจะมีข้อแตกต่างกันในส่วนของสิทธิ์ในการนำไปใช้ในทางธุรกิจ สำหรับ Commercial OSS เนื่องจากลิขสิทธิ์ของโอเพนซอร์สจะไม่ห้ามให้นำไปคิดค่าใช้จ่าย

คุณสมบัติที่สำคัญของซอฟต์แวร์โอเพนซอร์ส

• การเข้าถึงซอร์สโค้ดโดยที่แจกจ่าย หรือการกระจายซอฟต์แวร์กระทำโดยการแนบซอร์สโค้ดร่วมกับไบนารีโค้ด การที่ให้ผู้ใช้
หรือบุคคลอื่นเข้าถึงซอร์สโค้ดได้ เพื่อที่จะทำการปรับปรุง และใช้ประโยชน์ซอร์สโค้ดเพื่อการศึกษา ทำความเข้าใจ เรียนรู้เทคนิค ตลอดจนการเพิ่มเติมปรับปรุงคุณสมบัติ หรือองค์ประกอบบางส่วนของซอฟต์แวร์ได้
• การมีข้อตกลงเกี่ยวกับสิทธิ (licensing agreement) ในการอนุญาตให้แจกจ่ายเผยแพร่ซอฟต์แวร์ที่เริ่มพัฒนาขึ้น และกระจาย
ต่อเมื่อมีการปรับปรุงแก้ไขให้ดีขึ้นหรือเพิ่มเติม

บทบาทและความสำคัญของซอฟต์แวร์โอเพนซอร์ส

หากมองย้อนไปในอดีตถึงความสำเร็จของเทคโนโลยีอินเทอร์เน็ต หัวใจสำคัญที่ทำให้ประสบความสำเร็จ คือโอเพนซอร์สโค้ดซอฟต์แวร์ เมื่อครั้งมีการพัฒนาอินเทอร์เน็ตและโพรโตคอล TCP/IP ยังมีที่เป็นระบบปิดอีกหลายเทคโนโลยี เช่น SNA, DECNET รวมถึงเทคโนโลยีทางด้านเครือข่ายแบบอื่น ๆ อีกมาก แต่เนื่องจากอินเทอร์เน็ตได้รับแรงหนุนจากกลุ่มผู้พัฒนาในมหาวิทยาลัย ซึ่งไม่ได้เน้นในเรื่องทางการค้าหรือหาผลประโยชน์ และได้รับการสนับสนุนโดยมูลนิธิการศึกษาวิทยาศาสตร์แห่งชาติสหรัฐ (NSF) ขณะเดียวกันมีระบบปฏิบัติการยูนิกซ์หลายตัวในยุคแรก เช่น BSD Unix อยู๋ในรูปแบบโอเพนซอร์ส หลังจากนั้นมีโปรแกรมแบบโอเพนซอร์สที่มีบทบาทที่สำคัญตามมาอีกหลายโปรแกรม เช่น GNU C คอมไพเลอร์ที่ได้รับความนิยมสูงในหมู่ผู้พัฒนาโปรแกรม การพัฒนาระบบยูนิกซ์ทำให้เกิดการพัฒนาโปรแกรม BIND ซึ่งเชื่อมโยงระบบ DNS ของทั่วโลกเข้าด้วยกันทำให้อินเทอร์เน็ตที่ใช้ในปัจจุบัน ใช้ระบบฐานข้อมูล DNS แบบร่วมกัน ซึ่งก็เป็นส่วนของโอเพนซอร์ส ในยุคแรกมีความสำเร็จของโปรแกรมโอเพนซอร์สที่กระจายอยู่บนอินเทอร์เน็ตและใช้มาถึงปัจจุบันคือ ระบบอีเมล ที่มีโปรแกรม Sendmail มีโปรแกรมแก้ไขข้อความที่รู้จักกันดีคือ EMAC ในเวลาต่อมา เมื่อเทคโนโลยี World Wide Web กระจายตัวมากยิ่งขึ้น การสร้างเครื่องให้บริการเว็บก็มีโปรแกรมโอเพนซอร์สเข้ามาช่วยทำให้การให้บริการเว็บกระจายเร็วยิ่งขึ้น



ลิขสิทธิ์ซอฟต์แวร์โอเพนซอร์ส

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

เมื่อการพัฒนาโอเพนซอร์สซอฟต์แวร์เกิดขึ้นจากกลุ่มคนจำนวนมาก จึงมีการกำหนดลิขสิทธิ์ในการใช้งานโดยมี คือผู้ที่มี
บทบาทสำคัญมากในด้านเทคโนโลยีโอเพนซอร์ส โดยได้ก่อตั้งองค์กรหนึ่งชื่อ FSF - Free Software Foundation ในปี ค.ศ.1983 ด้วยเหตุผลที่ว่า ธุรกิจซอฟต์แวร์ทำขึ้นเพื่อการค้า และจะเป็นอุปสรรคใหญ่ต่อการพัฒนาซอฟต์แวร์ เพราะการพัฒนาที่ไม่เปิดเผยซอร์สโค้ด และการที่มีปัญหาเรื่องลิขสิทธิ์ต่างๆ ทำให้การพัฒนาซอฟต์แวร์ต้องติดขัดและขาดความก้าวหน้า เขาจึงเสนอรูปแบบการพัฒนาและลิขสิทธิ์ซอฟต์แวร์ที่ชื่อว่า GPL - General Public License โดยมีองค์กรที่เขาเป็นผู้ก่อตั้งให้มาเป็นผู้พิจารณาและดูแลในเรื่องกฏหมาย
ริชาร์ด สตอลแมน ได้เริ่มโครงการโดยที่เอาซอฟต์แวร์มาเผยแพร่โดยใช้ชื่อโครงการว่า GNU (กะนู) โดยมาจากคำว่า GNU’s Not Unix ซึ่ งเป็นที่มาของซอฟต์แวร์ที่เป็นเครื่องมือในการพัฒนาซอฟต์แวร์ต่อไปอีกหลายตัว เช่น GNU C ซึ่งเป็นคอมไพเลอร์ที่นิยมใช้กันอย่างแพร่หลาย
GNU จึงมีลิขสิทธิ์แบบ GPL ซึ่งเป็นลิขสิทธิ์ที่ถูกต้องตามกฏหมาย และมีกฏหมายรองรับ แต่มีข้อแตกต่างกับลิขสิทธิ์ซอฟต์แวร์ เพื่อการค้าอื่นคือ GPL ให้สิทธิแก่ผู้ใช้มากกว่า เพราะให้สิทธิ์ในการใช้ทำสำเนา ในการแจกจ่ายต่อ หรือได้ซอร์สโค้ดมาเพื่อพัฒนาแก้ไขดัดแปลง ไม่ว่าการกระทำพื้น ๆ มีวัตถุประสงค์เพื่อการศึกษา หรือเพื่อธุรกิจเชิงพาณิชย์ แต่ได้เน้นข้อพิเศษไว้คือ ห้ามเปลี่ยนแปลงหลักการ เงื่อนไข หรือข้อตกลงใดๆ ที่กำหนดไว้ในซอฟต์แวร์ที่ใช้ลิขสิทธิ์แบบ GPL กล่าวคือ ถ้าผู้ใช้นำลิขสิทธิ์แบบ GPL ไปใช้ และพัฒนาต่อต้องคงลิขสิทธิ์แบบ GPL ไปใช้ และพัฒนาต่อ ต้องคงลิขสิทธิ์แบบ GPL ไว้ต่อไป ทั้งนี้นั้นเป็นข้อดีที่เป็นแนวความคิดที่ป้องกันไว้ในกรณีที่บุคคลต่อไปจะไปสร้างสิทธิหรือจำกัดสิทธิ์แก่ผู้อื่นที่เปลี่ยนไปจากเดิม



.
.
.

ไม่มีความคิดเห็น:

แสดงความคิดเห็น