ป้ายกำกับ: Copyleft

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) เท่านั้น


ตารางเปรียบเทียบสำหรับการใช้งานธุรกิจและการค้าขาย

เพื่อให้เห็นภาพชัดเจนในการตัดสินใจเลือกใช้ในบริษัท ลองดูตารางเปรียบเทียบนี้ครับ

ข้อพิจารณา / ประเภท LicenseMIT / 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 ตั้งแต่แรกครับ


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