GitLab is "a single application for the entire software development lifecycle." Like GitHub, it wraps the experience of the Git version-tracking system in a social, hosted interface. Its Community Edition is MIT-licensed open source and may be self-hosted.

Use cases

Use it as an LMS

A class can use a GitLab instance as a replacement learning management system—a place where students can post their coursework, interact on Issues, and share a common wiki. This might be especially relevant for courses related to software development, but it can also be done in non-technical courses—particularly if the aim is to teach students how to participate in a collaborative process together.

How to use it is a hosted instance of GitLab, and users can simply create an account there, thus becoming part of a conventional commercial platform. But GitLab can also be self-hosted (see various install methods here), including through Sandstorm and Cloudron; that way, the entire instance can be devoted just to the course or the department and the data can be retained on educator-controlled servers.

Replacement for

  • GitHub, a proprietary, centralized platform owned by Microsoft
  • Learning management systems