เวลาเราพัฒนาซอฟต์แวร์หรือเลือกใช้ Open Source สิ่งที่สำคัญที่สุดแต่คนมักมองข้ามคือ “Software License” (สัญญาอนุญาตซอฟต์แวร์) เพราะมันคือตัวกำหนดกฎหมายเลยว่า เราสามารถเอาโค้ดนั้นไปทำอะไรได้บ้าง โดยเฉพาะเมื่อนำไปใช้ในเชิงพาณิชย์ ทำธุรกิจ หรือใช้งานในบริษัท
เพื่อให้เข้าใจง่ายที่สุด เราสามารถแบ่ง Software License ออกเป็น 3 กลุ่มใหญ่ ตามระดับความอิสระและข้อผูกมัดครับ
กลุ่มใจดีที่สุด: Permissive Licenses
กลุ่มนี้คือ “เอาไปทำอะไรก็ได้เลย” จะเอาไปแก้ไข เปลี่ยนแปลง หรือเอาไปขายต่อโดยไม่เปิดเผยซอฟต์แวร์ของเรา (Closed Source) ก็ได้ ข้อจำกัดน้อยมาก ๆ
- MIT License: ยอดฮิตที่สุดในโลก เงื่อนไขเดียวคือ ต้องให้เครดิตผู้เขียนเดิม (ใส่ไฟล์ License และ Copyright ต้นฉบับไว้ด้วย) หลังจากนั้นคุณจะเอาไปแก้ ไปขาย ทำกำไรในบริษัทได้เต็มที่
- Apache 2.0: คล้าย MIT แต่ใจดีกว่าตรงที่มีการคุ้มครองเรื่อง สิทธิบัตร (Patents) ให้ด้วย หมายความว่าถ้าซอฟต์แวร์นั้นมีสิทธิบัตรพ่วงมาด้วย เขาย้อนกลับมาฟ้องเราทีหลังไม่ได้ และถ้าเราแก้โค้ด เราต้องระบุชัดเจนว่าแก้ตรงไหนบ้าง
กลุ่มมีเงื่อนไข (สายส่งต่อความเปิด): Copyleft Licenses
กลุ่มนี้คิดค้นมาเพื่อปกป้องโลก Open Source มีแนวคิดว่า “ฉันให้คุณใช้ฟรี คุณก็ต้องให้คนอื่นใช้ฟรีต่อ”
- GPL (General Public License): ตัวนี้ดุที่สุด (มักเรียกว่า Strong Copyleft) เงื่อนไขคือ ถ้าคุณเอาโค้ด GPL ไปรวมหรือแก้ไขในซอฟต์แวร์ของคุณ ซอฟต์แวร์ทั้งหมดของคุณจะต้องกลายเป็น GPL (Open Source) ทันที และต้องเปิดเผย Source Code แก่ผู้ใช้
- LGPL (Lesser GPL): ลดความดุลงมาหน่อย ออกแบบมาสำหรับ Library (ตัวเสริม) ถ้าซอฟต์แวร์ของเราแค่ “เรียกใช้งาน” (Link) Library ที่เป็น LGPL โดยไม่ได้ไปแก้ไขไส้ในของมัน เรายังสามารถเก็บซอฟต์แวร์หลักของเราเป็น Closed Source หรือเอาไปขายได้ตามปกติ
กลุ่มปิด: Proprietary License (ลิขสิทธิ์เชิงพาณิชย์)
เป็นซอฟต์แวร์ที่เราคุ้นเคยกันดี (เช่น Windows, Microsoft Office, หรือระบบ ERP ในบริษัท) ซอร์สโค้ดเป็นความลับ ห้ามคัดลอก ห้ามดัดแปลง ห้ามแจกจ่าย และต้องจ่ายเงินซื้อสิทธิ์ใช้งาน (Subscription หรือ One-time purchase) เท่านั้น
ตารางเปรียบเทียบสำหรับการใช้งานธุรกิจและการค้าขาย
เพื่อให้เห็นภาพชัดเจนในการตัดสินใจเลือกใช้ในบริษัท ลองดูตารางเปรียบเทียบนี้ครับ
| ข้อพิจารณา / ประเภท License | MIT / Apache 2.0 (Permissive) | GPL (Strong Copyleft) | LGPL (Weak Copyleft) | Proprietary (Commercial) |
| ใช้ในบริษัท (Internal Use) | ทำได้ ไม่มีปัญหา | ทำได้ (ถ้าใช้แค่ภายใน ไม่ได้แจกจ่ายภายนอก โค้ดไม่หลุด) | ทำได้ ไม่มีปัญหา | ทำได้ แต่ต้องจ่ายค่า License ให้ครบตามจำนวนผู้ใช้ |
| ทำขาย / ค้าขาย (Commercial Product) | ทำได้เลย ปลอดภัยมาก ไม่ต้องเปิดโค้ดตัวเอง | เสี่ยงสูง ต้องเปิด Source Code ทั้งหมดของระบบให้ลูกค้าด้วย | ทำได้ แต่ห้ามไปแก้ไขโค้ดของตัว Library นั้นตรงๆ | ทำได้ (เป็นโมเดลธุรกิจหลัก) |
| การแก้ไขโค้ด (Modification) | แก้ได้อิสระ ไม่ต้องบอกใคร | แก้ได้ แต่โค้ดที่แก้ต้องเป็น GPL ด้วย | แก้ได้ แต่เฉพาะส่วนของ Library นั้นที่ต้องเปิดเผย | ห้ามแก้ไข ดัดแปลงเด็ดขาด |
| ความเสี่ยงทางกฎหมายต่อธุรกิจ | ต่ำมาก | สูงมาก (เสี่ยงโดนบังคับเปิดซอร์สโค้ดที่เป็นความลับทางการค้า) | ปานกลาง (ต้องระวังวิธีนำไปเชื่อมต่อ) | ต่ำ (หากจ่ายเงินและทำตามข้อตกลงถูกต้อง) |
การประกาศลิขสิทธิ์ (Copyright Notice) สำหรับโปรเจกต์ของคุณ
หากบริษัทของคุณพัฒนาซอฟต์แวร์ขึ้นมาเอง และต้องการประกาศลิขสิทธิ์ มี 2 แนวทางหลัก ๆ ขึ้นอยู่กับเป้าหมายทางธุรกิจ
แนวทางที่ 1: ถ้าต้องการทำขาย (Proprietary)
ให้ใส่ข้อความประกาศไว้ที่หน้าแรกของระบบ, ในโค้ดไฟล์หลัก, หรือในไฟล์ LICENSE.txt เพื่อแสดงความเป็นเจ้าของทางกฎหมายอย่างชัดเจน:
Copyright © 2010 [ชื่อบริษัทของคุณ] inc. All Rights Reserved. ห้ามมิให้ผู้ใดคัดลอก ดัดแปลง หรือแจกจ่ายซอฟต์แวร์นี้โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
แนวทางที่ 2: ถ้าต้องการปล่อยเป็น Open Source (สร้างชื่อเสียง/ให้ชุมชนช่วยพัฒนา)
ให้สร้างไฟล์ชื่อ LICENSE ไว้ที่ Root ของโปรเจกต์ (เช่นบน GitHub) จากนั้นก๊อปปี้เนื้อหามาตรฐานของ MIT หรือ Apache 2.0 มาวาง แล้วเปลี่ยนชื่อผู้ถือสิทธิ์เป็นชื่อเรา เช่น:
Copyright (c) 2010 [ชื่อของคุณหรือบริษัท] (ตามด้วยข้อความมาตรฐานของ MIT License…)
💡 สรุปคำแนะนำสำหรับธุรกิจ
ถ้าจะเลือกซอฟต์แวร์มาใช้ในระบบของบริษัทเพื่อทำขาย: พยายามเลือกตัวที่เป็น MIT หรือ Apache 2.0 จะปลอดภัยต่อความลับทางการค้าที่สุด หลีกเลี่ยง GPL ในระบบหลัก เว้นแต่คุณตั้งใจจะทำซอฟต์แวร์นั้นเป็น Open Source ตั้งแต่แรกครับ
อ่านเพิ่มเติม