====== Hands-On Training Support Page ====== ===== About the Training ===== 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: * Challenges in real world examples at license analysis of open source components * Learning how to cope with license proliferation and custom license texts * Efficiently managing large open source components with heterogeneous licensing * Saving work with reusing license conclusions of open source packages when analyzing a newer version * Getting an overview about an example workflow for component analysis with FOSSology 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 [[https://training.linuxfoundation.org/linux-courses/open-source-compliance-courses/compliance-basics-for-developers|Compliance Training for Developers (LFC191) available here]]. ===== Organisation and Training Contents ===== Roughly, the training is comprised of the following elements: - Motivation, What is the need today - Introduction, What FOSSology is designed for - Features, Walk trough most important features - Installation Workshop, We try to get FOSSology running on your machine - Hands On, Why not tying it out here ===== Supplemental Material ===== 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. * //Hands-On// Basic Clearing Workflow Example: [[https://drive.google.com/file/d/0B-KX3xvGmNDORXV6b004QkhpQzA/view?usp=sharing|ionicons-3.0.0.zip]] * //Hands-On// Accelerate File Handling: [[https://drive.google.com/file/d/0B-KX3xvGmNDOQjRtVUpJRXVhdE0/view?usp=sharing|zlib-1.2.7]]. * //Hands On// Reusing File Decisions: [[https://drive.google.com/file/d/0B-KX3xvGmNDOZjhGRGFfZUVHSFU/view?usp=sharing|zlib-1.2.8]], optionally: [[https://drive.google.com/file/d/0B-KX3xvGmNDObHpQb19zN1VJcEE/view?usp=sharing|jakarta-oro-2.0.8]]. * //Hands-On// Candidate License handling: using zlib-1.2.7 again * //Hands-On// Users and Groups: no files required * //Hands-On// License set handling: [[https://drive.google.com/file/d/0B-KX3xvGmNDONnNuZUR0b0VXRFk/view?usp=sharing|license-import-example.csv]], [[https://drive.google.com/file/d/0B-KX3xvGmNDON1dFUERyYlc1amM/view?usp=sharing|commons-logging-1.2-src.zip]],[[https://drive.google.com/file/d/0B-KX3xvGmNDOTHJacHpLYmRiR2M/view?usp=sharing|commons-collections-4-4-1-src.zip]]. * //Hands-On// Basic Clearing Workflow Example: [[https://drive.google.com/file/d/0B-KX3xvGmNDOaG9DOFZ2RmNNZXM/view?usp=sharing|jakarta-oro-2.0.7]]. * //Hands-On// Clearing Workflow Example: [[https://drive.google.com/file/d/0B-KX3xvGmNDOaElMRGNWdk1pNjA/view?usp=sharing|time-1.7.tar.gz]] ===== FOSSology Installation ===== ==== Short Cut ==== A short cut in the sense of not really installing FOSSology is a ready made exported virtual machine. Steps: - Download [[https://www.virtualbox.org/wiki/Downloads|VitualBox]] (which can import .ova files) and install. - Download our ready made [[http://www.mcj.de/downloads/fossology-3.3.0.ova|FOSSology Virtual Machine 3.3.0]] - note that this is for the demo only. - Import this VM to VirtualBox: Menu 'File', then select 'Import Appliance'. Then select the *.ova file and just go ahead, click OK for importing. Checking settings especially for assigned cores and main memory used might be useful. For simple tests, FOSSology runs with 1 core and 1GB of main memory. - Start the newly imported virtual machine. - Go to http://localhost:8081/repo/ ==== Normal Installation (3 Ways) ==== As for the installation, there are three main ways to install FOSSology: * Linux / Win / Mac: **Using Docker**: if docker is installed, FOSSology is on docker hub. Also, please check the readme file of the project for more details. * Linux / Win / Mac: **Using Vagrant and VirtualBox**: just checkout or download the project and execute a classic vagrant up. * Linux Only: **Install from source**: The installation from source is straight forward as described on our GitHub developer pages: [[https://github.com/fossology/fossology/wiki/Install-from-Source|Github developer wiki]]. //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. === Using Docker === 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. you might prefer installing a final release of FOSSology as the above command installs the latest state of the github repository ("latest master"): docker run -p 8081:80 fossology/fossology:3.3.0 There are the following sources for installing docker in particular: * Installing docker on ubuntu can be found here: [[https://github.com/fossology/fossology/wiki/FOSSology-Docker-testing-on-Ubuntu|FOSSology Docker testing on Ubuntu]] * Installing docker on a mac, consider the documentation [[https://docs.docker.com/docker-for-mac/|from the docker pages]]. * Installing docker on windows, there are pages [[https://docs.docker.com/docker-for-windows/|for Windows on the docker homepage too]]! //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 could look like: http://192.168.99.100:8081/repo/ or (with newer docker versions) http://localhost:8081/repo/ //Note//: the actual IP address can be different on your docker setup! === Using Vagrant === The Fossology project repository contains also a vagrant file defining a virtual machine and installing fossology on this. The following steps: - Install a hypervisor that works with vagrant, for example [[https://www.virtualbox.org/wiki/Downloads| VirtualBox]]. The installation is done using an installaer on win and mac. For Linux you may consider package download instructions on [[https://www.virtualbox.org/wiki/Linux_Downloads|this page]]. - Install the provisioning framework Vagrant from [[https://www.vagrantup.com|vagrantup.com]]. They provide installers for win and mac and packages for debian and centos. - Follow the [[https://www.vagrantup.com/docs/getting-started/|post-installation instructions of Vagrant]]. - Clone the FOSSology repository on github.com. Alternatively just could simply donwload the [[https://github.com/fossology/fossology/archive/master.zip|latest version as ZIP archive]]. Another alternative would be to download the version you prefer to have started up with vagrant - Change into the project root folder and execute: ''vagrant up''. If everything went fine, the URL of the FOSSology server should be: http://localhost:8081/repo/ //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. === Install From Source === 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. * There is an explanation found on the [[https://github.com/fossology/fossology/wiki/Install-from-Source|Github developer wiki]]. * If you are familiar with the old source code install: Basically, the installation has not changed substantially, as such, also the older pages explaining the source code install are still valid. * If you would like to go deeper into the configuration of your installation, consider the [[http://example.com|system administrator documentation]]. A shell script exists ([[https://github.com/fossology/fossology/blob/master/install/scripts/readme|see readme here]]), adjusting most the important things for a server-oriented installation,. === Cannot Attend the Training? === In this unfortunate case, consider the documentation of the [[https://www.fossology.org/get-started/basic-workflow|basic workflow in FOSSology]]. === Test Installation at AWS === 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: http://52.25.49.79/repo/ Note that this instance is for hands-on trainings only, and we will share credentials on the event. A public instance is at http://83.169.21.23/fossology/ (testuser/user). ===== Survey ===== [[https://www.surveymonkey.com/r/67WLBYL|Link to Survey]]