DevOps company Harness has released Gitness, a new open source Git platform which it says is “the first significant release of an open source Git platform in nearly a decade.”
Gitness has two main components, self-hosted Git repositories and pipelines based on Drone. Getting started takes moments: a short shell script to download and run a Docker container, though a small further effort is required in order to persist storage.
Harness provides what it describes as a software delivery platform which can be self-hosted, installed on AWS, or cloud hosted by Harness, with a variety of products including continuous delivery, feature flags, error tracking, and chaos engineering. The company also provides several open source or source-available products which are free to use, though not all qualify as true open source because of restrictive licensing.
The Gitness repository includes code, mostly written in Go, under two licenses. The model is the same as that used for Drone, where a Community Edition is Apache 2.0 licensed and an Enterprise edition is under a non-commercial license, which despite its name allows some commercial use for individuals and small businesses. Developers who prefer to stay with Apache 2.0 licensed code can build the source using tags which identify the type of license used.
The business model behind Gitness is apparent: Start a project, head to settings, and a green Upgrade button offers to “upgrade this project to Harness,” which will migrate all the repositories to the paid-for Harness platform.
The Harness Code Repository, in beta from next month, is “a premium module based on open source Gitness tailored to mee the demands of enterprise teams,” according to today’s press release.
Nevertheless, Gitness offers all the key features for hosting a Git repository and includes a web user interface showing files, commits, branches, tags, pull requests, and WebHooks. There is also a REST API.
Pipelines automate builds, tests and deployment and use YAML files. Pipelines can be triggered by pushing code, creating a tag, or opening a pull request. Pipeline commands are executed inside a Docker container, downloaded at runtime. There is also support for secrets management, avoiding the risk of storing secrets such as passwords in plain text. The web UI is clean and we were able to import a repository from GitHub without issues as far as we could tell.
Although Gitness could be an alternative to GitHub, for example for developers who prefer to self-host repositories, the Harness open source projects themselves are hosted on GitHub, including it seems Gitness itself since the website invites users to “Star us on GitHub.”
Gitness is not the only open source Git-based DevOps platform. For example, Forgejo aims to be a complete software project platform including Git repositories. Forgejo is buit on a fork of Gitea, also an open source DevOps platform. Git itself is GNU GPL 2.0 licensed and can be used on its own if only the repository features are needed.
According to Harness though, “teams grapple with … the lack of quality open source platforms and the complexity of managing multiple tools.” Adding Gitness brings the company closer to providing a comprehensive platform.