Presentation is loading. Please wait.

Presentation is loading. Please wait.

Open Source License Checker 2.0 Team LC 2.0, March 2007 Jing Jing-Helles, Sakari Kääriäinen, Yuan Yuan, Mika Rajanen, Xie Xiaolei, Lauri Koponen, Veli-Jussi.

Similar presentations


Presentation on theme: "Open Source License Checker 2.0 Team LC 2.0, March 2007 Jing Jing-Helles, Sakari Kääriäinen, Yuan Yuan, Mika Rajanen, Xie Xiaolei, Lauri Koponen, Veli-Jussi."— Presentation transcript:

1 Open Source License Checker 2.0 Team LC 2.0, March 2007 Jing Jing-Helles, Sakari Kääriäinen, Yuan Yuan, Mika Rajanen, Xie Xiaolei, Lauri Koponen, Veli-Jussi Raitila, Jussi Sipoma

2 Risks Using Open Source Can we really use open source software as freely as we want in software development? Are you aware of the risk? PHP license is incompatible to GPL license  source code under PHP license cannot import source code under GPL license and vice versa. Do we really need to read each of the open source licenses to avoid legal problems? Do we have time for it?

3 Benefit from OSLC 2.0! To Identify existing open source licenses To select OS software for development To avoid legal problems and law suit To manage software package with multiple OS licenses To support decision making for OS software license Work more efficiently:  To save managers’ and engineers’ time from going into details in the source package  Managers and engineers do not have to be open source license expert

4 OSLC 2.0 Features and Demo Identify license from OS source files/directories/packages Identifying open source licenses from: Java, PHP, and C/C++ source files Linux kernel source files “LICENCE” files “COPYING” files Indicating the license matching confidence against the original license text Highlighting the matched license text Displaying source code import references Link to import files (only in Java) Displaying the license conflicts Identifying license exceptions & forbidden phrases Source file print support General summary and report on the source files in the package File filtering in source package based on different criteria. Support both GUI interface and Command line interface

5 License Issue and Reference Under GPL 2.0 license Released in Sourceforge.net: www.sourceforge.net/projects/oslc Marketing material in Groklaw Industrial companies have high interests in this software Welcome to Make suggestions and comments! Try out our application and spread the word Join us in further development

6 OSLC 2.0 Project Final Report Team LC 2.0, March 2007 Jing Jing-Helles, Sakari Kääriäinen, Yuan Yuan, Mika Rajanen, Xie Xiaolei, Lauri Koponen, Veli-Jussi Raitila, Jussi Sipoma

7 Project Goals - Identification of the license information and the license conflicts within the package and display it in the GUI - It is able to locate to the target reference file in Java. - The file reference is shown in the GUI. - The summary pane shows the overall information of the software package.OKTo visualize the content of the software package and show file linking relations The software can create license report of a software package in command line. In addition, it is able to identify the file references in the package. OKTo offer command line option for making report (filename+ license) The software identifies licenses based on licenses storied in the database provided by the customer. OKTo make positive and negative identification of licenses This feature is decided to be dropped off. The decision was affected by additional high priority feature requests from customer. In addition, the project resource availability also slightly affected the decision as we must focus on the higher priority features and drop the low ones. DroppedTo be easy to integrate with different development environment e.g. CVS The software supports license analysis functionality in a single file, directory, and compressed source file packages (zip, jar, tar.gz, tar, and tgz). It also can identify license information from e.g. “License.txt” and “Copying.txt” files. OKTo analyze the license found from files in an open source package Functionality Goals The system is designed with a user-friendly interface. The usage of the application is very straight forward. Normal user should be able to master it after 30 minutes. OKThe application is designed with usability concept in mind The software is currently released in sourceforge as Beta release. All the OSSI project customers are informed about this software and they are very interested to use it. OKTo provide a software with production level of quality (beta release) The system is implemented with powerful features and algorithms to support analysis for open source software licenses. Currently we are using different algorithms to identify the license type and 28 open source licenses registered into the application license database. OKTo build a basic tool for analyzing open source software license Business Goals RealizationStatusOriginal Goals

8 Project Goal Deviations DeviationsStatusReason Functionality Goals The CVS function integration to the application is not implemented.droppedAgreed with customer Adding Linux kernel source code license identification supportokCustomer requested File printing support feature is added in the second iteration.okCustomer requested File filtering based on the license typesok Voluntary work by developer Uncertain license filtering: only those files with a license match less than X% are shown okCustomer requested Maximum match-% found is displayed for each license in details panel ok Voluntary work by developer File browsing historyok Voluntary work by developer

9 Project Schedule and progress Agile development embracing changes Iterative development with 2 week sub-iteration development Frequent delivery and demonstration for customer review and feedback All development work on schedule with extra features

10 Resource Usage 170 70 73 27 Veli-Jussi 49864 74 465452I2 150 64 22 Jussi 1300 499 303 SUM 150 40 58 Jing 170 64 52 Yuan 170 46 78 Sakari 170 74 22 Lauri 150 64 22 Xie 170 74 22 Mika Total I1 PP Original resource plan Resource Realization (left hours and extra hours) 470,5544,53867,563,598,054551,562,5I2 12 162 103 21 Veli-Jussi 1301,896,5152178189,6182178,5163,2Total 1,8-53,52819,6128,513,2Extra Hours 545,953762,576,571,2568,57750,2I1 285,315223820,368,55050,5PP SUMJussiXieMikaLauriSakariYuanJing  GUI work is complex and time-consuming.  Implementation is more complicated than expected (License recognition algorithm & source file parsing)  Additional work spent on project marketing  Changes and extra features for application  Jussi had to travel abroad for special reasons thus he was not available for some weeks  This affected the project task assignment a bit; however we adjust the plan to fit to the new situation.

11 Project Quality Summary OSLC 2.0 is robust and produces reliable analysis result  It is mature enough as a stable release in Sourceforge and for production use. Quality goalsStatusReasoning Functionality The system performs all the functionalities as planned for Iteration 1. Functionalities are tested and got expected results. Correctness No serious errors before delivery. Critical defects are fixed. Maintainability Comments are written with Javadoc convention, and Javadoc is generated to support further development Usability The user interface is very straight forward to use. We have done our best to improve the usability based on our budget. Yet, the user interfaces still have room for improvement.

12 Project Quality Summary Status of main quality metrics: Test coverage: 100% (test cases cover all the proposed requirements that can be tested) Development progress: 100% (23 test cases designed and tested for the whole system) Current quality: 100% (No failed test cases before delivery) Defects solution: 100% (All found 117 bugs and peer testing found bugs are fixed) File filter function added, print support, File history browsing, Help, and About 2HighGUI Java, C++/C, PHP source file support 2HighMultiple source file support Improved large package processing 2HighPackage processing Works well 2HighDirectory processing Works well 3HighLicense matching CommentsQualityCoverageProgressFunctional Area

13 System Architecture Module structure checker binds the other modules together programming interface for the graphical user interface filepackage implementations for each supported package type file system, jar, zip, tar package opening and file reading license classes that contain license data license database creation

14 System Architecture Module structure matching matching algorithm match result representation sourceparser implementations for each supported source file type Java, C(++), php comment detection reference detection gui implementation of the graphical user interface

15 System Architecture Architecture has been mostly stable Some changes have been made events to the gui indicates package processing status iterator for file packages speeds up opening compressed packages matching caching of internal data structures match results filtering phrases and modules are now subclasses of License New classes and methods have been added, but major refactoring has not been necessary

16 Current Achievements Release in sourceforge: www.sourceforge.net/projects/oslc www.sourceforge.net/projects/oslc Release information in Groklaw (by customer) Presenting OSLC application in OSSI project meetings Informing OSSI project customers about our release Marketing through personal network to OSS companies

17 Thank You! Special thanks to our motivated and diligent group members! Special thanks to our customer Ville and mentor Seppo too! Questions?


Download ppt "Open Source License Checker 2.0 Team LC 2.0, March 2007 Jing Jing-Helles, Sakari Kääriäinen, Yuan Yuan, Mika Rajanen, Xie Xiaolei, Lauri Koponen, Veli-Jussi."

Similar presentations


Ads by Google