FOSSology is an open source license compliance software system and toolkit. As a toolkit, you can run license, copyright and export control scans from the command line. As a system, a database and Web user interface provide you with a compliance workflow. License, copyright and export scanners are tools used in the workflow.
Analyzing open source license compliance requires expert knowledge. As a consequence the use of the tool requires understanding of license analysis problems and how they are covered by FOSSology. This training will therefore provide the following elements:
The hands-on session allows and encourages for performing the presented functionality at the same time. Attendees use their computers to directly perform presented tasks on their own FOSSology application. As an open source project, anyone can easily install FOSSology using a pre-built docker image from docker hub or vagrant / virtualbox on most platforms.
This course will be valuable to anyone concerned with and involved in Open Source Management, including operational and legal executives, software development managers, open source program managers and developers. It requires basic understanding of software licensing. If not, it is recommended to have performed the training Compliance Training for Developers (LFC191) available here.
Roughly, the training is comprised of the following elements:
For the hands on training a few files a required, open source packages to show particular examples. The selection of the packages is just because their license situation serves as an example. the packages provided here are provided for easy access and for covering volatility of hyperlinks.
A short cut in the sense of not really installing FOSSology is a ready made exported virtual machine. Steps:
As for the installation, there are three main ways to install FOSSology:
Note 1: After having installed FOSSology, use the default username and password for logging in: 'fossy' and 'fossy'.
Note 2: In all cases, consider that FOSSology is a server application and requires as such, a person proficient with server administration of Linux applications for productive use. Not adapting the installation might lead to performance issues, since the out-of-the-box parameters for the database and Web server cannot cover smaller notebook computers and larger server installations at the same time.
There is a docker pre-built image for FOSSology on DockerHub, the general way to call this is:
docker run -p 8081:80 fossology/fossology
This presumes that docker is installed and up and running. There are the following sources for installing docker in particular:
Note 1: For accessing a docker container, docker creates a local network on your computer. The IP address is printed in the terminal output usually when starting docker. As such, this IP address must be used (instead of localhost). Moreover, the installation registers FOSSology under a path at the web server:
repo/. This triaing path must be added to the URL. Running docker on a mac the resulting FOSSology URL looks like:
Note: the actual IP address can be different on your docker setup!
The Fossology project repository contains also a vagrant file defining a virtual machine and installing fossology on this. The following steps:
If everything went fine, the URL of the FOSSology server should be:
Note: Depending on you network connection it will take some time to download the ubuntu OS image on which the FOSSology will be installed. If you are a vagrant user already, you might consider to use your won ubuntu-14.04 based box (any give other OSes a try) to install FOSSology on.
Installing from source is mainly for development. However, since the build and deploy of FOSSology is automated, it can be also considered for quick testing.
In this unfortunate case, consider the documentation of the basic workflow in FOSSology.
There is a test installation at Amazon AWS for conveniently accessing the FOSSology. Important: not all elements of the hands-on exercises can be performed, as the configured users do not have admin rights, of course:
Note that this instance is for hands-on trainings only, and we will share credentials on the event.
A public instance is at http://126.96.36.199/repo/ (testuser/user).