Free Softwareสมชัย หลิมศิโรรัตน์ 23 สิงหาคม 2545 |
เกริ่นนำที่ผมขึ้นหัวเรื่องไว้แบบนี้ ไม่ใช่ว่าผมจะมาขายโปรแกรมอะไรหรอกนะครับ คำๆนี้อาจจะไม่ค่อยคุ้นหูเท่ากับคำว่าโอเพนซอร์ส (Open Source) แต่เรื่องอุดมการณ์แล้วเหมือนกันครับ คือ ต้องการให้สิทธิกับผู้ที่ได้รับซอฟต์แวร์ในการที่จะทำซ้ำ, แก้ไข หรือแจกจ่ายไปยังผู้อื่นต่อๆไปไม่มีที่สิ้นสุด ซึ่งคำว่า free ในที่นี้จึงไม่ได้หมายถึงไม่คิดเงิน แต่หมายถึงเสรีภาพ จึงมีคนแปลคำนี้เป็นภาษาไทยว่า ซอฟต์แวร์เสรี ซึ่งต่างจากคำว่า Freeware ที่หมายถึง ซอฟต์แวร์ที่ไม่คิดเงิน แต่ไม่ได้พูดถึงเสรีภาพในการแก้ไขซอฟต์แวร์นั้น หลายคนอาจจะเข้าใจผิดคิดว่าเมื่อได้รับซอฟต์แวร์เสรีแล้ว ซอฟต์แวร์นั้นจะกลายเป็นของตัวเองคือเป็นลิขสิทธิ์ (Copyright) ของตัวเอง ซึ่งเป็นความคิดที่ผิดครับ ของทุกอย่างมีผู้สร้างซึ่งเป็นผู้ที่มีลิขสิทธิ์ในงานนั้นๆ การให้สิทธิกับผู้รับนั้นจะกระทำผ่านใบอนุญาต หรือสัญญาอนุญาต (License) ซึ่งจะเขียนไว้ชัดเจนว่า ผู้รับมีสิทธิที่จะทำอะไรหรือไม่มีสิทธิทำอะไรต่อสิ่งนั้นบ้างเท่านั้น ไม่ได้หมายความว่าได้โอนลิขสิทธิ์เป็นของผู้รับ ซึ่งเรื่องนี้หลายคนเข้าใจผิดไปมาก ในบทความนี้ผมจึงอยากจะให้ทุกคนได้สนใจ และทำความเข้าใจกับสัญญาอนุญาตให้ลึกซึ้งมากขึ้นนะครับ โดยจะเน้นที่สัญญาอนุญาตสาธารณะหรือที่เรียกว่า Public License ครับ ในบทความนี้ผมขออนุญาตคงชื่อภาษาอังกฤษหลายๆคำไว้โดยไม่แปล โดยเฉพาะคำย่อทั้งหลาย เพราะชื่อหรือคำย่อเหล่านั้น เป็นเสมือนเครื่องหมายหรือสัญลักษณ์แทนสิ่งนั้น ซึ่งเป็นที่รู้จักกันดีทั่วโลก จึงอยากจะให้ผู้อ่านได้ทราบและใช้คำที่ตรงกันครับ ที่มาอุดมการณ์ในการเปิดเผยซอร์สโคดนั้นความจริงมีมานานแล้ว ตั้งแต่ปี 1977 ที่มหาวิทยาลัยของแคลิฟอร์เนีย (University of California, Berkeley) นั่นคือ Berkeley Software Distribution (BSD) ซึ่งเป็นกลุ่มที่พยายามค้นคว้าวิจัยเพื่อปรับปรุงระบบยูนิกส์ (UNIX) ให้ดีขึ้นด้วยการแจกจ่ายซอร์สโคดโดยเสรี ซึ่งเดิมทีนั้นเป็นของบริษัทเอทีแอนด์ที (AT&T) แต่อุดมการณ์นี้ยิ่งเพิ่มความนิยมมากขึ้นเมื่อบริษัทไมโครซอฟต์ (Microsoft Corporation) ใช้เล่ห์เหลี่ยมต่างๆอย่างเห็นได้ชัดในการทำธุรกิจเพื่อให้ตลาด เป็นของตนแต่เพียงผู้เดียวที่เรียกกันว่าโมโนโพลี (Monopoly) จนมีเรื่องฟ้องร้องกันมากมาย ในที่สุด จุดเริ่มต้นของความนิยมก็เริ่มขึ้น เมื่อปี 1991 จากการที่นายไลนัส ทอรวาลดส์(Linus Torvalds) ซึ่งสมัยนั้นเป็นนักศึกษาที่ มหาวิทยาลัยของเฮลสินคิ (University of Helsinki) ในประเทศฟินแลนด์ ได้สร้างแก่นของระบบ (kernel) ที่ชื่อว่าลินุกส์ (Linux) ขึ้นมาสำหรับใช้กับระบบปฏิบัติการเล็กๆที่เลียนแบบระบบยูนิกส์ที่ชื่อว่ามินิกส์ (Minix) ให้ทำงานบนเครื่องที่ใช้ ไมโครโปรเซสเซอร์ของบริษัทอินเทล (Intel) 80386 ได้ ภายใต้สัญญาอนุญาตแบบที่เรียกว่า GNU General Public License (GPL) ซึ่งเมื่อระบบ GNU/Linux เป็นที่นิยม อุดมการณ์ก็แผ่กระจายออกไปด้วย เพราะหลักการของ GPL นั่นเอง โครงการ GNU (GNUs Not Unix) เริ่มต้นเมื่อปี 1984 โดยนายริชาร์ด เอ็ม สทอลล์แมน (Richard M. Stallman, RMS) เพื่อสร้างระบบปฏิบัติการเลียนแบบระบบยูนิกส์ ด้วยอุดมการณ์ที่จะแลกเปลี่ยนซอร์สโคดซึ่งกันและกันโดยเสรี ซึ่งโดยปกติแล้วซอฟต์แวร์ทุกตัวจะมีลิขสิทธิ์ เมื่อต้องการให้ผู้อื่นนำไปใช้ได้โดยเสรีก็จะต้องถอนลิขสิทธิ์ออก นั่นคือการทำให้ซอฟต์แวร์ตัวนั้นกลายเป็นสาธารณสมบัติ หรือที่เรียกว่าซอฟต์แวร์สาธารณะ (Public Domain Software) แต่เมื่อมีผู้นำซอฟต์แวร์สาธารณะตัวนี้ไปแก้ไข ผู้แก้ไขจะสามารถอ้างเป็นลิขสิทธิ์ของตนได้ ซึ่งทำให้ความเสรีนั้นหยุดลง จึงได้มีการสร้างกลไกอันหนึ่งขึ้นเพื่อให้ความเสรีนั้นยังคงมีอยู่คู่ซอฟต์แวร์นั้นต่อไปเรื่อยๆ นั่นคือวิธีการที่เรียกว่า Copyleft ซึ่งต่อต้าน Copyright โดยหลักการมีอยู่ว่า ปกติแล้วเจ้าของซอฟต์แวร์ที่มีลิขสิทธิ์จะใช้ลิขสิทธิ์นั้นจำกัดความเสรีของผู้ใช้ แต่วิธีของซอฟต์แวร์เสรีจะใช้ลิขสิทธิ์รับประกันความเสรีของผู้ใช้แทน ในปี 1985 นายริชาร์ด เอ็ม สทอลล์แมน ก็ได้ก่อตั้งมูลนิธิซอฟต์แวร์เสรี (Free Software Foundation, FSF) ขึ้น เพื่อเผยแพร่อุดมการณ์ซอฟต์แวร์เสรีนี้ออกไป โดยใช้ GPL เป็นเครื่องมือ ที่ผมพูดแบบนี้ก็เพราะว่า เนื้อหาใน GPL นั่นเอง ชนิดของสัญญาอนุญาตGPL นั้นมีใจความว่าอย่างไร สามารถดูรายละเอียดได้ที่ http://www.gnu.org/licenses/licenses.html ซึ่งได้มีผู้แปลเป็นภาษาไทยไว้แล้ว อยู่ที่ http://developer.thai.net/gpl/ ผมจะขอสรุปใจความสำคัญไว้ คือว่า ผู้ที่ได้รับซอฟต์แวร์ที่มีสัญญาอนุญาตแบบ GPL นั้นจะมีสิทธิที่จะทำซ้ำ, แก้ไข หรือแจกจ่ายไปยังผู้อื่นได้โดยเสรี แต่ไม่รับรองความเสียหายที่จะเกิดขึ้นเพราะซอฟต์แวร์นี้ให้สิทธิโดยไม่คิดมูลค่าใดๆยกเว้นผู้ให้จะมีการระบุเป็นอย่างอื่น แต่การแจกจ่ายต่อๆไปนั้นจะต้องให้สิทธิเสรีภาพแบบเดียวกันนี้ไปพร้อมๆกันด้วย นั่นหมายความว่า ถ้าคุณนำเอาซอฟต์แวร์แบบ GPL มาแก้ไขปรับปรุง ซอฟต์แวร์ของคุณก็จะยังคงเป็น GPL เหมือนเดิม การทำให้ผู้ได้รับ สามารถปรับปรุง แก้ไข ซอฟต์แวร์ได้นั้น ก็คือการให้ซอสโค้ดไปด้วย จึงถูกเรียกว่าโอเพนซอร์สนั่นเอง แต่ก็มีสัญญาอนุญาตบางแบบ ที่เปิดเผยซอสโค้ดและให้เสรีในการแก้ไขหรือแจกจ่าย แต่มีข้อบังคับเพิ่มเติมเรื่องการนำชื่อไปใช้โฆษณา หรือข้อบังคับอื่นๆ ผมจึงอยากจะขอเตือนว่า ถ้าซอฟต์แวร์ตัวใดไม่ได้เป็นแบบ GPL แล้ว เราควรจะอ่านดูข้อความในสัญญาอนุญาตให้ชัดเจนเสียก่อนนะครับ อุดมการณ์ของ GPL นั้นเป็นสิ่งที่ดี แต่ก็สร้างผลกระทบต่อผู้สร้างซอฟต์แวร์ขายไม่น้อย เพราะ GPL พูดถึงแต่การทำซ้ำ, แก้ไขและแจกจ่ายซอฟต์แวร์จากสิ่งที่ได้รับมา แต่ในบางกรณีที่โปรแกรมของเรากับไลบรารี ที่มีสัญญาอนุญาตแบบ GPL จะต้องรวมเข้าเป็นโปรแกรมเดียวกัน จะถูกเหมารวมไปว่าเป็นผลจากการทำซ้ำหรือแก้ไข ซึ่งเราจะต้องคงสัญญาอนุญาตแบบ GPL ไว้นั่นเอง จึงได้มีการสร้างสัญญาอนุญาตอีกแบบหนึ่งขึ้นมา คือ GNU Lesser General Public License (LGPL) เดิมนั้นไม่ได้ใช้คำว่า Lesser แต่ใช้คำว่า Library เพราะออกแบบมาให้เหมาะกับผู้สร้างไลบรารี เพราะจะแยกแยะออกไปอย่างชัดเจนระหว่างโปรแกรมของเรากับไลบรารี ทำให้โปรแกรมกับไลบรารี นั้นมีสัญญาอนุญาตแยกออกจากกันได้ ซึ่งหมายความว่า เมื่อมีการแจกจ่ายโปรแกรมซึ่งต้องแจกจ่ายไลบรารีไปด้วยนั้น จะต้องให้สิทธิในการทำซ้ำ, แก้ไข และแจกจ่ายไลบรารีนั้นๆไปด้วย แต่ส่วนโปรแกรมนั้นก็จะเป็นไปตามสัญญาอนุญาตของเรา แต่เนื่องจากมีการนำไปใช้บ่อยเกินกว่าที่ควรจะเป็น และสัญญาอนุญาตนี้เผยแพร่เสรีภาพได้น้อยกว่า GPL จึงได้เปลี่ยนชื่อเป็น Lesser แทน จากสัญญาอนุญาตทั้งสองแบบที่กล่าวไปแล้วนั้น ในมุมหนึ่งก็ดูเหมือนเป็นความหวังดีว่าซอฟต์แวร์จะต้องคงความเสรีไว้ แต่ก็ดูเหมือนจะบังคับผู้รับซอฟต์แวร์กลายๆว่าคุณจะต้องให้สิทธิเสรีภาพต่อๆไป ซึ่งยังคงมีปัญหาอยู่ในกรณีที่ ผู้ที่รับซอฟต์แวร์มาต้องการขายสิ่งที่เขาได้แก้ไขในชื่อของเขาเองและต้องการป้องกันสิทธิในตัวซอฟต์แวร์นั้นไว้ ซึ่งสัญญาอนุญาตแบบ Mozilla Public License (MPL) ได้ถูกออกแบบไว้สำหรับกรณีอย่างนี้ครับ แต่ก่อนจะพูดถึงรายละเอียดของ MPL นั้นผมขอพูดถึงโครงการโมซิลล่าสักหน่อยนะครับ เพราะว่าโครงการนี้ก็เกิดจากการต่อต้านบริษัทไมโครซอฟต์ ที่ใช้เล่ห์เหลี่ยมในการยึดตลาดเป็นของตน โดยกรณีนี้มีเรื่องกับบริษัทเน็ตสเค็บคอมมูนิเคชัน (Netscape Communication) ซึ่งขณะนั้นได้รับความนิยมสูงสุดด้วยโปรแกรมเว็บบราวเซอร์ที่ชื่อว่า Netscape Navigator/Communicator โดยบริษัทไมโครซอฟต์ ได้ใช้วิธีการผนวกโปรแกรมเว็บบราวเซอร์ของตัวเองที่ชื่อว่า Internet Explorer (IE) เข้าไว้ในระบบปฏิบัติการของตัวเองชนิดที่ถอนออก (uninstall) ไม่ได้และขายไปพร้อมกันโดยไม่คิดมูลค่าที่เพิ่มขึ้น และยังบังคับให้ผู้ที่จำหน่ายคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการนี้ต้องใช้ IE เท่านั้น จึงทำให้ IE ได้รับความนิยมอย่างรวดเร็ว ถึงแม้ภายหลังศาลจะตัดสินให้บริษัทไมโครซอฟต์แพ้คดีไปหลายปีแล้วก็ตาม แต่ทางบริษัทก็ยังถ่วงเวลาที่จะเอา IE ออกจากระบบปฏิบัติการของตัวเอง ทางบริษัทเน็ตสเค็บคอมมูนิเคชัน เมื่อชนะคดีแล้ว ก็ตัดสินใจเปิดเผยซอร์สโคดออกมาเมื่อปี 1998 โดยมีกลุ่มอาสาสมัครตั้งเป็น Mozilla Organization ขึ้นเพื่อพัฒนาซอฟต์แวร์เสรีตัวนี้ และมีสัญญาอนุญาตแบบแยกแยะระหว่างซอร์สโคดกับไบนารีโคด คือ การแจกจ่ายซอร์สโคดนั้นจะต้องให้สิทธิในการทำซ้ำ, แก้ไขหรือแจกจ่ายต่อๆไป ส่วนการแจกจ่ายไบนารีโคดนั้น อนุญาตให้สามารถมีสัญญาอนุญาตแบบอื่นได้แล้วแต่ผู้แจกจ่าย แต่จะต้องแสดงให้ผู้รับได้ทราบอย่างชัดเจนถึงความแตกต่างจากสัญญาอนุญาตเดิมและจะต้องให้ผู้รับสามารถรับ ซอร์สโคดได้ถ้าเขาต้องการ นอกจากสัญญาอนุญาตทั้งสามแบบที่กล่าวไปแล้วนั้น ยังมีสัญญาอนุญาตแบบอื่นๆอีกมากมาย Open Source Initiative (OSI) ซึ่งเป็นองค์กร ตรวจสอบความเป็นโอเพนซอร์สได้รวบรวมสัญญาอนุญาตแบบต่างๆที่ผ่านการตรวจสอบแล้วว่าเป็นโอเพนซอร์สจริงๆไว้ที่ http://www.opensource.org/licenses/ แต่ก็ไม่ได้หมายความว่าสัญญาอนุญาตเหล่านั้นจะไม่บังคับอะไรเลยที่นอกเหนือการทำซ้ำ, แก้ไขหรือแจกจ่าย ควรจะอ่านรายละเอียดปลีกย่อยให้ดีก่อนนำมาใช้นะครับ โดยเฉพาะการใช้งานที่นอกเหนือการทำซ้ำ, แก้ไขหรือแจกจ่าย เช่น การโฆษณา, การเปลี่ยนชื่อ เป็นต้น ยกตัวอย่างสัญญาอนุญาตที่เรารู้จักกันดี คือ Apache Software Licence นั้นเขียนไว้ชัดเจนว่าจะต้องไม่ใช้ชื่อ Apache ในการโฆษณาก่อนได้รับอนุญาตอย่างเป็นทางการ ไม่เฉพาะซอฟต์แวร์นอกจากซอฟต์แวร์แล้ว ปัจจุบันได้มีการนำอุดมการณ์นี้ไปใช้ในเรื่องอื่นๆด้วย เช่น งานเขียน ซึ่งมีสัญญาอนุญาตแบบ GNU Free Documentation License (GFDL) ซึ่งใจความสำคัญนั้นคืออนุญาตให้ทำซ้ำ, แก้ไข, แปลหรือแจกจ่ายงานเขียนไม่ว่าจะเป็นการค้าหรือไม่ก็ตาม โดยเน้นที่จะปกป้องชื่อเสียงของผู้แต่งและผู้พิมพ์ที่จะไม่ต้องรับผิดชอบต่อการแก้ไขปรับปรุงโดยผู้อื่น และยังคงความเป็น Copyleft ไว้ตลอดในงานที่ถูกแก้ไขนั้น โดยไม่อนุญาตให้แก้ไขในส่วนที่เป็นปก, ส่วนที่ระบุลิขสิทธิ์ของผู้แต่งและผู้พิมพ์ ส่วนอื่นๆที่ไม่เกี่ยวข้องกับเนื้อหา และจำกัดจำนวนในการแจกจ่ายไว้ที่ 100 ชุด ถ้าหากมากกว่านั้นต้องติดต่อผู้แต่งก่อนจะแจกจ่าย นอกจากงานเขียนแล้ว ปัจจุบัน ยังมีผู้สร้างโฮมเพจที่อนุญาตให้ผู้ที่เข้ามาดูร่วมแก้ไขเพิ่มเติมเนื้อหาของโฮมเพจได้ง่ายๆด้วย โดยใช้โปรแกรมเช่น Wiki หรือ Zope เป็นต้น ปัญหาและข้อบังคับบางคนอาจจะคิดว่า ไม่ได้เซ็นชื่อยอมรับสัญญาอนุญาตเหล่านั้น ย่อมไม่ผิดถ้าไม่ทำตาม เป็นการเข้าใจที่ผิดมากครับ เพราะว่าสัญญาอนุญาตเหล่านั้น มักจะเขียนไว้ว่า คุณไม่จำเป็นต้องเซ็นชื่อยอมรับ แต่ก็หมายความว่าคุณก็ไม่ได้รับอนุญาตให้ทำซ้ำ, แก้ไขหรือแจกจ่ายเพราะการกระทำเหล่านั้นถูกปกป้องโดยสัญญาอนุญาตนี้ หากคุณทำซ้ำ, แก้ไขหรือแจกจ่ายซอฟต์แวร์เหล่านี้ ก็เท่ากับว่าคุณยอมรับในสัญญาอนุญาตนี้โดยปริยาย อย่างที่พูดไปแล้วว่า Free Software คือซอฟต์แวร์เสรี ไม่ใช่ไม่คิดมูลค่า นั่นหมายความว่า เราสามารถจะขายซอฟต์แวร์นั้นได้ แต่ไม่ได้หมายความว่า ใครก็ตามที่ได้รับซอฟต์แวร์นั้นมาจากคนอื่นจะต้องจ่ายเงินเราด้วย การนำโปรแกรมมารวมกันเป็นโปรแกรมชุดเดียวนั้น จะสามารถแยกแยะว่ามีการรวมเป็นโปรแกรมเดียว หรือแยกออกเป็นส่วนๆ ได้จากคำสั่งที่เรียกใช้ ถ้าเรียกใช้ฟังก์ชันกันโดยตรง หรือใช้วิธีสืบทอดแบบภาษาเชิงวัตถุ (Object-oriented programming, OOP) เช่นภาษาจาวา (Java) แสดงว่าโปรแกรมรวมกันเป็นโปรแกรมเดียว แต่ถ้าเรียกใช้ผ่านคำสั่ง execute หรือ run ของระบบ หรือเป็นคำสั่งที่ปกติใช้ในการสื่อสารระหว่างโปรแกรม หรือระหว่างเครื่อง นั่นถือว่าโปรแกรมทั้งสองส่วนทำงานแยกออกจากกัน ซึ่งทำให้สามารถมีลิขสิทธิ์และสัญญาอนุญาตแยกจากกันได้ ผลงานทั้งหลายย่อมมีผู้สร้าง ซึ่งจะมีลิขสิทธิ์เป็นของคนที่สร้างสิ่งนั้น การอนุญาตให้ทำซ้ำ, แก้ไข หรือแจกจ่ายด้วยสัญญาอนุญาตแบบ GPL หรือแบบอื่นๆที่เป็นแบบโอเพนซอร์สนั้น ไม่ได้หมายความว่าเขาโอนลิขสิทธิ์ให้ผู้รับ แต่เขาเพียงให้สิทธิที่จะทำซ้ำ, แก้ไขหรือแจกจ่ายเท่านั้น ซึ่งถ้ายังไม่มีการแก้ไขใดๆ ลิขสิทธิ์ก็ยังคงเป็นของเจ้าของอยู่ แต่หากผู้รับได้ทำการแก้ไข ปรับปรุงงานนั้นแล้ว ส่วนที่แก้ไขปรับปรุงนั้นก็จะเป็นลิขสิทธิ์ของผู้แก้ไข ซึ่งทำให้งานชิ้นนั้นกลายเป็นงานที่มีลิขสิทธิ์หลายคน สรุปการนำซอฟต์แวร์เสรีมาใช้นั้นคือการที่เราได้รับน้ำใจจากอาสาสมัครทั้งหลายที่ทุ่มเทเวลาและความรู้เพื่อพัฒนาซอฟต์แวร์ตัวนั้นให้ดีขึ้นเรื่อยๆ เราควรให้เกียรติและเคารพในน้ำใจอันนั้นด้วยการ ส่งน้ำใจอันดีนั้นต่อๆไป ถ้าหากมีจุดไหนที่เราช่วยแก้ไขให้ดีขึ้นได้ เราก็ควรจะร่วมแรงร่วมใจกันพัฒนาซอฟต์แวร์นั้นต่อๆไป ไม่ควรเก็บมันไว้ใช้คนเดียว ซึ่งเป็นการทำให้ผลงานอันนั้นมีคุณค่ากับเราเพียงคนเดียว แต่ถ้าเรามอบน้ำใจของเราให้กับผู้อื่น คุณค่าของมันก็เพิ่มขึ้นเมื่อมีคนได้ใช้มันมากขึ้นเรื่อยๆ แหล่งอ้างอิง
|
Copyright © 2002-2004 Somchai LIMSIRORATANA. All rights reserved. |