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.

Slides:



Advertisements
Similar presentations
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
Advertisements

T Project Review X-tremeIT I2 Iteration
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Agile Project Management with Scrum
T Project Review Groupname [PP|…|DE] Iteration
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Systems Analysis and Design in a Changing World, 6th Edition
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Planning Iteration Demo Suunto Training Program Planner.
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
T Project Review RoadRunners [PP] Iteration
ProCol~ A jEdit Plugin for Remote Project Collaboration Justin Dieters Spring 2004 CS470 Final Presentation.
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
T Project Review Magnificent Seven Project planning iteration
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
Software Engineering Management Lecture 1 The Software Process.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
T Project Review TeXlipse [I2] Iteration
T Final Demo Xylophone I2 Iteration
T Project Review X-tremeIT I1 Iteration
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
T Project Review WellIT PP Iteration
Increment 1 Development Plan - License Checker 2.0 Jing Jing-Helles
T Iteration Demo Group name [PP|I1|I2] Iteration
T Iteration Demo OSLC 2.0 I1 Iteration
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
T Project Review Tetrastone Projext Planning Iteration
T Project Review Sotanorsu I3 Iteration
T Iteration demo T Iteration Demo Team Balboa I1 - Iteration
T Project Review (Template for PI and I1 phases) Group name [PI|I1] Phase
T Iteration Demo Team DTT I1 Iteration
T Iteration Demo Team 13 I1 Iteration
In the Labs… X-Bot 2003 by Overtech Technologies.
T Project Review RoadRunners [IM3] Iteration
Project management Topic 7 Controls. What is a control? Decision making activities – Planning – Monitor progress – Compare achievement with plan – Detect.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
T Iteration Demo Team DTT Project planning (PP) Iteration
T Iteration Demo Software Trickery I2 Iteration
T Project Review WellIT I2 Iteration
T Iteration Demo Group name [PP|I1|I2] Iteration
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
T Project Review Sotanorsu I1 Iteration
T Iteration I1 Demo Software Trickery PP Iteration
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
T Iteration Demo Tikkaajat [PP] Iteration
T Project Review MalliPerhe Iteration 3 Implementation
T Project Review RoadMappers I2 Iteration
T Project Review Rajoitteiset I2 Iteration
T Project Review Muuntaja I1 Iteration
T Iteration Demo BitPlayers PP Iteration
T Project Review Final Demo T Project Review X-TremeIT Valeria, Konstantin, Roman, Olesia, Vladislav, Seppo, Aleksandr 2 Agenda.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
T Project Review Magnificent Seven Final demonstration
T Project Review MTS [PP] Iteration
T Project Review Wellit I1 Iteration
Increment 2 Development Plan - License Checker 2.0 Jing Jing-Helles
T Project Review Sotanorsu I2 Iteration
T Iteration Demo LicenseChecker I2 Iteration
T Project Review X-tremeIT PP Iteration
Embedded Systems Software Engineering
T Project Review X-tremeIT I1 Iteration
Software Engineering Management
Chapter 18 Maintaining Information Systems
T Project Review Group: pdm I2 Iteration
Implementation 3 Project Review
Extreme Programming.
Presentation transcript:

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

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?

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

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

License Issue and Reference Under GPL 2.0 license Released in Sourceforge.net: 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

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

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

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

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

Resource Usage Veli-Jussi I Jussi SUM Jing Yuan Sakari Lauri Xie Mika Total I1 PP Original resource plan Resource Realization (left hours and extra hours) 470,5544,53867,563,598,054551,562,5I Veli-Jussi 1301,896, , ,5163,2Total 1,8-53,52819,6128,513,2Extra Hours 545,953762,576,571,2568,57750,2I1 285, ,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.

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.

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

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

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

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

Current Achievements Release in sourceforge: 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

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