SlideShare a Scribd company logo
Software Licensing
                                                   Isriya Paireepairit




Thailand Open Source Festival #7 - http://www.ossfestival.in.th
3 August 2007
License
สัญญา “อนุญาต” ให้
• ใช้งาน
• พัฒนา/ปรับปรุง/แก้ไข
• แจกจ่าย/หาผลประโยชน์
ซอฟต์แวร์
License to “Use”
EULA - End-User License Agreement
License to Modify/Distribute

• สัญญาจ้างระหว่างหน่วยงานกับ Software House
• สัญญาประมูลงานของหน่วยงานภาครัฐ
• สัญญาใช้ component ระหว่าง Software House
• สัญญาจัดจำหน่ายซอฟต์แวร์/เกม
• Etc.
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

•                            •
    BSD                          PHP License

•                            •
    MIT X11                      Python License

•                            •
    Apache                       etc.

•   Mozilla Public License

•   Sun CDDL
GPL

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

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

                             ขาย/แจก
                                                ใช้
                   Company
compile                                User B
                     A
           สร้าง
GPL Misconception
ผิด: โปรแกรมที่เป็น GPL ขายไม่ได้
ถูก: โปรแกรมที่เป็น GPL ขายได้
แต่ผู้ซื้อ ต้องได้ ซอร์สโค้ดเมื่อร้องขอ


(ในทางปฏิบัติ ตัวโปรแกรมจึงไม่มีราคา เพราะคนอื่นนอกจาก
เจ้าของสามารถแจกจ่ายได้เช่นกัน)
How to Get Money from Open Source


ซอร์สโค้ดสามารถแจกจ่ายได้ แต่อย่างอื่นแจกจ่ายไม่ได้
 •   support/training
 •   ความเชี่ยวชาญในการแก้ไขโปรแกรม (Ubuntu)
 •   วิธีการ compile/build โปรแกรม (Red Hat/RHEL)
 •   เพิ่มความสามารถลงในโปรแกรม (Mozilla/Google)
RHEL/CentOS Case
• Red Hat Enterprise Linux (RHEL)
• บริษัท Red Hat แจกซอร์สโค้ดของ RHEL แต่ไม่แจก Binary
• บริษัท Red Hat ขาย Binary ของ RHEL
• ลูกค้าซื้อความสะดวกในการ build ซอร์สของ RHEL
• โครงการ CentOS นำซอร์สของ RHEL มา build แล้วแจก
   binary
RHEL/CentOS Case (2)

• Red Hat ได้เงินจากการขาย RHEL binary
• ลูกค้ามี 3 ทางเลือก
  • ซื้อ RHEL binary จาก Red Hat
  • ดาวน์โหลด CentOS binary จากอินเทอร์เน็ต
  • ดาวน์โหลด RHEL Source มา build เอง
RHEL/CentOS Case (3)

• Source Code ของ RHEL แจกจ่ายได้อิสระ
• Trademark ของ RHEL เป็นของ Red Hat
• CentOS จึงต้องใช้ชื่ออื่น
• กรณีเดียวกับ Firefox/IceWeasel
Derivatives


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


compile   A         B          C
          develop   modify     modify
GPL Virus

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


compile   A             B            C
          develop       modify       modify

                    +            +

                D
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

                    +            +

                D
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
 • Wireless Router
• DRM
Patent

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

• กรณีแจกจ่ายผ่าน P2P
• การปรับใช้ในประเทศอื่นๆ นอกจากสหรัฐ (Internationalization)
• เข้ากันได้กับ Apache 2.0 License
• ปรับคำศัพท์ เช่น
 • เปลี่ยน distribute เป็น propagate/convey
GPLv2 vs GPLv3

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




before




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

    GPLv2                            370,000


    GPLv3                                    550



         source - http://gpl3.palamida.com
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

More Related Content

What's hot

Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
Michael Bohlig
 
Robot framework
Robot frameworkRobot framework
Robot framework
boriau
 
電商微服務架構設計與執行
電商微服務架構設計與執行電商微服務架構設計與執行
電商微服務架構設計與執行
YC Liang
 
Improving app performance with Kotlin Coroutines
Improving app performance with Kotlin CoroutinesImproving app performance with Kotlin Coroutines
Improving app performance with Kotlin Coroutines
Hassan Abid
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
Naresh Chintalcheru
 
Advanced Coded UI Testing
Advanced Coded UI TestingAdvanced Coded UI Testing
Advanced Coded UI Testing
Shai Raiten
 
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
Ryosuke Uematsu
 
Apache jMeter
Apache jMeterApache jMeter
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-ReloadedRNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
Christoph Adler
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
LiviaLiaoFontech
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
Ankit Gubrani
 
General introduction to intellij idea
General introduction to intellij ideaGeneral introduction to intellij idea
General introduction to intellij ideaYusup
 
WebGL Performance Tuning Tips
WebGL Performance Tuning TipsWebGL Performance Tuning Tips
WebGL Performance Tuning Tips
Yukio Andoh
 
Selenium
SeleniumSelenium
Selenium
SeleniumSelenium
Selenium
Sun Technlogies
 
Windows 111
Windows 111Windows 111
Windows 111
Archit Garg
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
Khaja Moiz Uddin
 
ゼロから始めるサブスク生活
ゼロから始めるサブスク生活ゼロから始めるサブスク生活
ゼロから始めるサブスク生活
KLab Inc. / Tech
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practicesBill Buchan
 
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Lucas Jellema
 

What's hot (20)

Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
Using Amazon CloudSearch With Databases - CloudSearch Meetup 061913
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
電商微服務架構設計與執行
電商微服務架構設計與執行電商微服務架構設計與執行
電商微服務架構設計與執行
 
Improving app performance with Kotlin Coroutines
Improving app performance with Kotlin CoroutinesImproving app performance with Kotlin Coroutines
Improving app performance with Kotlin Coroutines
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Advanced Coded UI Testing
Advanced Coded UI TestingAdvanced Coded UI Testing
Advanced Coded UI Testing
 
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
4G LTE ネットワークの脆弱性 [LTEInspector_A Systematic Approach for Adversarial Testing...
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-ReloadedRNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
RNUG - HCL Notes 11.0.1 FP2 — Performance Boost Re-Reloaded
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
 
General introduction to intellij idea
General introduction to intellij ideaGeneral introduction to intellij idea
General introduction to intellij idea
 
WebGL Performance Tuning Tips
WebGL Performance Tuning TipsWebGL Performance Tuning Tips
WebGL Performance Tuning Tips
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Windows 111
Windows 111Windows 111
Windows 111
 
Introduction to selenium
Introduction to seleniumIntroduction to selenium
Introduction to selenium
 
ゼロから始めるサブスク生活
ゼロから始めるサブスク生活ゼロから始めるサブスク生活
ゼロから始めるサブスク生活
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
 
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...Browser Automation with Playwright – for integration, RPA, UI testing and mor...
Browser Automation with Playwright – for integration, RPA, UI testing and mor...
 

More from Isriya Paireepairit

ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
Isriya Paireepairit
 
20160208 เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
20160208  เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ20160208  เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
20160208 เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
Isriya Paireepairit
 
Wearable Computing: Fad or For Real?
Wearable Computing: Fad or For Real?Wearable Computing: Fad or For Real?
Wearable Computing: Fad or For Real?
Isriya Paireepairit
 
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัลความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
Isriya Paireepairit
 
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัลแนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
Isriya Paireepairit
 
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัลจะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
Isriya Paireepairit
 
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่นอนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
Isriya Paireepairit
 
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทยกฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
Isriya Paireepairit
 
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
Isriya Paireepairit
 
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
Isriya Paireepairit
 
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHzทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
Isriya Paireepairit
 
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิโครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
Isriya Paireepairit
 
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRIร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
Isriya Paireepairit
 
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการพรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
Isriya Paireepairit
 
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัลการกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
Isriya Paireepairit
 
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้งสไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
Isriya Paireepairit
 
Agenda Bangkok
Agenda BangkokAgenda Bangkok
Agenda Bangkok
Isriya Paireepairit
 
Mobile Trends 2012
Mobile Trends 2012Mobile Trends 2012
Mobile Trends 2012
Isriya Paireepairit
 
Thailand 1800MHz Frequency Management
Thailand 1800MHz Frequency ManagementThailand 1800MHz Frequency Management
Thailand 1800MHz Frequency Management
Isriya Paireepairit
 
IPTV and Internet TV - Thailand Case
IPTV and Internet TV - Thailand CaseIPTV and Internet TV - Thailand Case
IPTV and Internet TV - Thailand Case
Isriya Paireepairit
 

More from Isriya Paireepairit (20)

ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
ทิศทางอุตสาหกรรมโทรทัศน์ ปี 2559
 
20160208 เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
20160208  เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ20160208  เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
20160208 เอกสารรายละเอียด (ร่าง) แผนพัฒนาดิจิทัลฯ
 
Wearable Computing: Fad or For Real?
Wearable Computing: Fad or For Real?Wearable Computing: Fad or For Real?
Wearable Computing: Fad or For Real?
 
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัลความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
ความเห็น กสทช. ต่อ ร่าง พ.ร.บ.ดิจิทัล
 
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัลแนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
แนวคิดและสาระสำคัญของร่างกฎหมายในชุดเศรษฐกิจดิจิทัล
 
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัลจะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
จะสร้างเศรษฐกิจดิจิทัล ต้องคิดแบบดิจิทัล
 
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่นอนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
อนาคตของการจัดสรรและใช้ทรัพยากรคลื่น
 
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทยกฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
กฎหมาย กสทช. ของอเมริกาเพื่อแก้ปัญหาไทย
 
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
ร่างพระราชบัญญัติคณะกรรมการดิจิทัลเพื่อเศรษฐกิจและสังคมแห่งชาติ
 
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
ขยายระยะเวลาคืนคลื่น 1800 MHz: เยียวยาผู้บริโภคหรือผู้ประกอบการ?
 
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHzทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
ทางออกผู้บริโภค กรณีซิมดับ จากการหมดอายุสัมปทานคลื่นความถี่ 1800MHz
 
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิโครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
โครงการ 2 ล้านล้าน กับอนาคตประเทศไทย ดร. เศรษฐพุฒิ สุทธิวาทนฤพุฒิ
 
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRIร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
ร่าง พ.ร.บ. กู้เงินเพื่อพัฒนาโครงสร้างพื้นฐาน TDRI
 
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการพรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
พรบ. 2 ล้านล้านบาท ดร.นิตินัย ศิริสมรรถการ
 
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัลการกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
การกำกับดูแลการเปลี่ยนผ่านสู่ทีวีดิจิทัล
 
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้งสไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
สไลด์ข้อเสนอร่างรัฐธรรมนูญว่าด้วยนิรโทษกรรม และการขจัดความขัดแย้ง
 
Agenda Bangkok
Agenda BangkokAgenda Bangkok
Agenda Bangkok
 
Mobile Trends 2012
Mobile Trends 2012Mobile Trends 2012
Mobile Trends 2012
 
Thailand 1800MHz Frequency Management
Thailand 1800MHz Frequency ManagementThailand 1800MHz Frequency Management
Thailand 1800MHz Frequency Management
 
IPTV and Internet TV - Thailand Case
IPTV and Internet TV - Thailand CaseIPTV and Internet TV - Thailand Case
IPTV and Internet TV - Thailand Case
 

Open Source Software Licensing

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