Software Licensing
                                                   Isriya Paireepairit




Thailand Open Source Festiva...
License
สัญญา “อนุญาต” ให้
• ใช้งาน
• พัฒนา/ปรับปรุง/แก้ไข
• แจกจ่าย/หาผลประโยชน์
ซอฟต์แวร์
License to “Use”
EULA - End-User License Agreement
License to Modify/Distribute

• สัญญาจ้างระหว่างหน่วยงานกับ Software House
• สัญญาประมูลงานของหน่วยงานภาครัฐ
• สัญญาใช้ co...
Open Source License
• เป็น สัญญา เช่นเดียวกับสัญญาชนิดอื่นๆ
• เพียงแต่อนุญาตให้
 • ใช้
 • พัฒนาแก้ไข
 • แจกจ่าย/หาผลประโยช...
Misconception

ผิด: Open Source ไม่มีลิขสิทธิ์
ถูก: Open Source มีลิขสิทธิ์เช่นเดียวกับซอฟต์แวร์ทั่วไป
แต่ อนุญาต ให้คนอื่...
How to Apply Open Source
             License


   เขียนเอง
1.

2. ใช้สัญญาที่มีคนเขียนไว้แล้ว
Common Open Source
    Licenses
•                            •
    GPL/LGPL                     Eclipse Public License

• ...
GPL

• GNU General Public License
 • Version 1: 1985
 • Version 2: 1991
 • Version 3: 2007
• Free Software Foundation (www...
GPL Key Concept

•สามารถพัฒนาและแจกจ่ายต่อได้
 อย่างอิสระ
•ตราบเท่าที่คนอื่นๆ ได้สิทธิ์นั้น
 แบบเดียวกัน
Right to Get Source

                             ขาย/แจก
                                                ใช้
            ...
GPL Misconception
ผิด: โปรแกรมที่เป็น GPL ขายไม่ได้
ถูก: โปรแกรมที่เป็น GPL ขายได้
แต่ผู้ซื้อ ต้องได้ ซอร์สโค้ดเมื่อร้องขอ...
How to Get Money from Open Source


ซอร์สโค้ดสามารถแจกจ่ายได้ แต่อย่างอื่นแจกจ่ายไม่ได้
 •   support/training
 •   ความเชี...
RHEL/CentOS Case
• Red Hat Enterprise Linux (RHEL)
• บริษัท Red Hat แจกซอร์สโค้ดของ RHEL แต่ไม่แจก Binary
• บริษัท Red Hat...
RHEL/CentOS Case (2)

• Red Hat ได้เงินจากการขาย RHEL binary
• ลูกค้ามี 3 ทางเลือก
  • ซื้อ RHEL binary จาก Red Hat
  • ดา...
RHEL/CentOS Case (3)

• Source Code ของ RHEL แจกจ่ายได้อิสระ
• Trademark ของ RHEL เป็นของ Red Hat
• CentOS จึงต้องใช้ชื่ออ...
Derivatives


• งานที่พัฒนาต่อ (derivative) จากซอร์สที่เป็น GPL ต้อง
   เป็น GPL ด้วย
Recursive Distribution


compile   A         B          C
          develop   modify     modify
GPL Virus

• โค้ดที่เป็น GPL เมื่อผสมกับโค้ดอื่น โค้ดทั้งหมดต้องเป็น
   GPL ด้วย
• เป้าหมายเพื่อส่งเสริมให้เกิดโปรแกรม GPL...
Strong Linking


compile   A             B            C
          develop       modify       modify

                    +...
LGPL


GNU Lesser General Public License

LGPL = GPL - GPL Virus
LGPL


• ผสมรวมกับซอฟต์แวร์อื่นที่ไม่ใช่ LGPL/GPL ได้
• Derivative ต้องเป็น LGPL หรืออัพขึ้นเป็น GPL
Weak Linking


compile   A             B            C
          develop       modify       modify

                    +  ...
Other License


• MIT License
• BSD License
• Mozilla Public License
MIT License


• เดิมใช้กับ X11
• นำซอร์สโค้ดไปทำอะไรก็ได้ ตราบเท่าที่ไม่ฟ้องผู้พัฒนา
BSD License


• เดิมใช้กับ Unix ของ Berkley
Mozilla Public License


• คล้ายกับ LGPL
• มีเงื่อนไขเพิ่มขึ้นสำหรับ Mozilla
License Comparison




 source - http://www.dwheeler.com/essays/floss-license-slide.html
License Comparison




http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
License Comparison


• More comparison matrix
  http://developer.kde.org/documentation/
  licensing/licenses_summary.html
GPLv3


• เวอร์ชันอัพเดตของ GPLv2
• ใจความหลักเหมือนเดิม
• แก้ปัญหาบางอย่างของ GPLv2
Tivoization

• แจกซอร์สโค้ด แต่ไม่ยอมให้แก้ไขโปรแกรมที่รันอยู่
• อุปกรณ์ต่างๆ เช่น
 • เครื่อง set-top box ของ TiVo
 • Wire...
Patent

• แจกซอร์สโค้ด (ลิขสิทธิ์) แต่ไปฟ้องสิทธิบัตร
• กรณีสัญญา Microsoft-Novell
• คุ้มครองเฉพาะลูกค้าของ Novell
• แก้ให...
Other Changes

• กรณีแจกจ่ายผ่าน P2P
• การปรับใช้ในประเทศอื่นๆ นอกจากสหรัฐ (Internationalization)
• เข้ากันได้กับ Apache 2...
GPLv2 vs GPLv3

• GPLv2 ไม่ compat กับ GPLv3
• เพราะแต่ละ license ระบุว่าต้องแจกจ่ายผลงานที่แก้ไข ใต้
   License เดิม
• แก...
Upgrade Path
                  later




before




            source - GPLv3 FAQ
GPLv3 Adoption
Number of Projects using GPLv2 and v3

    GPLv2                            370,000


    GPLv3            ...
Major Open Source Projects
           and GPLv3


     Yes          Considering    (Probably) No

Samba            Sun Sol...
Upcoming SlideShare
Loading in...5
×

Open Source Software Licensing

4,752

Published on

About Open Source Software licenses: GPL, BSD, MIT, LGPL

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
  • yes ok
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,752
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
145
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Open Source Software Licensing

  1. 1. Software Licensing Isriya Paireepairit Thailand Open Source Festival #7 - http://www.ossfestival.in.th 3 August 2007
  2. 2. License สัญญา “อนุญาต” ให้ • ใช้งาน • พัฒนา/ปรับปรุง/แก้ไข • แจกจ่าย/หาผลประโยชน์ ซอฟต์แวร์
  3. 3. License to “Use” EULA - End-User License Agreement
  4. 4. License to Modify/Distribute • สัญญาจ้างระหว่างหน่วยงานกับ Software House • สัญญาประมูลงานของหน่วยงานภาครัฐ • สัญญาใช้ component ระหว่าง Software House • สัญญาจัดจำหน่ายซอฟต์แวร์/เกม • Etc.
  5. 5. Open Source License • เป็น สัญญา เช่นเดียวกับสัญญาชนิดอื่นๆ • เพียงแต่อนุญาตให้ • ใช้ • พัฒนาแก้ไข • แจกจ่าย/หาผลประโยชน์ • ได้อย่างอิสระ
  6. 6. Misconception ผิด: Open Source ไม่มีลิขสิทธิ์ ถูก: Open Source มีลิขสิทธิ์เช่นเดียวกับซอฟต์แวร์ทั่วไป แต่ อนุญาต ให้คนอื่นนำไปใช้/พัฒนา/แจกจ่ายได้ ผู้เขียนซอฟต์แวร์ยังเป็นเจ้าของลิขสิทธิ์ของซอฟต์แวร์อยู่เสมอ
  7. 7. How to Apply Open Source License เขียนเอง 1. 2. ใช้สัญญาที่มีคนเขียนไว้แล้ว
  8. 8. Common Open Source Licenses • • GPL/LGPL Eclipse Public License • • BSD PHP License • • MIT X11 Python License • • Apache etc. • Mozilla Public License • Sun CDDL
  9. 9. GPL • GNU General Public License • Version 1: 1985 • Version 2: 1991 • Version 3: 2007 • Free Software Foundation (www.fsf.org)
  10. 10. GPL Key Concept •สามารถพัฒนาและแจกจ่ายต่อได้ อย่างอิสระ •ตราบเท่าที่คนอื่นๆ ได้สิทธิ์นั้น แบบเดียวกัน
  11. 11. Right to Get Source ขาย/แจก ใช้ Company compile User B A สร้าง
  12. 12. GPL Misconception ผิด: โปรแกรมที่เป็น GPL ขายไม่ได้ ถูก: โปรแกรมที่เป็น GPL ขายได้ แต่ผู้ซื้อ ต้องได้ ซอร์สโค้ดเมื่อร้องขอ (ในทางปฏิบัติ ตัวโปรแกรมจึงไม่มีราคา เพราะคนอื่นนอกจาก เจ้าของสามารถแจกจ่ายได้เช่นกัน)
  13. 13. How to Get Money from Open Source ซอร์สโค้ดสามารถแจกจ่ายได้ แต่อย่างอื่นแจกจ่ายไม่ได้ • support/training • ความเชี่ยวชาญในการแก้ไขโปรแกรม (Ubuntu) • วิธีการ compile/build โปรแกรม (Red Hat/RHEL) • เพิ่มความสามารถลงในโปรแกรม (Mozilla/Google)
  14. 14. RHEL/CentOS Case • Red Hat Enterprise Linux (RHEL) • บริษัท Red Hat แจกซอร์สโค้ดของ RHEL แต่ไม่แจก Binary • บริษัท Red Hat ขาย Binary ของ RHEL • ลูกค้าซื้อความสะดวกในการ build ซอร์สของ RHEL • โครงการ CentOS นำซอร์สของ RHEL มา build แล้วแจก binary
  15. 15. RHEL/CentOS Case (2) • Red Hat ได้เงินจากการขาย RHEL binary • ลูกค้ามี 3 ทางเลือก • ซื้อ RHEL binary จาก Red Hat • ดาวน์โหลด CentOS binary จากอินเทอร์เน็ต • ดาวน์โหลด RHEL Source มา build เอง
  16. 16. RHEL/CentOS Case (3) • Source Code ของ RHEL แจกจ่ายได้อิสระ • Trademark ของ RHEL เป็นของ Red Hat • CentOS จึงต้องใช้ชื่ออื่น • กรณีเดียวกับ Firefox/IceWeasel
  17. 17. Derivatives • งานที่พัฒนาต่อ (derivative) จากซอร์สที่เป็น GPL ต้อง เป็น GPL ด้วย
  18. 18. Recursive Distribution compile A B C develop modify modify
  19. 19. GPL Virus • โค้ดที่เป็น GPL เมื่อผสมกับโค้ดอื่น โค้ดทั้งหมดต้องเป็น GPL ด้วย • เป้าหมายเพื่อส่งเสริมให้เกิดโปรแกรม GPL มากๆ • (ไม่รวมกรณี library linking)
  20. 20. Strong Linking compile A B C develop modify modify + + D
  21. 21. LGPL GNU Lesser General Public License LGPL = GPL - GPL Virus
  22. 22. LGPL • ผสมรวมกับซอฟต์แวร์อื่นที่ไม่ใช่ LGPL/GPL ได้ • Derivative ต้องเป็น LGPL หรืออัพขึ้นเป็น GPL
  23. 23. Weak Linking compile A B C develop modify modify + + D
  24. 24. Other License • MIT License • BSD License • Mozilla Public License
  25. 25. MIT License • เดิมใช้กับ X11 • นำซอร์สโค้ดไปทำอะไรก็ได้ ตราบเท่าที่ไม่ฟ้องผู้พัฒนา
  26. 26. BSD License • เดิมใช้กับ Unix ของ Berkley
  27. 27. Mozilla Public License • คล้ายกับ LGPL • มีเงื่อนไขเพิ่มขึ้นสำหรับ Mozilla
  28. 28. License Comparison source - http://www.dwheeler.com/essays/floss-license-slide.html
  29. 29. License Comparison http://en.wikipedia.org/wiki/Comparison_of_free_software_licences
  30. 30. License Comparison • More comparison matrix http://developer.kde.org/documentation/ licensing/licenses_summary.html
  31. 31. GPLv3 • เวอร์ชันอัพเดตของ GPLv2 • ใจความหลักเหมือนเดิม • แก้ปัญหาบางอย่างของ GPLv2
  32. 32. Tivoization • แจกซอร์สโค้ด แต่ไม่ยอมให้แก้ไขโปรแกรมที่รันอยู่ • อุปกรณ์ต่างๆ เช่น • เครื่อง set-top box ของ TiVo • Wireless Router • DRM
  33. 33. Patent • แจกซอร์สโค้ด (ลิขสิทธิ์) แต่ไปฟ้องสิทธิบัตร • กรณีสัญญา Microsoft-Novell • คุ้มครองเฉพาะลูกค้าของ Novell • แก้ให้: คุ้มครองสิทธิบัตรแก่ผู้ใช้ทุกคน
  34. 34. Other Changes • กรณีแจกจ่ายผ่าน P2P • การปรับใช้ในประเทศอื่นๆ นอกจากสหรัฐ (Internationalization) • เข้ากันได้กับ Apache 2.0 License • ปรับคำศัพท์ เช่น • เปลี่ยน distribute เป็น propagate/convey
  35. 35. GPLv2 vs GPLv3 • GPLv2 ไม่ compat กับ GPLv3 • เพราะแต่ละ license ระบุว่าต้องแจกจ่ายผลงานที่แก้ไข ใต้ License เดิม • แก้ปัญหา: ใช้ประโยค GPLv2 or later
  36. 36. Upgrade Path later before source - GPLv3 FAQ
  37. 37. GPLv3 Adoption Number of Projects using GPLv2 and v3 GPLv2 370,000 GPLv3 550 source - http://gpl3.palamida.com
  38. 38. Major Open Source Projects and GPLv3 Yes Considering (Probably) No Samba Sun Solaris/ Linux Kernel SugarCRM JDK Anyway, we still can use GPLv2 and GPLv3 programs together e.g. Running Samba on Linux
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×