Package Licensing
Offering: Self-managed
License
While GitLab itself is MIT, the Linux package sources are licensed under the Apache-2.0.
License file location
Starting with version 8.11, the Linux package contains license information of all software that is bundled in the package.
After installing the package, licenses for each individual bundled library
can be found in /opt/gitlab/LICENSES
directory.
There is also one LICENSE
file which contains all licenses compiled together.
This compiled license can be found in /opt/gitlab/LICENSE
file.
Starting with version 9.2, the Linux package ships with a
dependency_licenses.json
file containing version and license information of
all bundled software, including software libraries, Ruby gems that the rails
application uses, and JavaScript libraries that is required for the frontend
components. Because it’s in JSON format, GitLab can parse this file and use it for automated checks or validations. The file may be found at
/opt/gitlab/dependency_licenses.json
.
Starting with version 11.3, we have also made the license information available online, at: https://gitlab-org.gitlab.io/omnibus-gitlab/licenses.html
Checking licenses
The Linux package is made up of many pieces of software, comprising code that is covered by many different licenses. Those licenses are provided and compiled as stated above.
Starting with version 8.13, GitLab has placed an additional step into
Linux package installation. The license_check
step calls
lib/gitlab/tasks/license_check.rake
, which checks the compiled LICENSE
file
against the current list of approved and questionable licenses as denoted in the
arrays at the top of the script. This script outputs one of Good
,
Unknown
or Check
for each piece of software that is a part of the
Linux package.
-
Good
: denotes a license that is approved for all usage types, in GitLab and the Linux package. -
Unknown
: denotes a license that is not recognized in the list of ‘good’ or ‘bad’, which should be immediately reviewed for implications of use. -
Check
: denotes a license that has the potential be incompatible with GitLab itself, and thus should be checked for how it is used as a part of the Linux package to ensure compliance.
This list is sourced from the GitLab development documentation on licensing.
However, due to the nature of the Linux package, the licenses may not apply
in the same way. Such as with git
and rsync
. See the GNU License FAQ
License acknowledgements
libjpeg-turbo - BSD 3-clause license
This software is based in part on the work of the Independent JPEG Group.
Trademark Usage
Within the GitLab documentation, reference to third-party technologies and/or trademarks of third-party entities may be made. The inclusion of reference to third-party technology and/or entities is solely for the purposes of examples of how GitLab software may interact with, or be used in conjunction with, such third-party technology. All trademarks, materials, documentation, and other intellectual property remain the property of any/all such third party.
Trademark Requirements
Use of GitLab Trademarks must be in compliance with the standards set forth in our guidelines (as updated from time to time). CHEF® and all Chef marks are owned by Progress Software Corporation and must be used in accordance with the Progress Software Trademark Usage Policy.
When using a GitLab or 3rd party trademark in documentation, include the (R) symbol in the first instance, for example, “Chef(R) is used for configuring….” You may omit the symbol in subsequent instances.
If a trademark owner requires a particular notice or trademark requirement, such notice or requirement should be stated above.