Introduction to FOSSology¶
The FOSSology software is a system for analyzing and studying FOSS – Free and Open Source Software. Today people use FOSSology as part of their open source governance activities. Specifically to scan files for licenses and copyrights.
The major capabilities provided by the FOSSology system are:
- Upload file(s) via a web interface (UI) or command line interface (CLI)
- Unpack and store the files to be analyzed into a software repository
- Invoke specialized "agents" to analyze the data
- Populate a database to store the results
- Browse results through the UI
Currently, FOSSology provides the following agents to scan and analyze uploaded data:
- A License Agent to identify software licenses using a heuristic pattern-matching algorithm.
- An agent to scan for identifers (Copyrights, email addresses and URLs)
- A Package agent to examine the headers of Debian and RPM packages.
- A "bucket" agent to categorize files by your own criteria
The FOSSology system consists of the following major components:
- Software Repository - Stores the actual files loaded into the FOSSology system.
- Database - Stores the analysis results generated by the Agents (Note that in some cases, analysis results are stored directly in the software repository). The database also contains operational data like job control.
- Agents - Perform the analysis on the uploaded files. Agents typically read data from the Software Repository and write the results to the.
- Scheduler - Runs the agents.
- User Interface - Provides the web-based Graphical User Interface for the FOSSology software.