# RhodeCode

RhodeCode is an open source self-hosted platform for behind-the-firewall source code management. It provides centralized control over Git, Mercurial, and Subversion repositories within an organization, with common authentication and permission management. RhodeCode allows forking, pull requests, and code reviews via a web interface.

## Software

RhodeCode is an enterprise source code management platform for Mercurial, Git, and SVN repositories. It also provides a web interface and APIs to control source code access, manage users, and conduct code reviews. The platform applies existing tools and integrations across the whole code base in a unified way.
RhodeCode is written in Python using the Pylons Framework. It is run as a standalone hosted application on a dedicated server (or in a private cloud) to manage multiple repositories within an organization. RhodeCode CE is free, with an unlimited number of users and repositories. RhodeCode EE is for-fee and builds enterprise integrations on top of CE.

### Features

Team collaboration:
* Advanced code reviews.
* Side-by-side diffs.
* Pull requests.
* Inline source code chat.
* Full-text code search and source code indexing.
* Web-based file adding, editing, deletion.
* Code snippets system (pastebin).
Repository management:
* Unified support for Mercurial, Git, and Subversion.
* Fine-grained user management and tools for the access control.
* Advanced permission system with IP restrictions.
Code security and authentication:
* Pluggable authentication system with tokens and LDAP support, Atlassian Crowd, Http-Headers, Pam.
* Enterprise authentication options: Active Directory, GitHub/Google/Bitbucket authentication, 2-factor authentication.
* Integration with 3rd party issue trackers and CI tools (Jira, Redmine, Jenkins, etc.)

### Editions

RhodeCode platform comes in two editions:
* RhodeCode CE (Community Edition) is free and open source. It is licensed under the terms of AGPLv3 license, with the source code openly available.
* RhodeCode EE (Enterprise Edition) is licensed per user, adds technical support and enterprise authentication on top of RhodeCode CE.

### Contributions

RhodeCode CE licensed under the AGPLv3 license. Developers willing to contribute need to sign the Contributor License Agreement (CLA), before their changes are merged into RhodeCode's main codebase. RhodeCode has an active community of open source contributors and a developer program.

### History

RhodeCode was created in 2010 by Marcin Kuźmiński to satisfy his need for a more efficient and secure way to manage source code across Mercurial, Git and SVN repositories behind a firewall in large organisations. RhodeCode was released as open-source software.
At the beginning of 2013, RhodeCode Enterprise was created to implement features that enterprise users were requesting. The new version was released in August 2013, which also made parts of the software no longer open source.

### Move to open source

Earlier versions of RhodeCode Enterprise were licensed entirely under the GNU General Public License version 3, but in August 2013, RhodeCode 2.0, introduced exceptions for parts of the software distribution. Because RhodeCode had accepted patches from independent developers, contributed under the GPL license, there was a dispute about whether the company had the legal rights to make such change. According to Bradley M. Kuhn of Software Freedom Conservancy, the exception statement is ambiguous and "leaves the redistributor feeling unclear about their rights". Furthermore, he insists, GPLv3 §7¶4 forbids behaviour of that sort. Instead of pursuing litigation, which might take years, SFC decided to fork the project under the name Kallithea, replacing the non-free files with free ones.
Starting 2016, RhodeCode is open source, with source code for RhodeCode CE (Community Edition) openly available under the AGPLv3 license. As the company explains in their blog, with this move they intend "to accelerate the pace and scope of innovation on [RhodeCode] platform" (rhodecode.com, 2016). RhodeCode EE (Enterprise Edition) has a proprietary business license.

## Company

RhodeCode Inc. is a software company that creates products for enterprise software development. Its source code management and Application performance management products aim at software developers, project managers and DevOps engineers.
RhodeCode as a company was founded and incorporated in July 2013 by Marcin Kuzminski and Sebastian Kreutzberger. It achieved its Series A funding of $3.5M in October 2014, and is currently funded by Earlybird Venture Capital and DFJ Esprit.
RhodeCode is headquartered in Berlin, it also has offices in Palo Alto, California.