GITHUB was founded in April 2008 by Tom Preston-Werner, Chris Wanstrath, PJ Hyett and Scott Chacon.
Its purpose is to host repositories, have version control, collaboration and bug tracking. The idea was to create a service that allowed the programming community to centrally track how they manage their code, allow collaboration on new ideas.
Many open-source communities would host their code on the site using the free accounts they provide.
This has enabled the open-source community to use the tools and collaboration capability to build new software packages and solutions.
What is its size?
56+ million Developers *
3+ million Organisations *
100+ million Repositories *
*Source: GitHub website
The website has become an invaluable service to the technology community. As a result, in June 2018, the Microsoft corporation bought the company.
This gave the service the recognition of it now being mainstream, with a robust technology backer, securing it into the future.
Its sheer growth in numbers and repositories has allowed it to become one of the best websites that allows you to manage the different versions of your code.
What are the productivity gains from using it, and how can it benefit my organisation or me?
- Collaborative coding
- Code reviews facilitate better coding and error trapping.
- Team discussions afford better team building and ideas.
- Request review from multiple reviewers enables a wide spread of knowledge within the team.
- Build and test within a cloud development environment.
- Allows testing and debugging, ensures all problems are caught early, reduces post-implementation fixes.
- Automation and Automation
- CI ( continuous integration) and CD ( continuous delivery or deployment ) help streamline releases and automate specific tasks.
- Automate all your software development workflows,
- Map workflows, track their progress in real-time, understand complex workflows, and communicate status with the rest of the team.
- Meet security and compliance requirements for delivery with secrets and protection rules.
- While you write code, you can secure it, ensuring that access to it and changes are managed.
- If you are using open-source, check for vulnerabilities in any dependencies within the code.
- Set up private repositories, only sharing them with people you want to see what you are doing.
- Code scanning – allows you to check for vulnerabilities in your code.
- Project Management
- Track project deliverables.
- Set up milestones.
- Visuals to enable a better understanding of the progress.
Some of the organisations using GitHub
So should you use it?
I think a lot of this depends on the following:
- Company size.
- Productivity requirements.
- The complexity of projects.
- What code you want to put up on the website.
- Do you have the capability within the organisation to manage on your own?
- Your budget!
So, if I was going to use GitHub, here are some of the things that encourage me:
- Large volumes of users daily use the system.
- Large and small companies utilise the platform. They have tested its security and controls.
- They are owned by a significant corporate, stability and continuity into the future.
- A great space for open source projects could potentially have solutions to some of your issues on the site.
- Collaboration is made more manageable, and troubleshooting bug fixes can be tracked and traced.
- Development environments on virtual machines helps enable identifying code vulnerabilities before they are put into production.