1.13k likes | 1.35k Views
OPENSOURCE กับการพัฒนาเทคโนโลยีสารสนเทศของไทย. เสรี ชิโนดม สำนักคอมพิวเตอร์ มหาวิทยาลัยบูรพา สมาพันธ์โอเพนซอร์สแห่งประเทศไทย http://www.tosf.org. หัวข้อนำเสนอ. ประวัติความเป็นมาของซอฟต์แวร์โอเพนซอร์ส ความหมายของซอฟต์แวร์โอเพนซอร์ส สัญญาอนุญาตแบบต่างๆ
E N D
OPENSOURCE กับการพัฒนาเทคโนโลยีสารสนเทศของไทย เสรีชิโนดม สำนักคอมพิวเตอร์มหาวิทยาลัยบูรพา สมาพันธ์โอเพนซอร์สแห่งประเทศไทย http://www.tosf.org
หัวข้อนำเสนอ • ประวัติความเป็นมาของซอฟต์แวร์โอเพนซอร์ส • ความหมายของซอฟต์แวร์โอเพนซอร์ส • สัญญาอนุญาตแบบต่างๆ • แนวโน้มการพัฒนาเทคโนโลยีสารสนเทศของไทยโดยใช้ซอฟต์แวร์โอเพนซอร์ส • ข้อดีและข้อเสียของการนำซอฟต์แวร์โอเพนซอร์สมาใช้ในการพัฒนาเชิงพาณิชย์ • แหล่งสืบค้นข้อมูลของซอฟต์แวร์โอเพนซอร์ส
GNU ‘s not UNIX • จัดตั้ง โดย Richard Stallman ในปี 1984 • ต้องการให้มีการเผยแพร่ระบบปฏิบัติการแบบไม่มีค่าใช้จ่าย • Emacs • gcc- C compiler • Bash shell • Hurd (OS) start • 1985 GNU ได้ประกาศเป็นทางการ • เครื่องมือและโปรแกรมยูติลิตี้ของลีนุกซ์เป็น GNU tools
Cathedral & Bazaar • เผยแพร่ในปี 1997 โดย Eric S Raymond • แสดงให้เห็นถึงความแตกต่างขั้นพื้นฐานของรูปแบบ การพัฒนาซอฟต์แวร์ให้สิทธิการใช้กับซอฟต์แวร์โอเพนซอร์ส โดยการใช้ลีนุกซ์ (Linux) เป็นตัวแทนของซอฟต์แวร์โอเพนซอร์ส
Cathedral & Bazaar • Raymond ใช้คำว่า “Cathedral” ซึ่งหมายถึงรูปแบบส่วนใหญ่ในโลกเชิงธุรกิจและ “Bazaar” ว่าหมายถึง รูปแบบของโลกลินุกซ์ (Linux World) ซึ่งผู้พัฒนาอิสระนับพันคนจากทั่วโลก มีการติดต่อกันโดยทางของอินเทอร์เน็ต เพื่อร่วมกันพัฒนาระบบปฎิบัติการที่น่าเชื่อถือที่สุดที่ใช้กันอยู่ในปัจจุบัน • 1998 Eric Raymond ได้ช่วย บริษัท Netscape ในการจัดทำ ‘open source’ • พยายามสนับการพัฒนาแบบ free software
เปรียบเทียบการพัฒนาของซอฟต์แวร์ให้สิทธิการใช้กับซอฟต์แวร์โอเพนซอร์ส
เปรียบเทียบลักษณะทั่วไปของซอฟต์แวร์ให้สิทธิการใช้กับซอฟต์แวร์โอเพนซอร์สเปรียบเทียบลักษณะทั่วไปของซอฟต์แวร์ให้สิทธิการใช้กับซอฟต์แวร์โอเพนซอร์ส
ลีนุกซ์ • ได้พัฒนาระบบลีนุกซ์ขึ้นโดย ลีนุส ทอร์วัลด์ส (Linus Torvalds) ในปี 1991 ขณะนั้นกำลังศึกษา ปริญญาโท สาขา Computer Scienceที่มหาวิทยาลัยเฮลซิงกิ (Helsinki)ในประเทศฟินแลนด์
ลีนุกซ์ • ลีนุส ทอร์วัลด์ส พัฒนาระบบลีนุกซ์โดย ศึกษาระบบปฏิบัติการมินิกซ์ (Minix) ซึ่งพัฒนามาจากยูนิกซ์เพื่อใช้งานบน เครื่องคอมพิวเตอร์พีซี • • ลีนุสทอร์วัลด์ส เห็นว่ามินิกซ์ยังใช้งานไม่ได้ดีจึงปรับปรุงพัฒนาใหม่จาก ยูนิกซ์ได้เป็นลีนุกซ์
โอเพนซอร์สคืออะไร Open Source ≅ Free Software Free Software ≠ Freeware Free Software ≠ Freeware ฟรีแต่ขายได้
Free Software คืออะไรwww.fsf.org ซอฟต์แวร์ที่มีเสรีภาพ ในการ • ใช้งาน (freedom to run ) • ศึกษา (freedom to study) • แจกจ่ายต่อ (freedom to redistribute) • ปรับปรุง (freedom to improve)
โอเพนซอร์สต้องรวมความดังต่อไปนี้โอเพนซอร์สต้องรวมความดังต่อไปนี้ • Free Redistributionเผยแพร่ได้อย่างเสรี; ไม่จำกัดไม่ให้ขายหรือแจก; ทำซ้ำ ขาย หรือแจกจ่ายได้โดยไม่ต้องจ่ายค่า Royalty fee • Source Codeซอร์สโค้ด:นอกจากโปรแกรมที่ compile แล้วต้องเผยแพร่ Source code ด้วย • Derived Worksงานต่อเนื่อง ;อนุญาตให้แก้ไข ปรับแต่ง ดัดแปลง และต้องเผยแพร่ต่อภายใต้ license ต้นฉบับ
โอเพนซอร์สต้องรวมความดังต่อไปนี้โอเพนซอร์สต้องรวมความดังต่อไปนี้ • Integrity of the Authors Source Codeการคงความสมบูรณ์ในซอร์สโค้ดของผู้เขียน;ต้นฉบับอาจกำหนดให้เผยแพร่ฉบับแก้ไขได้ด้วย patch file เพื่อระบุส่วนความรับผิดชอบของ Source code • No Discrimination Against Persons or Groupsการไม่เลือกปฏิบัติต่อบุคคลหรือกลุ่ม ; ไม่แบ่งแยกหรือกีดกันบุคคลหรือกลุ่มบุคคลในการเข้าถึงซอฟต์แวร์ • No Discrimination Against Fields of Endeavorการไม่เลือกปฏิบัติในการจำกัดสาขาการใช้งาน; • ไม่แบ่งแยกหรือกีดกันการใช้ซอฟต์แวร์เฉพาะงานหรือสาขา
โอเพนซอร์สต้องรวมความดังต่อไปนี้โอเพนซอร์สต้องรวมความดังต่อไปนี้ • Distribution of Licenseการเผยแพร่สัญญาอนุญาต; ต้องให้สิทธิเท่าเทียมกันกับทุกฝ่าย โดยต้องไม่มี license เพิ่มเติมเฉพาะฝ่าย; ป้องกันการเรียกร้อง non-disclosure agreement • License Must Not Be Specific to a Productสัญญาอนุญาตต้องไม่เจาะจงผลิตภัณฑ์; ทุกส่วนของต้นฉบับต้องอนุญาตสิทธิที่เท่าเทียมกันสำหรับทุกฝ่ายในการนำไปใช้งาน
โอเพนซอร์สต้องรวมความดังต่อไปนี้โอเพนซอร์สต้องรวมความดังต่อไปนี้ • The License Must Not Restrict Other Softwareสัญญาอนุญาตต้องไม่จำกัดซอฟต์แวร์อื่นๆ License ต้องไม่มีผลถึงซอฟต์แวร์อื่นที่เผยแพร่ไปในสื่อเดียวกัน • No provision of the license may be predicated on any individual technology or style of interfaceสัญญาอนุญาตต้องเป็นกลางทางเทคโนโลยี ไม่มีบทบัญญัติในสัญญาอนุญาตที่ไม่ผูกกับเทคโนโลยีหรือรูปแบบอินเตอร์เฟสแบบใดแบบหนึ่ง
ซอฟต์แวร์เสรี (Free Software) • คำว่าซอฟต์แวร์เสรี (บางครั้งก็เรียกว่าฟรีซอฟต์แวร์) หมายถึง อิสรภาพในการใช้ซอฟต์แวร์นั้นๆ ในทุกๆ วัตถุประสงค์ ไม่ว่าจะเป็นการศึกษาการทำงานของโปรแกรม การประยุกต์ซอฟต์แวร์ให้เป็นไปตามความต้องการของผู้ใช้ การเผยแพร่ซ้ำและการเพิ่มขีดความสามารถในโปรแกรมและเผยแพร่โปรแกรมที่มีการปรับปรุงแล้วสู่สาธารณชนเพื่อประโยชน์ของประชาคมโดยรวม
ซอฟต์แวร์สาธารณะ (Public domain software) • ซอฟต์แวร์สาธารณะเป็นซอฟต์แวร์ที่ไม่มีลิขสิทธิ์ ในบางกรณีโปรแกรมกระทำการ (Executable Program) สามารถอยู่ใน Public Domain โดยไม่มีซอร์สโค้ดให้ ซึ่งไม่จำกัดว่าเป็นซอฟต์แวร์เสรี เพราะซอฟต์แวร์เสรีต้องสามารถเข้าถึงซอร์สโค้ดได้
Copylefted software • Copylefted software เป็นซอฟต์แวร์เสรีที่มีข้อกำหนดเกี่ยวกับการเผยแพร่ซอฟต์แวร์นั้นๆ ว่า ผู้ที่ทำการดัดแปลงและเผยแพร่ซอฟต์แวร์ซ้ำ จะไม่สามารถตั้งข้อจำกัดในการใช้ซอฟต์แวร์นั้นๆ ได้ ซึ่งหมายความว่า ซอฟต์แวร์เสรีที่เป็น Copylefted software ถึงแม้จะมีการนำมาดัดแปลง ก็จะต้องยังคงเป็นซอฟต์แวร์เสรีอยู่
ฟรีแวร์ (Freeware) • ฟรีแวร์มักจะใช้กับชุดของซอฟต์แวร์ที่อนุญาตให้เผยแพร่ซ้ำได้แต่ไม่สามารถดัดแปลงซอฟต์แวร์ได้ ฟรีแวร์จะไม่ให้ซอร์สโค้ด ซึ่งซอฟต์แวร์ในลักษณะนี้จะไม่ใช่ซอฟต์แวร์เสรี
แชร์แวร์ (Shareware) • แชร์แวร์ เป็นซอฟต์แวร์ที่มาพร้อมกับการอนุญาตอให้ผู้ใช้สามารถเผยแพร่ซ้ำซอฟต์แวร์นั้นๆ แต่ผู้ที่ใช้ซอฟต์แวร์นั้นต่อจะต้องจ่ายค่าสัญญาอนุญาต แชร์แวร์ไม่ใช่ซอฟต์แวร์เสรีหรือแม้แต่กึ่งซอฟต์แวร์เสรีโดยส่วนใหญ่ แชร์แวร์จะไม่ให้ซอร์สโค้ด
ซอฟต์แวร์เชิงพาณิชย์ (Commercial Software) • ซอฟต์แวร์เชิงพาณิชย์เป็นซอฟต์แวร์ที่พัฒนาโดยธุรกิจซึ่งมีจุดมุ่งหมายในการหารายได้จากผู้ใช้ซอฟต์แวร์ • ซอฟต์แวร์เชิงพาณิชย์ กับ ซอฟต์แวร์ให้ใช้สิทธิ์ ไม่เหมือนกัน โดยซอฟต์แวร์เชิงพาณิชย์ส่วนใหญ่เป็นซอฟต์แวร์ที่ให้สิทธิ์การใช้แต่ก็มีบ้างที่เป็นซอฟต์แวร์เสรีเชิงธุรกิจ และก็มีบ้างที่ไม่ใช่ซอฟต์แวร์เชิงพาณิชย์และไม่ใช่ซอฟต์แวร์เสรี
สัญญาอนุญาต(License) • ปัจจุบันมีข้อสัญญาอนุญาตมากมายที่สามารถจำแนกออกเป็นกลุ่มๆ ได้ ที่เป็นสัญญาอนุญาตพื้นฐานและเป็นที่รู้จักกันอย่างกว้างขวางได้แก่ • The GNU General Public License (GPL) • The GNU Library or "Lesser" Public License (LGPL) • The BSD license • The MIT license • The Artistic license • The Mozilla Public Licensev. 1.0 (MPL)
ข้อแนะนำสำหรับสัญญาอนุญาต OSS ที่เหมาะสมกับความต้องการ
ตัวอย่าง License • GPL : Emacs • LGPL : C Library [can include in product] • X, BSD, Apache [gov. own; approx. public domain] • Artistic : Perl [non-sale, but can sell if others] • MPL : Mozilla [no allowing Netscape to re-distribution the mod.] • NPL : Netscape [allow Netscape to re-distribution the mod.]
สัญญาอนุญาต(2) • The Qt Public License (QPL) • The IBM Public License • The MITRE Collaborative Virtual Workspace License (CVW License) • The Ricoh Source Code Public License • The Python license (CNRI Python License) • The Python Software Foundation License • The zlib/libpng license • The Apache Software License • The Vovida Software License v. 1.0 • The Sun Industry Standards Source License (SISSL) • The Intel Open Source License
สัญญาอนุญาต(3) • The Mozilla Public License 1.1 (MPL 1.1) • The Jabber Open Source License • The Nokia Open Source License (NOKOS License) Version 1.0a • The Sleepycat License • The Nethack License • The Common Public License • The Apple Public Source License • The X.Net License • The Sun Public License
สัญญาอนุญาต(4) • The Effiel Forums License • The W3C License • The Motosoto License • The Open Group Test Suite License • The Zope Public License • The zlib/libpng License • The Academic Free License • The Attribution Assurance License
สามารถดูรายละเอียดได้ที่สามารถดูรายละเอียดได้ที่ • http://www.gnu.org/ • http://www.opensource.org/ • http://conferences.oreillynet.com/os2002/ • http://www.slat.org/project/legal/GNU_GPL_Chinese • http://www.gnu.org/licenses/translations.zh.html
Linux distribution OpenOffice PHP-Nuke Perl PHP Apache XML gdb OpenOffice MySQL PostgreSQL JAVA Python BIND Sendmail gcc gnome ตัวอย่าง ซอฟต์แวร์โอเพนซอร์ส
Open Source Operating Systems Unix Many Flavors of Linux Free BSD Others
Some Linux Distributions Red Hat
Open Source Applications
Zope is a leading open source application server, specializing in content management, portals, and custom applications. Zope enables teams to collaborate in the creation and management of dynamic web-based business applications such as intranets and portals.
OpenOffice.org: Mission Statement To create, as a community, the leading international office suite that will run on all major platforms and provide access to all functionality and data through open-component based APIs and an XML-based file format.
Mozilla is an open-source web browser and toolkit, designed for standards compliance, performance and portability. Netscape is the base code for Mozilla!
What is the GIMP The GIMP is the GNU Image Manipulation Program. It is a freely distributed piece of software suitable for such tasks as photo retouching, image composition and image authoring. We also try to provide as much information about the GIMP community and related projects as possible.
1995: The Java Technology Revolution Begins Sun introduces the first universal software platform, designed from the ground up for the Internet and corporate intranets. Java technology enables developers to write applications once to run on any computer.
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. Python is also usable as an extension language for applications that need a programmable interface.
What is PHP? PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.
Apache Web Server The Apache Software Foundation provides support for the Apache community of open-source software projects. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.
Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients. Samba is freely available under the GNU General Public License.
MySQL is the world's most popular Open Source Database, designed for speed, power and precision in mission critical, heavy load use. MySQL AB is the company owned by the MySQL founders.
The future of Open Source The future of Open Source is growing dramatically in all aspects of the computing community. From enterprise implementation to the desktop, Linux and others are gaining acceptance for reliability, cost effectivness and other benefits.
Recent Headlines Is Linux breaking Microsoft's grip?By Robert Lemos Special to ZDNet NewsNovember 4, 2002, 5:02 AM PTOpen-source software gave Microsoft a one-two punch this week, with the European Union and an African nonprofit educational organization showing preference for Linux systems.
Citing Security Risks, U. of California at Santa Barbara Bans Windows 2000 on Residential Network By BROCK READ The Chronicle of Higher Education Monday November 4th 2002