Glossary of Terms

This section provides defintions of Fossology terms used in the Fossology User interface, software, and documentation.

Agent(s)

Perform the analysis of the data that has been uploaded. The FOSSology system is a combination of agents that run in series. Agents typically read data from the Software Repository and write the results to the Database.

Canonical Name

Licenses may be referred to by a variety of names. For example, "Gnu General Public License", "General Public License", "GPL", "GnuPL", and "Gnu GPL" are all terms that refer to the same raw license text. These alternate names can be combined under a single canonical name, such as "GPL". (The canonical name "GPL" includes the term "GPL" as well as many other aliases.)

Dashboard

The dashboard is a part of the Fossology user interface. It provides a quick and easy way to view database and disk status, so you can tell when your filesystem is full. The dashboard provides the following information: job queue status, database contents, overall database size, and disk space consumed by the repository.

Database

Stores the analysis results generated by the Agents. The database also contains operational data like job control and an error log.

Directory

Provides structure to the contents of the repository. Since the repository can store hundreds of thousands of files, the directory provides organization and quick access to it contents.

Fossology

A framework for software analysis tools. The current tools identify licenses in software, allow browsing of uploaded file hierarchies, and extract MIME type and meta data information. All of the software packages analyzed by FOSSology are maintained in its internal Software Repository, and the information collected by FOSSology (such as the license analyses) are maintained in its internal Database.

Fossology UI

A web-based Graphical User Interface for the FOSSology software. Fossology's user interface provides easy access to it's various features and functions.

Job

An upload that is scheduled for, undergoing, or has completed several smaller tasks required to complete an action (analysis). For example, an Upload "job" might consist of a wget task, an unpack task and a adj2nest task.

Job Queue

One or more jobs that are scheduled for, undergoing, or completed analysis.

Job states

Fossology has a number of job states, each of which indicates the latest status of a job. Possible job states are: Queued, Scheduled, Running, Finished, Blocked, Failed.

(Software) License

A legal description of appropriate use, distribution, and liability.

(Free Software) License

Some license agreements grant considerably more rights than most EULAs provide. A free software license grants the right to modify and redistribute the licensed software for any purpose, both of which would ordinarily be forbidden by copyright law. In some cases, these rights are accompanied by "copyleft" restrictions, adding requirements to redistribution. For example, some free software licenses require the distribution of complete source code along with the software or some specific form of attribution of authorship.

Further information about free software licenses is available from the Free Software Foundation: http://www.fsf.org/licensing/essays/free-sw.html

(Open Source) License

Most open source licenses are free software licenses, but some are too restrictive to qualify. The distribution terms of open-source software is defined by the Open Source Initiative as follows:

http://www.opensource.org/docs/osd

(Software) License (Agreement)

A contract between a producer and a user of computer software which grants the user a software license. Most often, a software license agreement indicates the terms under which an end-user may utilize the licensed software, in which case the agreement is called an end-user license agreement or EULA. When the software license agreement is between the software licensor and a business or government entity, it is often implemented as a specialized form of contract with many clauses unique to the license and the nature of the software being licensed.

License analysis report

The license analysis report provides information on the software licenses detected by FOSSology.

License Group

The license heirarchy permits viewing individual licenses. However, it is common for individual licenses to fit into specific categories. License groups permit categorizing similar licenses. Groups also have attributes such as a name, description, etc. License groups can be associated with licenses or other license groups. Currently, there are three default license groups: Similar Text, FSF, and Fedora.

License Histogram

A list of all licenses found under a directory or found within a container file.

License Reference

A group of sentences or small paragraph that refers to a license. Although not the actual license itself, this paragraph identifies the governing license.

License Section

For analysis, licenses are automatically divided into logical sections. These chunks are usually identified by copyright statements.

License Tree

The license tree lists every file with a license under a specific directory or container file. The tree includes the path to the file, types of licenses found in the file, and number of unique license types.

License Template

A license template is the raw text of a software license. Without any modification, the raw license is used by FOSSology as a template for license detection.

License "-style"

Unknown license sections that match most of a template are considered to be in the "style" of that template. Only perfect matches are identified by the template's canonical name. If there are any differences -- from words added, deleted, or replaced, to as little as a comma or period differ, then the match is considered to be in the template-style.

License Variant

There may be many ways to identify the same license. Different raw text that identify the same license are considered variants.

One-shot Analysis

Primarily used for testing, one-shot license analysis performs a real-time reanalysis for a specific file. Unlike other types of license analysis, one-shot analysis results are not stored in the database.

Percentage match

The percent of the template that matches the unknown license.

Phrase

Each license has a distinct name and identifies a distinct license. However, “Phrase” is a catch-all category. Licenses that are unknown by the analysis system are usually identified by common phrases, such as “is distributed under...”. Phrases that are potentially associated with licenses are listed the Phrase category.

Project

In FOSSology,a project is commonly used to refer to a single compressed file containing several related files. Examples are a debian package (fossology-dev_1.4.1_amd64.deb) or a linux distro RPM (redhat-release-client-6Client-6.1.0.2.el6.src.rpm). An Uploaded Project is displayed in the UI as a single "clickable" item. Clicking on it allows you to drill down into the uncompressed (unpacked) contents. Much like you would navigate a directory tree in your filesystem.

Re-analysis

Upgrades to the license system do not automatically update prior license analysis. A re-analysis updates the analysis for a particular uploaded file.

Recompare

On occasion, users may want to compare a file with a specific license. The recompare option allows users to select the file and specific group of templates for comparison. As with the one-shot license comparison, analysis is performed in real-time and results are not stored in the database.

Repository

Stores the actual files loaded into the FOSSology system. While the Database stores meta information about files, the Repository holds the actual files.

Scheduler

The scheduler is responsible for queuing and running jobs. It runs the agents, making efficient use of available resources. The scheduler is a super-agent, responsible for spawning and managing all other agents. The scheduler balances required tasks with available resources.

Schema

Schema is a database term that refers to a collection of meta-data (definitions) that describe the data format and relations in a database.

Term

Terms refer to common aliases for specific license names. For example, the "Gnu General Public License" is commonly referred to as "GPL", "GnuPL", or "Gnu GPL". These aliases are terms that identify the same license. Terms are grouped together to form canonical names. For example, if a license text mentioned "GnuPL", then it is likely referring to the license with the canonical name "GPL".

Upload

For FOSSology, "upload" is a noun. An upload is a file or container (file containing files, like a CD-ROM ISO image or zip file) and is the basic element for unpacking and analysis.

[View] [Info] [Download]

Uploads and extracted files are associated with menu items. "[View]" brings up the raw file contents. "[Info]" shows any rpm or debian package information associated with the file. "[Download]" allows users to download the file to their system. Different menu items appear depending on the user's login level. For example, not everyone sees the "[Download]" option.