Recs.
Updated
Everyone knows and has at least once used GitHub. It is the largest code host on the planet and has over 21.4 million and many users. It is unarguably the most widely used tool by developers worldwide.
SpecsUpdate
Pros
Pro GitHub makes it easy to find open source projects
GitHub is the largest host in the world for open source projects. Developers from all over the world fork and work on countless projects hoset on it. For this, GitHub has some excellent features that help both new and experienced devs to find and commit to open source projects of any kind.
Pro Huge community which is very helpful for new users
GitHub has a huge userbase with more than 17 million repositories including projects like Ruby on Rails and JQuery. As such there are plenty of great resources available including online communities such as StackOverflow that can cover any questions regarding Github within minutes.
Pro Built-in Cloud-based Integrated Development Environment
GitHub includes GitHub Codespaces; a fully featured cloud-hosted Visual Studio Code instance complete with all the tools you need to get the job done, you can access Codespaces through your browser or connect to your existing VS Code installation locally.
Pro Built-in continuous integration
GitHub Actions is a built-in CI/CD solution from GitHub, previously only a automation platform, GitHub Actions now both can do repository automation and CI/CD, so you don't have to rely on a third-party CI/CD service.
Pro Large community
GitHub is the largest code host on the planet with over 21.4 million hosted repositories and many users. It's unarguably the largest VCS used by developers worldwide and as such, it has a vibrant community that follows it resulting in many guides and tutorials for new users. Even experienced developers can always find an answer to any question they may have.
Pro Supports Two-Factor authentication
GitHub has added another layer of security to their user accounts. This layer comes in the form of Two-Factor authentication. After it's enabled, GitHub delivers an authentication code by SMS, or by a free application for smartphones. After two-factor authentication is enabled, the authentication code is sent to the account owner's phone any time someone attempts to sign into their GitHub account. This means that only someone who has both the password and authentication code can sign into the account.
Pro Nice and usable UI
GitHub's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.
For example, the repository view displays only the most crucial data about that repo - on the top it displays the number of commits, branches, releases and contributors. When clicked, each of them will take the user to a page that displays more detailed information.
Pro Easy integration with cloud hosting services
Many widely used cloud hosting services are easily integrated with GitHub. Any project hosted on GitHub can be set up on these services in seconds. Some companies that offer this feature are:
- Amazon Web Services
- Google Cloud
- Heroku
- Windows Azure
Pro Student developer pack, which gives students some of the best tools for free
GitHub has created the Student Developer Pack, which gives students some of the most widely used tools for free. All that's needed is an email that ends in .edu
Some of these tools are:
- Atom, GitHub's open source text editor
- bitnami, which allows developers to easily install cloud applications
- CrowdFlower, a crowdsourcing platform
- DigitalOcean, cloud hosting
- dnSimple, DNS management
- GitHub enterprise, five private repositories for free
- Hackhands, a live programming help platform
- VisualStudio, Microsoft's developer suite which includes the Visual Studio IDE
- Namecheap, hosting and domain management
Cons
Con Size is limited to less than 5GB per repository, 100MB per file
While not directly a con, GitHub expects your repositories to be as small as 5GB or less, however, they do not set a hard quota for this since they always actively work with the open-source community to provide the best service for them. When your repository does impact their infrastructure, they will e-mail you and expect your cooperation to take some action to reduce the size.
A way to circumvent this is to prevent making a large monorepo and split some of your giant project's modules into their own repositories.
Recommendations
Comments
Flagged Pros + Cons
Con Limited web browser support
Doesn't support web browsers like Waterfox or Internet Explorer, making the site unusable for users of these browsers
Con Using it encourages other tools to integrate only with GitHub, leading to a monopoly
Con Rated "F" on FSF Ethical Code Hosting Evaluation
To quote:
"Things that prevent GitHub from moving up to the next grade, C:
Important site functionality does not work without running nonfree JavaScript. (C0)
Specific information may not be available in all countries; see roskomnadzor and export controls for more details. (C2)"
-GNU Ethical Repository Criteria Evaluations, Free Software Foundation
Out of Date Pros + Cons
Con Only public repositories are free
Unfortunately, compared to some other competitors, GitHub offers closed repositories only for premium users. Unlimited private repos are $7/month.