Topic List
โดย Little Bear on 28 พ.ค. 54 11:11
"สัญญาอนุญาต" หรือ license หมายถึงข้อกำหนดที่บอกว่าเราทำอะไรกับซอฟต์แวร์ (รวมถึงงานสร้างสรรค์อื่นๆ) ได้บ้าง
ในโลกของซอฟต์แวร์เสรี/โอเพนซอร์สก็มีสัญญาอนุญาตมาตรฐาน (เป็นแพ็กเกจสำเร็จรูป) ให้เลือกใช้ได้หลายชนิด ตามแต่ความต้องการของนักพัฒนาที่ต่างกันออกไป อย่างไรก็ตาม ปัญหาของการมีสัญญาอนุญาตจำนวนมากทำให้นักพัฒนาหน้าใหม่อาจจะงงว่าควรเลือกแบบไหนอย่างไรดี
Free Software Foundation (FSF) ในฐานะผู้ดูแลสัญญาอนุญาตยอดนิยมหลายตัว ได้ออกเอกสารแนะนำนักพัฒนาว่าควรเลือกใช้สัญญาอนุญาตแบบไหนบ้าง
แนวทางที่ FSF แนะนำมีดังนี้ (ผมถือว่าทุกคนรู้จัก copyleft กันหมดแล้วนะ ไม่ต้องอธิบายซ้ำ ส่วนชื่อสัญญาถ้าไม่รู้จักก็หาข้อมูลกันเองเช่นกัน)
- ซอร์สโค้ดที่ขนาดเล็กมากๆ ไม่ควรใช้สัญญาอนุญาตแบบ copyleft เพราะตัวข้อความของสัญญาจะยาวกว่าซอร์สโค้ดเสียอีก
- ซอฟต์แวร์ที่เขียนขึ้นเพื่อสนับสนุนมาตรฐานเปิด-เสรี เช่น Ogg Vorbis หรือ WebM ไม่ควรใช้ copyleft เพราะจะจำกัดการใช้งานของโค้ด (ที่ควรจะแพร่ออกไปมากๆ)
- งานที่ไม่เหมาะกับ copyleft ควรเลือกใช้ Apache License 2.0 เพราะจะช่วยคุ้มครองผู้สร้างซอฟต์แวร์จากการถูกฟ้องละเมิดสิทธิบัตรได้
- กรณีอื่นๆ ที่เหลือควรใช้ copyleft โดยแบ่งตามเงื่อนไขดังนี้
- ซอฟต์แวร์ที่ทำหน้าที่เป็นไลบรารี ควรใช้ LGPL
- ซอฟต์แวร์ที่อยู่บนเซิร์ฟเวอร์ ให้บริการแก่ผู้ใช้ทางอ้อม ผู้ใช้ไม่ได้ดาวน์โหลดซอฟต์แวร์มาใช้โดยตรง ควรใช้ Affero GPL (AGPL)
- อื่นๆ ที่เหลือทั้งหมดควรใช้ GPL
- งานที่ไม่ใช่ซอฟต์แวร์ เช่น เอกสาร ควรใช้ GNU Free Documentation License (FDL)
- งานเอกสารที่มีซอร์สโค้ดแถมเพื่อเป็นตัวอย่าง ควรกำหนดสัญญาอนุญาตของโค้ดด้วย โดย FSF แนะนำให้ปล่อยโค้ดเป็น public domain ด้วยสัญญาอนุญาต CC0
- ภาพวาด ไอคอน กราฟิก ฟอนต์ ที่ใช้ประกอบกับซอฟต์แวร์ ควรกำหนดเป็นสัญญาอนุญาตแบบเดียวกับซอฟต์แวร์นั้นๆ เพื่อลดความซับซ้อนในการใช้งาน
- ถ้าไม่มีสัญญาอนุญาตที่ตรงใจเลย ลองพิจารณา Creative Commons Attribution-ShareAlike น่าจะช่วยได้
ที่มา - blognone.com ผ่าน GNU.org ผ่าน Slashdot
4529 reads | เขียนความคิดเห็น | อ่านเพิ่มเติม navigate_next
tags version 4.00.00 release 18.9.21. ช่วยเหลือ