Evolutional Analysis of Licenses in FOSS Yuki Manabe
Evolutional Analysis of Licenses in FOSS Yuki Manabe† Yasuhiro Hayase‡ Katsuro Inoue † †Osaka University, Japan ‡Toyo University, Japan 2010/9/21 - IWPSE 2010 1 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Overview • Statistical study on the evolution of licenses on Free Open Source Software(FOSS) – Analyzing the licenses in Free. BSD, Open. BSD, Eclipse and Argo. UML during the course of their evolution • Licenses can sometimes drastically change between releases • Kernel also have Great License Shifts 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 2 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Software license • The permissions of use, and describes the requirements and conditions to get such permission. • 66 licenses approved by Open Source Initiative 1 as Open Source License – Satisfying the open source definition 1 2010/9/21 - IWPSE 2010 http: //www. opensource. org/ Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Ninka[6] Automatically license identification tool – Reporting license name (112 licenses) • BSD 3(BSD 3 -clause license) • GPLv 2+(GNU Public License version 2 or later) – Precision: 96. 6% Source File Rule matching License name 2010/9/21 - IWPSE 2010 Knowledge base [6]D. M. German et. al. A sentence-matching method for automatic license identification of source code files. In Proc. ASE 2010, 2010. Yasuhiro (To appear). Yuki Manabe, Hayase and Katsuro Inoue 4 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Evolution of licenses • Software licenses are adapted to environment • Software licenses evolves because of. . . [2] – author's requirement [2] M. Di Penta, D. M. German, Y. -G. Gueheneuc, – user's demand G. Antoniol. "An exploratory study of the – external pressure evolution of software licensing" , ICSE 2010. • [2] only analyzed first and last versions in target versions with respect to license changes. And no detail of the evolution characteristics was analyzed 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Research theme • Goal – Finding characteristics of change of licenses in the evolution of FOSS • Approach – Analyzing the licenses of several releases of large-scale FOSS with Ninka 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 6 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Analysis targets Free. BSD (all) Type Free. BSD (kernel) OS kernel, OS kernel applications Open. BSD (all) Open. BSD (kernel) OS kernel, OS kernel applications Eclipse Argo. UML SDE platform UML Design Tools Release Version 2. 2 -8. 0 2. 0 -4. 7 2. 03. 5. 2 0. 8. 10. 31. 1 Release Date 1994/112009/11 1996/102010/5 2002/62009/9 2000/102010/6 # release 28 45 25 79 1141935880 6862208 CVS Subversion #Files (oldestlatest) Version Control System 441221266 6273490 CVS 2010/9/21 - IWPSE 2010 624514181 9873314 CVS Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 7 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiments 1. Examine the number of files under each license at each release version in Free. BSD (all), Open. BSD (all), Eclipse and Argo. UML 2. Analyze the difference of licensed file number across different versions in Free. BSD(all) and Open. BSD(all) 3. Examine the difference in evolution patterns of OS all and OS kernel 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 8 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 1 License ratio 1. Examine the number of files under each license at each release version in Free. BSD (all), Open. BSD (all), Eclipse and Argo. UML 2. Analyze the difference of licensed file number across different versions in Free. BSD(all) and Open. BSD(all) 3. Examine the difference in evolution patterns of OS all and OS kernel 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 9 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Free. BSD (all) 16000 14000 12000 8000 6000 4000 2000 8. 4. 0 10. 0 5. 2. 0 5. 3. 0 5. 5. 0 6. 1. 0 6. 3. 0 7. 0. 0 7. 2. 0 8. 0. 0 2 4. 6. 0 4. 2. 0 4. 1. 0 4. 5. 0 3. 1. 8 3. 2. 6 2. 2. 0 2. #files 10000 Release Version Decreased BSD 4 Increased BSD 2 and BSD 3 BSD 4 BSD 3 BSD 2 GPLv 2+ Library. GPLv 2+ Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 10 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Open. BSD (all) 25000 #files 20000 15000 10000 5000 0 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 2. 9 3. 0 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3. 7 3. 8 3. 9 4. 0 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 4. 7 Decreased BSD 4 Release Version Increased BSD 2 and BSD 3 BSD 4 BSD 3 BSD 2 GPLv 2+ MITold 1 Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 11 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Eclipse 45000 40000 35000 20000 15000 10000 5000 3 3. . 1 3. 1. 1 3. 3. 2 3. 3 3. 4. 1 3. 4. 2 3. 5. 1 3. 5. 2 2 1 1 2 1 3. 2. 3. 1. 3. 3. 0. 0 CPLv 1. 0→EPLv 1. 0 Release Version 3. 1. 2. 2. 0. CPLv 0. 5→CPLv 1. 0 3. 3 2 1 1 1 0 0 2. #files 30000 EPLv 1 CPLv 0. 5 CPLv 1 MPLv 1_1 BSD 3 Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 12 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Argo. UML 2500 1000 500 0 0. 8. 1 0. 9. 3 0. 9. 6 0. 9. 8 0. 10 0. 11. 1 0. 11. 3 0. 12 0. 13. 4 0. 13. 6 0. 14. 1 0. 15. 2 0. 15. 4 0. 15. 6 0. 16. 1 0. 17. 2 0. 17. 4 0. 18 0. 19. 1 0. 19. 4 0. 19. 6 0. 19. 8 0. 21. 1 0. 21. 3 0. 23. 1 0. 23. 3 0. 23. 5 0. 25. 1 0. 25. 3 0. 25. 5 0. 26. 2 0. 27. 2 0. 28 0. 29. 1 0. 29. 3 0. 30 0. 31. 1 #files 2000 EPLv 1 Apachev 2 Lesser. GPLv 2. 1+ Others 2010/9/21 - IWPSE 2010 Release Version UNKNOWN(BSD-like license) →EPLv 1. 0 BSD 2 Lesser. GPLv 2. 1 UNKNOWN NONE Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 13 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Findings of Experiment 1 • Licenses of the BSD systems are rather diverse and loosely controlled, compared to Eclipse and Argo. UML • A few-license cover almost all files in Eclipse and Argo. UML • Sometimes those licenses are drastically changed to others by the strong management to the overall systems • Those changes relax or tighten the conditions of the license 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 14 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 2 License File Increase/Decrease 1. Examine the number of files under each license at each release version in Free. BSD (all), Open. BSD (all), Eclipse and Argo. UML 2. Analyze the difference of licensed file number across different versions in Free. BSD(all) and Open. BSD(all) 3. Examine the difference in evolution patterns of OS all and OS kernel 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 15 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Free. BSD (all) 800 600 400 0 3. 0 7. 1. 0 7. 4. 0 6. 2. 0 6. 4. 1 5. 2. 0 1. 5. . 0 11 0 4. 9. 0 4. 7. 1 4. 6. 0 4. 5. 0 4. 3. 1 4. 1. 0 4. 0 3. 2. 0 3. 0. 7 3. 2. 5 2. -200 2. 1 0 2. #files 200 -400 -600 -800 BSD 4 BSD 3 2010/9/21 - IWPSE 2010 v 5. 2. 1 - v 5. 3 Release Version 531 files under BSD 4 were moved to other BSD 2 GPLv 2+ Library. GPLv 2+ license BSD 2 or BSD 3. Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 16 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Open. BSD (all) 1500 1000 500 #files 0 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 2. 9 3. 0 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3. 7 3. 8 3. 9 4. 0 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 4. 7 -500 -1000 -1500 v 3. 3 - v 3. 4 2255 files under BSD 4 were moved to other license BSD 2 or BSD 3. Release Version -2000 -2500 BSD 4 BSD 3 2010/9/21 - IWPSE 2010 BSD 2 GPLv 2+ MITold 1 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 17 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Open. BSD (all) 25000 #files 20000 15000 There are large shifts of licenses along with 10000 system evolution 5000 0 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 2. 9 3. 0 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3. 7 3. 8 3. 9 4. 0 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 4. 7 Release Version BSD 4 BSD 3 BSD 2 GPLv 2+ MITold 1 Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 18 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Experiment 3 Difference of all and kernel 1. Examine the number of files under each license at each release version in Free. BSD (all), Open. BSD (all), Eclipse and Argo. UML 2. Analyze the difference of licensed file number across different versions in Free. BSD(all) and Open. BSD(all) 3. Examine the difference in evolution patterns of OS all and OS kernel 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 19 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Free. BSD (all) 16000 14000 12000 8000 6000 4000 2000 8. 4. 0 10. 0 5. 2. 0 5. 3. 0 5. 5. 0 6. 1. 0 6. 3. 0 7. 0. 0 7. 2. 0 8. 0. 0 2 4. 6. 0 4. 2. 0 4. 1. 0 4. 5. 0 3. 1. 8 3. 2. 6 2. 2. 0 2. #files 10000 Release Version Decreased BSD 4 Increased BSD 2 and BSD 3 BSD 4 BSD 3 BSD 2 GPLv 2+ Library. GPLv 2+ Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 20 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Free. BSD (kernel) 4000 3500 3000 2000 1500 1000 500 0 0. 0 8. 2. 0 7. 3. 0 6. 5. 5. 10 4. 4. Decreased BSD 4 Release Version Increased BSD 2 and BSD 3 6. 1. 0 5. 0 3. 0 2. 0 0. . 0 0 8. 2 6. 0 4. 2. 0 4. 1. 0 4. 5. 0 3. 1. 8 3. 2. 6 2. 2. 0 0 2. #file 2500 BSD 4 BSD 3 BSD 2 Inter. ACPILic CDDLic Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 21 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Open. BSD (all) 25000 #files 20000 15000 10000 5000 0 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 2. 9 3. 0 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3. 7 3. 8 3. 9 4. 0 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 4. 7 Decreased BSD 4 Release Version Increased BSD 2 and BSD 3 BSD 4 BSD 3 BSD 2 GPLv 2+ MITold 1 Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 22 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Open. BSD (kernel) 3500 3000 #files 2500 We had expected to see the different evolution pattern between kernels and alls 1500 but they are almost similar 1000 2000 500 0 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 2. 9 3. 0 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3. 7 3. 8 3. 9 4. 0 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 4. 7 BSD 4 Release Decreased Version Increased BSD 2 and BSD 3 BSD 4 BSD 3 BSD 2 MITold 1 MITold 2 Others NONE UNKNOWN 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 23 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Summary of findings • There are large shifts of license in Free. BSD (all) and Open. BSD (all) • Argo. UML and Eclipse also have similar large shifts – Sometimes those licenses are more drastically changed to others than Free. BSD (all) and Open. BSD (all) – A few licenses cover almost all files in those systems • The kernel of Free. BSD and Open. BSD also have large shifts 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 24 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Conclusions & Future work • Statistical study on the evolution of licenses on FOSS – Analyzing the licenses in Free. BSD, Open. BSD, Eclipse and Argo. UML during the course of their evolution – Finding large shifts of licenses in evolution of FOSS • Future Work – More fine-grained analysis – Analysis of the relation between drastic license change and other log data such as mailing list archive 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 25 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 26 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• Supplemental Slides 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 27 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Advertisement clause of BSD 4 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <organization>. 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 28 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Endorsement clause of BSD 3 • Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 29 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Patent clause of CPLv 1. 0 In Section 7 • "If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. " 2010/9/21 - IWPSE 2010 Yuki Manabe, Yasuhiro Hayase and Katsuro Inoue 30 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
- Slides: 30