Anúncio
Anúncio

Mais conteúdo relacionado

Similar a Introduction to License Compliance and My research (D. German)(20)

Anúncio

Último(20)

Anúncio

Introduction to License Compliance and My research (D. German)

  1. Open Source License Compliance Daniel M German http://github.com/dmgerman/papers/
 University of Victoria
  2. Open Source is successful
  3. Open Source is everywhere
  4. My research goals
  5. My research goals • To understand how OSS is developed
  6. My research goals • To understand how OSS is developed • To help OSS development
  7. My research goals • To understand how OSS is developed • To help OSS development • To document best practices for the adoption and use of OSS
  8. Software Engineering Research Source Code
  9. Software Engineering Research Source Code People
  10. Software Engineering Research Source Code Organizations People
  11. Software Engineering Research Source Code Organizations Software Ecosystems People
  12. My research
  13. Open Source Software My research
  14. Mining Software
 Repositories Open Source Software My research
  15. Mining Software
 Repositories Open Source Software Intellectual Property (copyright) My research
  16. Mining Software
 Repositories Open Source Software Intellectual Property (copyright) My research Empirical Studies
  17. Mining Software
 Repositories Open Source Software Intellectual Property (copyright) My research Empirical Studies Tools
  18. OSS
  19. OSS • OSS is software that is under an Open Source License
  20. OSS • OSS is software that is under an Open Source License • The big shift: industry wants to use it • Car makers/Software developers/TVs/Phone/Internet-of- things…
  21. OSS compliance “Is the way I reuse OSS compliant with its license?”

  22. Industry and OSS •Industry wants to reuse OSS •But wants to minimize its potential liability
  23. License Compliance
  24. License Compliance 1. Architectural Analysis
  25. License Compliance 1. Architectural Analysis 2. Provenance Discovery
  26. License Compliance 3. License Identification 1. Architectural Analysis 2. Provenance Discovery
  27. Architectural Analysis • What are the components of a system? • How are they connected? • What files are part of what components? • What components are actually used?
  28. Examples
  29. Examples • Apple’s OS X:
  30. Examples • Apple’s OS X: • Contains many open source components
  31. Examples • Apple’s OS X: • Contains many open source components • Under a variety of licenses (although GPL-licensed components are being replaced with BSD-licensed ones)
  32. Examples • Apple’s OS X: • Contains many open source components • Under a variety of licenses (although GPL-licensed components are being replaced with BSD-licensed ones) • FreeBSD
  33. Examples • Apple’s OS X: • Contains many open source components • Under a variety of licenses (although GPL-licensed components are being replaced with BSD-licensed ones) • FreeBSD • Licensed under the BSD-2 license, but contains GPL’d software
  34. Examples • Apple’s OS X: • Contains many open source components • Under a variety of licenses (although GPL-licensed components are being replaced with BSD-licensed ones) • FreeBSD • Licensed under the BSD-2 license, but contains GPL’d software • Disabled by default
  35. International Conference in Software Engineering, 2009
  36. International Conference in Software Engineering, 2009
  37. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009
  38. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009
  39. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009
  40. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009
  41. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009
  42. Methods of interconnection: Linking Forking Subclassing Remote call Plugin International Conference in Software Engineering, 2009 Developers find innovative ways to deal with copyright licensing restrictions
  43. Automated Software Engineering, 2014
  44. Automated Software Engineering, 2014
  45. Automated Software Engineering, 2014
  46. Automated Software Engineering, 2014
  47. Automated Software Engineering, 2014
  48. Automated Software Engineering, 2014 Even “internal” license compliance of the system being developed is hard
  49. Provenance Discovery • Provenance: • Evidence of origin, history and integrity • External: • Where does this module/file/snippet come from? • Internal: • How has this file being modified by the project?
  50. Journal of Empirical Software Engineering, 2013
  51. Journal of Empirical Software Engineering, 2013
  52. Journal of Empirical Software Engineering, 2013
  53. Journal of Empirical Software Engineering, 2013
  54. Journal of Empirical Software Engineering, 2013
  55. For effective provenance you need a very large corpus Journal of Empirical Software Engineering, 2013
  56. For effective provenance you need a very large corpus Journal of Empirical Software Engineering, 2013 Tools without corpus are useless
  57. For effective provenance you need a very large corpus Journal of Empirical Software Engineering, 2013 Tools without corpus are useless Industry does not want methods or tools; it wants consulting
  58. License Identification • What is the license of this module/file/snippet?
 

  59. Automated Software Engineering, 2010
  60. Automated Software Engineering, 2010
  61. Automated Software Engineering, 2010
  62. Automated Software Engineering, 2010
  63. Automated Software Engineering, 2010 Ninka
  64. Automated Software Engineering, 2010 Ninka Integrated into Fossology v3.0
  65. Empirical Studies • What are the challenges of OSS creation and reuse? • Methods: • Mining software repositories • Surveys
  66. Journal of Empirical Software Engineering, 2017
  67. Journal of Empirical Software Engineering, 2017
  68. • What are the different licenses used in GitHub? • What are the common license change patterns? • Why do they change? Journal of Empirical Software Engineering, 2017
  69. • What are the different licenses used in GitHub? • What are the common license change patterns? • Why do they change? Journal of Empirical Software Engineering, 2017
  70. • What are the different licenses used in GitHub? • What are the common license change patterns? • Why do they change? Journal of Empirical Software Engineering, 2017
  71. • What are the different licenses used in GitHub? • What are the common license change patterns? • Why do they change? Most frequently: changes to licensing are documented but not explained Journal of Empirical Software Engineering, 2017
  72. Int. Conf. Software Engineering, 2018
  73. Int. Conf. Software Engineering, 2018
  74. Int. Conf. Software Engineering, 2018
  75. Int. Conf. Software Engineering, 2018
  76. Int. Conf. Software Engineering, 2018
  77. Int. Conf. Software Engineering, 2018 Licensing bugs are hard to fix
  78. The Copyright Troll © Bob MacNeil/extremetech.com
  79. https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html
  80. https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html
  81. https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html
  82. https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html
  83. https://www.heise.de/newsticker/meldung/Linux-in-Elektronikgeraeten-Streit-ueber-Lizenzbedingungen-geht-in-naechste-Instanz-3986181.html
  84. Patrick McHardy
  85. Patrick McHardy • Former chair of the Netfilter Core Development Team • Part of Linux; widely used
  86. Patrick McHardy • Former chair of the Netfilter Core Development Team • Part of Linux; widely used • Has been seeking non-compliant reusers of the Linux Kernel • Allegedly for financial gain (it is estimated he has made more than €2M)
  87. Patrick McHardy • Former chair of the Netfilter Core Development Team • Part of Linux; widely used • Has been seeking non-compliant reusers of the Linux Kernel • Allegedly for financial gain (it is estimated he has made more than €2M) • In 2016 he was suspended from the Netfilter Core Development Team
  88. – Greg Kroah-Hartman et. al “While the kernel community has always supported enforcement efforts to bring companies into compliance, we have never even considered enforcement for the purpose of extracting monetary gain.” http://kroah.com/log/blog/2017/10/16/linux-kernel-community-enforcement-statement/
  89. Geniatec vs McHardy
 in the words of H. Welte (Netfilter) • “The court recognized that there is no co-authorship / joint authorship (German: Miturheber) in the Linux kernel as a whole, as it was not a group of people planning+developing a given program together, but it is a program that has been released by Linus Torvalds and has since been edited by more than 15.000 developers without any "grand joint plan" but rather in successive iterations. This situation constitutes "editing authorship" (German: Bearbeiterurheber)” • "The court further recognized that being listed as "head of the netfilter core team" or a "subsystem maintainer" doesn't necessarily mean that one is contributing copyrightable works. Reviewing thousands of patches doesn't mean you own copyright on them, drawing an analogy to an editorial office at a publisher.” • “The court understood there are plenty of Linux versions that may not even contain any of Patrick McHardy's code (such as older versions)” http://laforge.gnumonks.org/blog/20180307-mchardy-gpl/
  90. But… • “The Linux kernel development model does not support the claim of Patrick McHardy having co-authored Linux. In so far, he is only an editing author (Bearbeiterurheber), and not a co-author. Nevertheless, even an editing author has the right to ask for cease and desist, but only on those portions that he authored/edited, and not on the entire Linux kernel.” • “The plaintiff did not sufficiently show what exactly his contributions were and how they were forming themselves copyrightable works” • “The plaintiff being a member of the netfilter core team or even the head of the core team still doesn't support the claim of being a co-author, as netfilter substantially existed since 1999, three years before Patrick's first contribution to netfilter, and five years before joining the core team in 2004.”
  91. Important questions: • What has McHardy contributed to Linux? • What copyrightable material has he contributed to Linux? • What is currently in Linux?

  92. Context • 26.5 years of development • 806k changes • By 17k different persons • 63k files
  93. Version control and Linux 1991-2002 NONE 2002-2005 Bitkeeper 2005 - today git
  94. Version Control tracks lines
  95. Linux Foundation Request • Can we know where every “character” of the source code of the Linux kernel comes from?

  96. Linux Foundation (sidebar) • The Linux Foundation (LF) is not Linux • LF is a “business league” (non for profit, industrial members) • Its goal: “Building sustainable ecosystems around open source projects to accelerate technology development and commercial adoption.” • It pays the salaries of Linus Torvalds and Greg Kroah-Hartman
  97. Linux Foundation efforts • SPDX: Software Package Data Exchange (SPDX) • Document open source licenses • OpenChain • Documents good-practice processes to improve license compliance • CHAOSS: Community Health Analytics of Open Source Software • Create metrics to measure the “health” of an open source project
  98. However… • cregit only tells us what change introduced what • Open questions: • What changes are copyrightable? • Where does the code in a change come from? • Is the person doing the change the copyright holder?
  99. At a more holistic level • Who are the copyrights holders of: • A system/module/file/function/API • Is there “residual” IP when code is replaced with new code? • On purpose or by evolution
  100. To summarize
  101. http://turingmachine.org http://github.com/dmgerman/papers
  102. To summarize
  103. http://turingmachine.org http://github.com/dmgerman/papers
Anúncio