GitHub is a web-based repository service which offers the distributed revision control and source code management (SCM) functionality of GIT with a graphical user interface, desktop, and mobile integration. It also provides collaboration tools such as access control, wikis, task management, code review, bug tracking, and feature requests. It offers free accounts, often used to host opensource software projects, and private (paid) repositories.
Projects on GitHub can be accessed and manipulated using the git command-line interface and all of the standard git commands work with it. GitHub also allows registered and non-registered users to browse public repositories on the site. Multiple desktop clients have also been created by GitHub and other third parties which integrate with the platform.
GitHub is mainly used for code but can also be used for non-code files, it supports the following formats and features:
- 3D render files
- Photoshop's native PSD format can be previewed and compared to previous versions of the same file.
- Nested task-lists
- Documentation and wikis
- Small websites can be hosted from public repositories on GitHub. The URL format is http://projectname.github.io.
- Issue tracking (including feature requests)
- Visualization of geospatial data
- Gantt charts
GitHub is a heavily used in the opensource development community but does not require hosted projects to meet the definition of Open Source.