README.md 35.8 KB
Newer Older
1 2 3 4 5
---
comments: false
---

# What is the Glossary
6 7 8 9 10 11

This contains a simplified list and definitions of some of the terms that you will encounter in your day to day activities when working with GitLab.
Please add any terms that you discover that you think would be useful for others.

### 2FA

evhoffmann's avatar
evhoffmann committed
12
User authentication by combination of 2 different steps during login. This allows for [more security](https://about.gitlab.com/handbook/security/).
13 14 15

### Access Levels

16
Process of selective restriction to create, view, modify or delete a resource based on a set of assigned permissions. See [GitLab's Permission Guidelines](../../user/permissions.md)
17 18 19

### Active Directory (AD)

evhoffmann's avatar
evhoffmann committed
20
A Microsoft-based [directory service](https://msdn.microsoft.com/en-us/library/bb742424.aspx) for windows domain networks. It uses LDAP technology under the hood.
21 22 23

### Agile

evhoffmann's avatar
evhoffmann committed
24
Building and [delivering software](http://agilemethodology.org/) in phases/parts rather than trying to build everything at once then delivering to the user/client. The latter is known as the WaterFall model.
25

Brittany Rohde's avatar
Brittany Rohde committed
26 27 28 29
### Amazon RDS

External reference: <http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html>

30 31
### Application Lifecycle Management (ALM)

evhoffmann's avatar
evhoffmann committed
32
The entire product lifecycle management process for an application, from requirements management, development, and testing until deployment. GitLab has [advantages](https://docs.google.com/presentation/d/1vCU-NbZWz8NTNK8Vu3y4zGMAHb5DpC8PE5mHtw1PWfI/edit#slide=id.g72f2e4906_2_288) over both legacy and modern ALM tools.
33 34 35

### Artifactory

evhoffmann's avatar
evhoffmann committed
36
A version control [system](https://www.jfrog.com/open-source/#os-arti) for non-text files.
37 38 39

### Artifacts

40
Objects (usually binary and large) created by a build process. These can include use cases, class diagrams, requirements and design documents.
41 42 43

### Atlassian

44
A [company](https://www.atlassian.com) that develops software products for developers and project managers including Bitbucket, Jira, Hipchat, Confluence, Bamboo.
45 46 47

### Audit Log

48
Also called an [audit trail](https://en.wikipedia.org/wiki/Audit_trail), an audit log is a document that records an event in an IT system.
49 50 51

### Auto Defined User Group

evhoffmann's avatar
evhoffmann committed
52 53
User groups are a way of centralizing control over important management tasks, particularly access control and password policies. A simple example of such groups are the users and the admins groups.
In most of the cases these groups are auto defined in terms of access, rules of usage, conditions to be part of, etc.
54 55 56

### Bamboo

evhoffmann's avatar
evhoffmann committed
57
Atlassian's CI tool similar to GitLab CI and Jenkins.
58 59 60

### Basic Subscription

evhoffmann's avatar
evhoffmann committed
61
Entry level [subscription](https://about.gitlab.com/pricing/) for GitLab EE currently available in packs of 10.
62 63 64

### Bitbucket

65
Atlassian's web hosting service for Git and Mercurial Projects. Read about [migrating](../../user/project/import/bitbucket.md) from BitBucket to a GitLab instance.
66 67 68

### Branch

evhoffmann's avatar
evhoffmann committed
69
A branch is a parallel version of a repository. This allows you to work on the repository without affecting the "master" branch, and without affecting the current "live" version. When you have made all your changes to your branch you can then merge to the master. When your merge request is accepted your changes will be "live."
70 71 72

### Branded Login

73
Having your own logo on [your GitLab instance login page](../../customization/branded_login_page.md) instead of the GitLab logo.
evhoffmann's avatar
evhoffmann committed
74

Brittany Rohde's avatar
Brittany Rohde committed
75
### Job triggers (Build Triggers)
76
These protect your code base against breaks, for instance when a team is working on the same project. Learn about [setting up](../../ci/triggers/README.md) job triggers.
77 78 79

### CEPH

evhoffmann's avatar
evhoffmann committed
80 81 82 83
 A distributed object store and file [system](http://ceph.com/) designed to provide excellent performance, reliability and scalability.

### ChatOps

84
The ability to [initiate an action](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1412) from chat. ChatBots run in your chat application and give you the ability to do "anything" from chat.
85 86 87

### Clone

evhoffmann's avatar
evhoffmann committed
88
A [copy](https://git-scm.com/docs/git-clone) of a repository stored on your machine that allows you to use your own editor without being online, but still tracks the changes made remotely.
89 90 91

### Code Review

Pascal Borreli's avatar
Pascal Borreli committed
92
Examination of a program's code. The main aim is to maintain high quality standards of code that is being shipped. Merge requests [serve as a code review tool](https://about.gitlab.com/2014/09/29/gitlab-flow/) in GitLab.
93 94 95

### Code Snippet

evhoffmann's avatar
evhoffmann committed
96
A small amount of code, usually selected for the purpose of showing other developers how to do something specific or reproduce a problem.
97 98 99 100 101 102 103

### Collaborator

Person with read and write access to a repository who has been invited by repository owner.

### Commit

evhoffmann's avatar
evhoffmann committed
104
A [change](https://git-scm.com/docs/git-commit) (revision) to a file that also creates an ID, allowing you to see revision history and the author of the changes.
105 106 107

### Community

evhoffmann's avatar
evhoffmann committed
108
[Everyone](https://about.gitlab.com/community/) who uses GitLab.
109 110 111

### Confluence

evhoffmann's avatar
evhoffmann committed
112
Atlassian's product for collaboration on documents and projects.
113

evhoffmann's avatar
evhoffmann committed
114
### Continuous Delivery
115

Brittany Rohde's avatar
Brittany Rohde committed
116
A [software engineering approach](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/) in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably and repeatedly with minimal human intervention. Still, the deployment to production is defined strategically and triggered manually. [Amazon moves toward continuous delivery](https://www.youtube.com/watch?v=esEFaY0FDKc)
117 118 119

### Continuous Deployment

Brittany Rohde's avatar
Brittany Rohde committed
120
A [software development practice](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/) in which every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. It does everything that Continuous Delivery does, but the process is fully automated, there's no human intervention at all. [The difference between Continuous Delivery and Continuous Integration.](https://www.youtube.com/watch?v=igwFj8PPSnw)
121 122 123

### Continuous Integration

Brittany Rohde's avatar
Brittany Rohde committed
124
A [software development practice](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/) in which you build and test software every time a developer pushes code to the application, and it happens several times a day. [Thoughtworks discusses continuous integration.](https://www.thoughtworks.com/continuous-integration)
125 126 127

### Contributor

evhoffmann's avatar
evhoffmann committed
128 129 130 131 132 133
Term used for a person contributing to an open source project.

### Conversational Development (ConvDev)

A [natural evolution](https://about.gitlab.com/2016/09/14/gitlab-live-event-recap/) of software development that carries a conversation across functional groups throughout the development process, enabling developers to track the full path of development in a cohesive and intuitive way. ConvDev accelerates the development lifecycle by fostering collaboration and knowledge sharing from idea to production.

Brittany Rohde's avatar
Brittany Rohde committed
134 135 136 137
### Cycle Analytics

See <https://gitlab.com/gitlab-org/gitlab-ce/issues/22458>

evhoffmann's avatar
evhoffmann committed
138 139 140
### Cycle Time

The time it takes to move from [idea to production](https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/#from-idea-to-production-with-gitlab).
141 142 143 144 145

### Data Centre

Atlassian product for High Availability.

Brittany Rohde's avatar
Brittany Rohde committed
146 147 148 149
### Dependencies

As in "specify [dependencies](https://gitlab.com/gitlab-org/gitlab-ce/issues/14728) between stages."

150 151
### Deploy Keys

152
A [SSH key](../../gitlab-basics/create-your-ssh-keys.md)stored on your server that grants access to a single GitLab repository. This is used by a GitLab runner to clone a project's code so that tests can be run against the checked out code.
153 154 155

### Developer

evhoffmann's avatar
evhoffmann committed
156 157
For us at GitLab, this means a software developer, or someone who makes software. It is also one of the levels of access in our multi-level approval system.

158
### DevOps
evhoffmann's avatar
evhoffmann committed
159 160

The intersection of software engineering, quality assurance, and technology operations. Explore more DevOps topics in the [glossary by XebiaLabs](https://xebialabs.com/glossary/)
161 162 163

### Diff

evhoffmann's avatar
evhoffmann committed
164 165
The difference between two commits, or saved changes. This will also be shown visually after the changes.

Brittany Rohde's avatar
Brittany Rohde committed
166
### Directory
evhoffmann's avatar
evhoffmann committed
167 168

A folder used for storing multiple files.
169

170
### Docker Container Registry
171

172
A [feature](../../user/project/container_registry.md) of [GitLab projects](https://about.gitlab.com/2016/05/23/gitlab-container-registry/). Containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.
evhoffmann's avatar
evhoffmann committed
173

Brittany Rohde's avatar
Brittany Rohde committed
174 175 176
### Dynamic Environment (review apps)

### EC2 Instance
evhoffmann's avatar
evhoffmann committed
177

178
### Elasticsearch
179

180
Elasticsearch is a flexible, scalable and powerful search service. When [enabled](https://gitlab.com/help/integration/elasticsearch.md), it helps keep GitLab's search fast when dealing with a huge amount of data.
181

evhoffmann's avatar
evhoffmann committed
182
### Emacs
183

Brittany Rohde's avatar
Brittany Rohde committed
184 185 186 187 188 189 190 191
External reference: <https://www.masteringemacs.org/article/mastering-key-bindings-emacs>

### First Byte

External reference: <https://en.wikipedia.org/wiki/Time_To_First_Byte>

First Byte (sometimes referred to as time to first byte or [TTFB](https://en.wikipedia.org/wiki/Time_To_First_Byte)) measures the time between making a request and receiving the first byte of information in return. As a result, First Byte encompasses everything that is the backend as well as network transit issues. It differs from [_Speed Index_](#speed-index) mostly by frontend related issues which are included in Speed Index such as javascript loading, page rendering, and so on.

192 193
### Fork

194
Your [own copy](../../workflow/forking_workflow.md) of a repository that allows you to make changes to the repository without affecting the original.
195

Brittany Rohde's avatar
Brittany Rohde committed
196 197 198 199 200 201 202 203
### Funnel, or: TOFU, MOFU, BOFU

External reference: [Blog post](https://www.weidert.com/whole_brain_marketing_blog/bid/113688/ToFu-MoFu-BoFu-Serving-Up-The-Right-Content-for-Lead-Nurturing)

TOFU: top of funnel
MOFU: middle of funnel
BOFU:  bottom of funnel

204 205
### Gerrit

evhoffmann's avatar
evhoffmann committed
206
A code review [tool](https://www.gerritcodereview.com/) built on top of Git.
207

208 209
### Git Attributes

210
A [git attributes file](https://git-scm.com/docs/gitattributes) is a simple text file that gives attributes to pathnames.
211

212 213
### Git Hooks

evhoffmann's avatar
evhoffmann committed
214
[Scripts](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) you can use to trigger actions at certain points.
215

Brittany Rohde's avatar
Brittany Rohde committed
216 217
Difference between a [webhook](#webhooks) and a git hook: a git hook is local to its repo (usually) while a webhook is not (it can make API or http calls). So for example if you want your linter to fire before you commit, you can set that up with a git hook. If the linter fails, the commit does not go through. A git hook _can_ be configured to go beyond its repo, e.g. by having it make an API call.

218 219
### GitHost.io

evhoffmann's avatar
evhoffmann committed
220
A single-tenant solution that provides GitLab CE or EE as a managed service. GitLab Inc. is responsible for installing, updating, hosting, and backing up customers' own private and secure GitLab instance.
221 222 223

### GitHub

224
A web-based Git repository hosting service with an enterprise offering. Its main features are: issue tracking, pull request with code review, abundancy of integrations and wiki. It offers free public repos, private repos and enterprise services are paid. Read about [importing a project](../../workflow/importing/import_projects_from_github.md) from GitHub to GitLab.
225 226 227 228 229 230 231

### GitLab CE

Our free on Premise solution with >100,000 users

### GitLab CI

Ville Skyttä's avatar
Ville Skyttä committed
232
Our own Continuous Integration [feature](https://about.gitlab.com/gitlab-ci/) that is shipped with each instance
233 234 235

### GitLab EE

evhoffmann's avatar
evhoffmann committed
236
Our premium on premise [solution](https://about.gitlab.com/features/#enterprise) that currently has Basic, Standard and Plus subscription packages with additional features and support.
237 238 239 240 241

### GitLab.com

Our free SaaS for public and private repositories.

evhoffmann's avatar
evhoffmann committed
242 243
### GitLab Geo

244
Allows you to replicate your GitLab instance to other geographical locations as a read-only fully operational version. It [can be used](../../administration/geo/replication/index.md) for cloning and fetching projects, in addition to reading any data. This will make working with large repositories over large distances much faster.
evhoffmann's avatar
evhoffmann committed
245

Brittany Rohde's avatar
Brittany Rohde committed
246 247 248 249 250 251
### GitLab High Availability

### GitLab Master Plan

Related blog post: <https://about.gitlab.com/2016/09/13/gitlab-master-plan/>.

evhoffmann's avatar
evhoffmann committed
252
### GitLab Pages
Brittany Rohde's avatar
Brittany Rohde committed
253

254
These allow you to [create websites](https://gitlab.com/help/pages/README.md) for your GitLab projects, groups, or user account.
evhoffmann's avatar
evhoffmann committed
255

Brittany Rohde's avatar
Brittany Rohde committed
256 257 258 259
### GitLab Runner

Related project: <https://gitlab.com/gitlab-org/gitlab-runner>

260 261
### Gitolite

evhoffmann's avatar
evhoffmann committed
262
An [access layer](https://git-scm.com/book/en/v1/Git-on-the-Server-Gitolite) that sits on top of Git. Users are granted access to repos via a simple config file. As an admin, you only need the users' public SSH key and a username.
263 264 265

### Gitorious

evhoffmann's avatar
evhoffmann committed
266
A web-based hosting service for projects using Git. It was acquired by GitLab and we discontinued the service. Read the[Gitorious Acquisition Blog Post](https://about.gitlab.com/2015/03/03/gitlab-acquires-gitorious/).
267

evhoffmann's avatar
evhoffmann committed
268
### Go
269

evhoffmann's avatar
evhoffmann committed
270 271
An open source programming [language](https://golang.org/).

Brittany Rohde's avatar
Brittany Rohde committed
272 273 274 275
### Gogs

External reference: <https://gogs.io/>

evhoffmann's avatar
evhoffmann committed
276 277 278 279 280 281 282
### GUI/ Git GUI

A portable [graphical interface](https://git-scm.com/docs/git-gui) to Git that allows users to make changes to their repository by making new commits, amending existing ones, creating branches, performing local merges, and fetching/pushing to remote repositories.

### High Availability for Disaster Recovery (HADR)

Sometimes written HA/DR, this usually refers to a strategy for having a failover server in place in case the main server fails.
283 284 285

### Hip Chat

evhoffmann's avatar
evhoffmann committed
286
Atlassian's real time chat application for teams, Hip Chat is a competitor to Slack, RocketChat and MatterMost.
287 288 289

### High Availability

evhoffmann's avatar
evhoffmann committed
290 291 292 293 294 295 296 297 298
Refers to a [system or component](https://about.gitlab.com/high-availability/) that is continuously operational for a desirably long length of time. Availability can be measured relative to "100% operational" or "never failing."

### Inner-sourcing

The [use of](https://about.gitlab.com/2014/09/05/innersourcing-using-the-open-source-workflow-to-improve-collaboration-within-an-organization/) open source development techniques within the corporation.

### Internet Relay Chat (IRC)

An [application layer protocol](http://www.irchelp.org/) that facilitates communication in the form of text.
299 300 301

### Issue Tracker

302
A [tool](../../integration/external-issue-tracker.md) used to manage, organize, and maintain a list of issues, making it easier for an organization to manage.
303 304 305

### Jenkins

306
An Open Source CI tool written using the Java programming language. [Jenkins](https://jenkins.io/) does the same job as GitLab CI, Bamboo, and Travis CI. It is extremely popular. Related [documentation](../../integration/jenkins.md).
307 308 309

### Jira

310
Atlassian's [project management software](https://www.atlassian.com/software/jira), i.e. a complex issue tracker. GitLab [can be configured](../../project_services/jira.md) to interact with JIRA Core either using an on-premise instance or the SaaS solution that Atlassian offers.
evhoffmann's avatar
evhoffmann committed
311 312 313 314

### JUnit

A testing framework for the Java programming language, [JUnit](http://junit.org/junit4/) has been important in the evolution of test-driven development.
315 316 317

### Kerberos

evhoffmann's avatar
evhoffmann committed
318
A network authentication [protocol](http://web.mit.edu/kerberos/) that uses secret-key cryptography for security.
319 320 321 322 323 324 325

### Kubernetes

An open source container cluster manager originally designed by Google. It's basically a platform for automating deployment, scaling, and operations of application containers over clusters of hosts.

### Labels

326
An [identifier](../../user/project/labels.md) to describe a group of one or more specific file revisions.
327

evhoffmann's avatar
evhoffmann committed
328
### Lightweight Directory Access Protocol (LDAP)
329

evhoffmann's avatar
evhoffmann committed
330
 A directory (electronic address book) with user information (e.g. name, phone_number etc.)
331 332 333

### LDAP User Authentication

334
GitLab [integrates](../../administration/auth/ldap.md) with LDAP to support user authentication. This enables GitLab to sign in people from an LDAP server (i.e., allowing people whose names are on the electronic user directory server to be able to use their LDAP accounts to login.)
335 336 337 338 339

### LDAP Group Sync

Allows you to synchronize the members of a GitLab group with one or more LDAP groups.

Brittany Rohde's avatar
Brittany Rohde committed
340 341 342 343
### Lint

Static code analysis for our various file types. For example, we use [scss-lint](https://github.com/brigade/scss-lint) to ensure that a consistent code styling is respected. Similar tools: rubocop / eslint.

evhoffmann's avatar
evhoffmann committed
344 345
### Load Balancer

346
A [device](https://en.wikipedia.org/wiki/Load_balancing_(computing)) that distributes network or application traffic across multiple servers.
evhoffmann's avatar
evhoffmann committed
347 348

### Git Large File Storage (LFS)
349

evhoffmann's avatar
evhoffmann committed
350
A way [to enable](https://about.gitlab.com/2015/11/23/announcing-git-lfs-support-in-gitlab/) git to handle large binary files by using reference pointers within small text files to point to the large files. Large files such as high resolution images and videos, audio files, and assets can be called from a remote server.
351 352 353 354 355 356 357

### Linux

An operating system like Windows or OS X. It is mostly used by software developers and on servers.

### Markdown

358
A lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor. Checkout GitLab's [Markdown guide](https://gitlab.com/help/user/markdown.md).
359 360 361 362 363 364 365

### Maria DB

A community developed fork/variation of MySQL. MySQL is owned by Oracle.

### Master

evhoffmann's avatar
evhoffmann committed
366 367 368 369
Name of the [default branch](https://git-scm.com/book/en/v1/Git-Branching-What-a-Branch-Is) in every git repository.

### Mattermost

370
An open source, self-hosted messaging alternative to Slack. View GitLab's Mattermost [feature](https://gitlab.com/gitlab-org/gitlab-mattermost).
371 372 373

### Mercurial

374
A free distributed version control system similar to and a competitor with Git.
375 376 377

### Merge

evhoffmann's avatar
evhoffmann committed
378 379 380 381
Takes changes from one branch, and [applies them](https://git-scm.com/docs/git-merge) into another branch.

### Merge Conflict

382
[Arises](https://about.gitlab.com/2016/09/06/resolving-merge-conflicts-from-the-gitlab-ui/) when a merge can't be performed cleanly between two versions of the same file.
383

384
#### Merge Request (MR)
Brittany Rohde's avatar
Brittany Rohde committed
385

386
[Takes changes](../../gitlab-basics/add-merge-request.md) from one branch, and applies them into another branch.
Brittany Rohde's avatar
Brittany Rohde committed
387

388 389
### Meteor

evhoffmann's avatar
evhoffmann committed
390
A [platform](https://www.meteor.com) for building javascript apps.
391 392 393

### Milestones

394
Allow you to [organize issues](../../user/project/milestones/index.md) and merge requests in GitLab into a cohesive group, optionally setting a due date. A common use is keeping track of an upcoming software version. Milestones are created per-project.
395 396 397

### Mirror Repositories

398
A project that is set up to automatically have its branches, tags, and commits [updated from an upstream repository](../../workflow/repository_mirroring.md). This is useful when a repository you're interested in is located on a different server, and you want to be able to browse its content and activity using the familiar GitLab interface.
399 400 401

### MIT License

402
A type of software license. It lets people do anything with your code with proper attribution and without warranty. It is the most common license for open source applications written in Ruby on Rails. GitLab CE is issued under this [license](../../development/licensing.md). This means you can download the code, modify it as you want, and even build a new commercial product using the underlying code and it's not illegal. The only condition is that there is no form of warranty provided by GitLab so whatever happens when you use the code is your own problem.
403

evhoffmann's avatar
evhoffmann committed
404
### Mondo Rescue
405

406
A free disaster recovery [software](https://help.ubuntu.com/community/MondoMindi).
407

Brittany Rohde's avatar
Brittany Rohde committed
408 409
#### Mount

Evan Read's avatar
Evan Read committed
410
External reference:
Brittany Rohde's avatar
Brittany Rohde committed
411 412 413 414 415

As stated on the [wikipedia page](https://en.wikipedia.org/wiki/Mount_(Unix)), "Mounting makes file systems, files, directories, devices and special files available for use and available to the user."

For example, we have NFS servers where the _git files_  reside. In order for a worker node to "see" or "use" the git files, the NFS server needs to be _mounted_ on the worker; that is, the worker needs to know that the NFS server exists and how to connect to it. Think of it as getting a shared drive to show up in your Finder (on Mac) or Explorer (on Windows).

evhoffmann's avatar
evhoffmann committed
416
### MySQL
417

evhoffmann's avatar
evhoffmann committed
418
A relational [database](http://www.mysql.com/) owned by Oracle. Currently only supported if you are using EE.
419 420 421

### Namespace

evhoffmann's avatar
evhoffmann committed
422
A set of symbols that are used to organize objects of various kinds so that these objects may be referred to by name. Examples of namespaces in action include file systems that assign names to files; programming languages that organize their variables and subroutines in namespaces; and computer networks and distributed systems that assign names to resources, such as computers, printers, websites, (remote) files, etc.
423 424 425

### Nginx

426
A web [server](https://www.nginx.com/resources/wiki/) (pronounced "engine x"). [It can act](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md) as a reverse proxy server for HTTP, HTTPS, SMTP, POP3, and IMAP protocols, as well as a load balancer and an HTTP cache.
427

evhoffmann's avatar
evhoffmann committed
428
### OAuth
429

430
An open standard for authorization, commonly used as a way for internet users to log into third party websites using their Microsoft, Google, Facebook or Twitter accounts without exposing their password. GitLab [is](../../integration/oauth_provider.md) an OAuth2 authentication service provider.
431 432 433

### Omnibus Packages

evhoffmann's avatar
evhoffmann committed
434
A way to [package different services and tools](https://docs.gitlab.com/omnibus/) required to run GitLab, so that most developers can install it without laborious configuration.
435 436 437

### On Premise

evhoffmann's avatar
evhoffmann committed
438 439
On your own server. In GitLab, this [refers](https://about.gitlab.com/2015/02/12/why-ship-on-premises-in-the-saas-era/) to the ability to download GitLab EE/GitLab CE and host it on your own server rather than using GitLab.com, which is hosted by GitLab Inc's servers.

440
### Open Core
evhoffmann's avatar
evhoffmann committed
441 442

GitLab's [business model](https://about.gitlab.com/2016/07/20/gitlab-is-open-core-github-is-closed-source/). Coined by Andrew Lampitt in 2008, the [open core model](https://en.wikipedia.org/wiki/Open_core) primarily involves offering a "core" or feature-limited version of a software product as free and open-source software, while offering "commercial" versions or add-ons as proprietary software.
443 444 445

### Open Source Software

Brittany Rohde's avatar
Brittany Rohde committed
446 447 448 449
Software for which the original source code is freely [available](https://opensource.org/docs/osd) and may be redistributed and modified. GitLab prioritizes open source [stewardship](https://about.gitlab.com/2016/01/11/being-a-good-open-source-steward/). Including to providing access to the source code, open source software must comply with a number of criteria, among them free distribution and no discrimination against persons, groups, or fields of endeavor.

#### Open Source Stewardship

Evan Read's avatar
Evan Read committed
450
[Related blog post](https://about.gitlab.com/2016/01/11/being-a-good-open-source-steward/).
451 452 453

### Owner

evhoffmann's avatar
evhoffmann committed
454
The most powerful person on a GitLab project. They have the permissions of all the other users plus the additional permission of being able to destroy (i.e. delete) the project.
455

evhoffmann's avatar
evhoffmann committed
456
### Platform as a Service (PaaS)
457

evhoffmann's avatar
evhoffmann committed
458
Typically referred to in regards to application development, PaaS is a model in which a cloud provider delivers hardware and software tools to its users as a service.
459 460 461

### Perforce

evhoffmann's avatar
evhoffmann committed
462
The company that produces Helix.  A commercial, proprietary, centralised VCS well known for its ability to version files of any size and type.  They OEM a re-branded version of GitLab called "GitSwarm" that is tightly integrated with their "GitFusion" product, which in turn represents a portion of a Helix repository (called a depot) as a git repo.
463 464 465

### Phabricator

evhoffmann's avatar
evhoffmann committed
466
A suite of web-based software development collaboration tools, including the Differential code review tool, the Diffusion repository browser, the Herald change monitoring tool, the Maniphest bug tracker and the Phriction wiki. Phabricator integrates with Git, Mercurial, and Subversion.
467 468 469

### Piwik Analytics

evhoffmann's avatar
evhoffmann committed
470
An open source analytics software to help you analyze web traffic. It is similar to Google Analytics, except that the latter is not open source and information is stored by Google. In Piwik, the information is stored on your own server and hence is fully private.
471 472 473

### Plus Subscription

evhoffmann's avatar
evhoffmann committed
474
GitLab Premium EE [subscription](https://about.gitlab.com/pricing/) that includes training and dedicated Account Management and Service Engineer and complete support package.
475 476 477

### PostgreSQL

478
An [object-relational](https://en.wikipedia.org/wiki/PostgreSQL) database. Touted as the most advanced open source database, it is one of two database management systems [supported by](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/database.md) GitLab, the other being MySQL.
479 480 481

### Protected Branches

482
A [feature](../../user/project/protected_branches.md) that protects branches from unauthorized pushes, force pushing or deletion.
483

484 485
### Protected Tags

486
A [feature](../../user/project/protected_tags.md) that protects tags from unauthorized creation, update or deletion
487

488 489
### Pull

evhoffmann's avatar
evhoffmann committed
490
Git command to [synchronize](https://git-scm.com/docs/git-pull) the local repository with the remote repository, by fetching all remote changes and merging them into the local repository.
491 492 493

### Puppet

evhoffmann's avatar
evhoffmann committed
494
A popular DevOps [automation tool](https://puppet.com/product/how-puppet-works).
495 496 497

### Push

498
Git [command](https://git-scm.com/docs/git-push) to send commits from the local repository to the remote repository. Read about [advanced push rules](https://gitlab.com/help/pages/README.md) in GitLab.
499

Brittany Rohde's avatar
Brittany Rohde committed
500 501
### Raketasks

502 503
### RE Read Only

evhoffmann's avatar
evhoffmann committed
504
Permissions to see a file and its contents, but not change it.
505 506 507

### Rebase

508
In addition to the merge, the [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) is a main way to integrate changes from one branch into another.
509

Brittany Rohde's avatar
Brittany Rohde committed
510 511 512 513 514 515 516 517 518 519
### Regression

A regression is something that used to work one way in the last release and then we made a **breaking change** and it no longer works the same way.

_or_

A regression is defined as a change that results in a negative impact on the functionality of an existing feature due to recent changes, i.e. the latest release.

### Remote mirroring

evhoffmann's avatar
evhoffmann committed
520
### (Git) Repository
521

evhoffmann's avatar
evhoffmann committed
522
A directory where Git [has been initiatlized](https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository) to start version controlling your files. The history of your work is stored here. A remote repository is not on your machine, but usually online (like on GitLab.com, for instance). The main remote repository is usually called "Origin."
523

Brittany Rohde's avatar
Brittany Rohde committed
524 525 526 527
##### Remote repository

A [repository](https://about.gitlab.com/2015/05/18/simple-words-for-a-gitlab-newbie/) that is not-on-your-machine, so it's anything that is not your computer. Usually, it is online, GitLab.com for instance. The main remote repository is usually called “Origin”.

528 529
### Requirements management

evhoffmann's avatar
evhoffmann committed
530
Gives your distributed teams a single shared repository to collaborate and share requirements, understand their relationship to tests, and evaluate linked defects. It includes multiple, preconfigured requirement types.
531 532 533

### Revision Control

evhoffmann's avatar
evhoffmann committed
534
Also known as version control or source control, this is the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the "revision number," "revision level," or simply "revision."
535 536 537

### RocketChat

evhoffmann's avatar
evhoffmann committed
538 539 540 541
An open source chat application for teams, RocketChat is very similar to Slack but it is also open-source.

### Route Table

542
A route table contains rules (called routes) that determine where network traffic is directed. Each [subnet in a VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) must be associated with a route table.
543 544 545

### Runners

546
Actual build machines/containers that [run and execute tests](https://gitlab.com/gitlab-org/gitlab-runner) you have specified to be run on GitLab CI.
547

548 549
### Sidekiq

550
The background job processor GitLab [uses](../../administration/troubleshooting/sidekiq.md) to asynchronously run tasks.
551

evhoffmann's avatar
evhoffmann committed
552
### Software as a service (SaaS)
553

evhoffmann's avatar
evhoffmann committed
554
Software that is hosted centrally and accessed on-demand (i.e. whenever you want to). This applies to GitLab.com.
555

evhoffmann's avatar
evhoffmann committed
556
### Software Configuration Management (SCM)
557

evhoffmann's avatar
evhoffmann committed
558
This term is often used by people when they mean "Version Control."
559

Evan Read's avatar
Evan Read committed
560
### Scrum
561

evhoffmann's avatar
evhoffmann committed
562
An Agile [framework](https://www.scrum.org/Resources/What-is-Scrum) designed to typically help complete complex software projects. It's made up of several parts: product requirements backlog, sprint planning, sprint (development), sprint review, and retrospec (analyzing the sprint). The goal is to end up with potentially shippable products.
563 564 565 566 567

### Scrum Board

The board used to track the status and progress of each of the sprint backlog items.

evhoffmann's avatar
evhoffmann committed
568 569
### Shell

570
Terminal on Mac OSX, GitBash on Windows, or Linux Terminal on Linux. You [use git](../../gitlab-basics/start-using-git.md) and make changes to GitLab projects in your shell. You [use git](../../gitlab-basics/start-using-git.md) and make changes to GitLab projects in your shell.
Brittany Rohde's avatar
Brittany Rohde committed
571 572

### Shell command runner
evhoffmann's avatar
evhoffmann committed
573 574 575

### Single-tenant

576
The tenant purchases their own copy of the software and the software can be customized to meet the specific and needs of that customer. [GitHost.io](https://about.gitlab.com/handbook/positioning-faq/) is our provider of single-tenant 'managed cloud' GitLab instances.
evhoffmann's avatar
evhoffmann committed
577

578 579
### Slack

580
Real time messaging app for teams that is used internally by  GitLab team members. GitLab users can enable [Slack integration](../../project_services/slack.md) to trigger push, issue, and merge request events among others.
581

Brittany Rohde's avatar
Brittany Rohde committed
582 583
### Slash commands

584 585
### Slave Servers

evhoffmann's avatar
evhoffmann committed
586
Also known as secondary servers, these help to spread the load over multiple machines. They also provide backups when the master/primary server crashes.
587 588 589

### Source Code

evhoffmann's avatar
evhoffmann committed
590
Program code as typed by a computer programmer (i.e. it has not yet been compiled/translated by the computer to machine language).
591

Brittany Rohde's avatar
Brittany Rohde committed
592 593 594 595
### Speed Index

[Speed Index](https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index) is "the average time at which visible parts of the page are displayed".

596 597
### SSH Key

598
A unique identifier of a computer. It is used to identify computers without the need for a password (e.g., On GitLab I have [added the ssh key](../../gitlab-basics/create-your-ssh-keys.md) of all my work machines so that the GitLab instance knows that it can accept code pushes and pulls from this trusted machines whose keys are I have added.)
evhoffmann's avatar
evhoffmann committed
599 600

### Single Sign On (SSO)
601

evhoffmann's avatar
evhoffmann committed
602
An authentication process that allows you enter one username and password to access multiple applications.
603

evhoffmann's avatar
evhoffmann committed
604 605 606
### Staging Area

[Staging occurs](https://git-scm.com/book/en/v2/Getting-Started-Git-Basics) before the commit process in git. The staging area is a file, generally contained in your Git directory, that stores information about what will go into your next commit. It’s sometimes referred to as the “index.""
607 608 609

### Standard Subscription

evhoffmann's avatar
evhoffmann committed
610
Our mid range EE subscription that includes 24/7 support and support for High Availability [Standard Subscription](https://about.gitlab.com/pricing/).
611 612 613

### Stash

evhoffmann's avatar
evhoffmann committed
614 615 616 617 618
Atlassian's Git on-premise solution. Think of it as Atlassian's GitLab EE, now known as BitBucket Server.

### Static Site Generators (SSGs)

A [software](https://wiki.python.org/moin/StaticSiteGenerator) that takes some text and templates as input and produces html files on the output.
619 620 621 622 623 624 625

### Subversion

Non-proprietary, centralized version control system.

### Sudo

evhoffmann's avatar
evhoffmann committed
626
A program that allows you to perform superuser/administrator actions on Unix Operating Systems (e.g., Linux, OS X.) It actually stands for 'superuser do.'
627

evhoffmann's avatar
evhoffmann committed
628
### Subversion (SVN)
629

630
An open source version control system. Read about [migrating from SVN](../../workflow/importing/migrating_from_svn.md) to GitLab using SubGit.
631 632 633

### Tag

634
[Represents](../../api/tags.md) a version of a particular branch at a moment in time.
635

Brittany Rohde's avatar
Brittany Rohde committed
636 637 638 639 640 641 642 643 644 645
### Tenancy

#### Multi-tenant

A [multi-tenant](http://whatis.techtarget.com/definition/multi-tenancy) GitLab instance can have any number of customers - such as companies or groups of users using it. GitLab.com is an example of a multi-tenant GitLab instance.

#### Single-tenant

A [single-tenant](http://searchcloudapplications.techtarget.com/definition/single-tenancy) GitLab instance has only one customer - such as a company - using it. On premise GitLab instances are almost exclusively single-tenant.

646 647
### Tool Stack

evhoffmann's avatar
evhoffmann committed
648
The set of tools used in a process to achieve a common outcome (e.g. set of tools used in Application Lifecycle Management).
649 650 651

### Trac

evhoffmann's avatar
evhoffmann committed
652 653
An open source project management and bug tracking web [application](https://trac.edgewall.org/).

Brittany Rohde's avatar
Brittany Rohde committed
654 655 656 657
### True-Up licensing model

### Ubuntu

evhoffmann's avatar
evhoffmann committed
658 659
### Untracked files

Brittany Rohde's avatar
Brittany Rohde committed
660 661 662 663 664
New files that Git has not [been told](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) to track previously. Add them by using the command "git add [file path]"

### Upstream repository vs. GitLab repository

[External conversation](https://news.ycombinator.com/item?id=12487112)
665 666 667 668 669

### User

Anyone interacting with the software.

evhoffmann's avatar
evhoffmann committed
670 671
### Version Control Software (VCS)

Brittany Rohde's avatar
Brittany Rohde committed
672
Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. VCS [has evolved](https://docs.google.com/presentation/d/16sX7hUrCZyOFbpvnrAFrg6tVO5_yT98IgdAqOmXwBho/edit#slide=id.gd69537a19_0_32) from local version control systems, to centralized version control systems, to the present [distributed version control systems](https://en.wikipedia.org/wiki/Distributed_version_control) like Git, Mercurial, Bazaar, and Darcs. If any server dies, and these systems were collaborating via it, any of the client repositories can be copied back up to the server to restore it.
evhoffmann's avatar
evhoffmann committed
673 674 675

### Virtual Private Cloud (VPC)

676
A [VPC](#virtual-private-cloud-vpc) is an on demand configurable pool of shared computing resources allocated within a public cloud environment, providing some isolation between the different users using the resources. GitLab users need to create a new Amazon VPC in order to [set up High Availability](../../install/aws/index.md).
677

evhoffmann's avatar
evhoffmann committed
678 679 680 681 682
### Virtual private server (VPS)

A [virtual machine](https://en.wikipedia.org/wiki/Virtual_private_server) sold as a service by an Internet hosting service. A VPS runs its own copy of an operating system, and customers have superuser-level access to that operating system instance, so they can install almost any software that runs on that OS.

### VM Instance
683

Brittany Rohde's avatar
Brittany Rohde committed
684
In object-oriented programming, an [instance](http://stackoverflow.com/questions/20461907/what-is-meaning-of-instance-in-programming) is a specific realization of any [object](https://cloud.google.com/compute/docs/instances/). An object may be varied in a number of ways. Each realized variation of that object is an instance. Therefore, a VM instance is an instance of a virtual machine, which is an emulation of a computer system.
evhoffmann's avatar
evhoffmann committed
685

686 687
### Waterfall

688
A [model](http://www.umsl.edu/~hugheyd/is6840/waterfall.html) of building software that involves collecting all requirements from the customer, then building and refining all the requirements and finally delivering the complete software to the customer that meets all the requirements they specified.
689 690 691

### Webhooks

692
A way for an app to [provide](../../user/project/integrations/webhooks.md) other applications with real-time information (e.g., send a message to a slack channel when a commit is pushed.) Read about setting up [custom git hooks](../../administration/custom_hooks.md) for when webhooks are insufficient.
693 694 695

### Wiki

evhoffmann's avatar
evhoffmann committed
696 697
A [website/system](http://www.wiki.com/) that allows for collaborative editing of its content by the users. In programming, wikis usually contain documentation of how to use the software.

Brittany Rohde's avatar
Brittany Rohde committed
698 699
### Working area

Evan Read's avatar
Evan Read committed
700
Files that have been modified but are not committed. Check them by using the command "git status".
Brittany Rohde's avatar
Brittany Rohde committed
701

evhoffmann's avatar
evhoffmann committed
702 703 704 705 706 707
### Working Tree

[Consists of files](http://stackoverflow.com/questions/3689838/difference-between-head-working-tree-index-in-git) that you are currently working on.

### YAML

708
A human-readable data serialization [language](http://www.yaml.org/about.html) that takes concepts from programming languages such as C, Perl, and Python, and ideas from XML and the data format of electronic mail.