ป้ายกำกับ: Legal

License Open Source: แจกฟรีแต่…License Open Source: แจกฟรีแต่…

เวลาเราพัฒนาซอฟต์แวร์หรือเลือกใช้ 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 ตั้งแต่แรกครับ


อ่านเพิ่มเติม