G is for GitHub

I am glad I waited a couple of days before writing this short post on GitHub. I attended a GitHub enablement session today and why it should be the de facto versioning and repository management system in your organization. I have borrowed heavily from that session and the notes I took. Also learnt a ton of trivia on the way and the scale at which GitHub operates. 

We all know Git as a versioning system was written by Linux Torvalds along with his massive contribution to the Linux Kernel. Since then Git has become the de facto standard for distributed version control and source control management system .  The folks at GitHub build a UI layer on top of it using Ruby on Rails and Erlang. Its popularity has since skyrocketed with deeper collaborative features baked in to it. With focus on capabilities like jointly working on projects, users are able to have discussions on their work, manage repositories, create public and private repositories , submit contributions to others' repositories, and review changes to code.  

G is for GitHub 

Developers are the primary driving force when it comes to creating innovative services for either external or internal consumption. Any organization looking at digitally transforming itself and creating a differentiation among its competitors needs to adopt practices that drive this accelerate change. You cannot achieve rapid and perpetual growth if you keep doing things the old fashioned way. There have been studies that show that the average developer spends 50% or less of their time designing and writing code for their projects. Most their time is spent on various administrative and operational tasks. This cause developer fatigue and large scale attrition. This is where GitHub provides massive advantages. 

GitHub is also home to the most important and popular open source projects on the planet. To give you a glimpse on the scale that GitHub operates on , I have taken the liberty to provide some interesting snapshots from the Octoverse. The Octoverse gets its name from the GitHub mascot which is a Cat called OctoCat. 

Look at the number of developers using GitHub and their contributions:

No alt text provided for this image

Organizations across the landscape and using GitHub extensively. Stripe, Spotify, PayPal, Slack, Airbnb and of course Microsoft!!

No alt text provided for this image

After US as  the geography with the largest number of GitHub users, here is a list of the rest of the countries in terms of adoption and usage. India is 3rd behind China!!

No alt text provided for this image

Last but definitely not the least here are the Top contributors across the largest open source projects on GitHub. VSCode rules!!

No alt text provided for this image

If I were to distill 3 key reasons where GitHub shines these would be : 

Inner Source : Encouraging teams to collaborate within your own organization using the same processes and practices as open source world. In today's era of hyperscale growth and large scale open source adoption, you need a tool that focusses on helping developers achieve more with less. You will be surprised to know that , across all industries  most software today utilizes and depends on open source software. Developers need to discover what they need, easily and quickly. This way developers can spend less time on day to day functions and focus on building exciting products.  Discourage operating in silos and enable developers to work in projects that interests them. 

Secure Coding : In addition to nurturing your developers to contribute you also need a mechanism to detect usage of Open Source code in your applications and help ensure there are no security vulnerabilities. According to a recent study by Open source security firm Black Duck, 57% of proprietary code was open source. You do not want unsecure open source code in your private repositories or code that has gone in to production application. Its called Securing the software chain and GitHub accomplished that by automating security fixes, advanced security scanning your repositories. With tools like Dependabot for security fixing , Always On security scanning with pattern based analysis and integration with global security community like Mitre and companies like White Source for upto date security information , you are ensure your code is secure. 

Automated Delivery : Accelerate delivery thru large scale automation. With the capability to automate workflows from code to cloud , GitHub brings with a plethora of features. With new features like GitHub Actions you can build complex CI/CD mechanisms. Use Actions powered by an ever-growing community and promote code reuse. Use GitHub for creating Kubernetes with deep integration in to containerized workloads. Use GitHub Packages to power your public and private package repository. 

Having provided the above reasons , I also want to emphasize that even non-developers can use GitHub for a variety of collaborative tasks and self-hosting their projects. Create Public repositories for publishing your work and create wikis to promote extension of the tribal knowledge that exists within your teams. I use it extensively to create my customer ready workshops and decks. I use GitHub desktop to sync my work on to GitHub, replicate interesting projects from Public repositories to further my knowledge and use VS Code integration with GitHub to learn and experiment with PowerShell scripts and YAML files. There are no limits on what you can accomplish, whether you are a IT Pro or a student!!

 Resources: Folks interested in diving further with GitHub can refer to the links below:

The State of the Octoverse : I just provided a small glimpse above on GitHub's popularity. To see the full scale of the GitHub's impact please refer to this link below. Prepare for shock and awe on what GitHub has managed to enable. 

https://octoverse.github.com/ 

Ignite Sessions: You can view the following Ignite sessions if you want to deep dive in to the power of GitHub : 

How to use GitHub effectively in your company: Every developer knows GitHub, but how do you bring those powerful tools from the open source community into your company and use them to help change your culture to be more collaborative, to build on and contribute to open source while protecting your organization from security risks, to become an open source enterprise. In this session learn from GitHub practical tips and tricks on how to use GitHub effectively inside your enterprise and how to convince your company that it's the right way to go. 

https://myignite.techcommunity.microsoft.com/sessions/81618?source=sessions 

Being a social developer: We hear a lot about the skills required to be a developer, and we endlessly tweak our LinkedIn profiles, but what about interpersonal skills? What does it take to be a social developer? Are you visible online, and an even better question - should you be? We cover GitHub, Twitter, LinkedIn, StackOverflow, Blogging, Twitter, and much more as we aim to understand what a well-rounded developer looks like on today's social web. We also cover staying safe (and sane!) online, being both appropriately private and public, and how to be authentic while not giving away too many personal things. 

https://myignite.techcommunity.microsoft.com/sessions/84134?source=sessions

 Community powered continuous integration with GitHub Actions : GitHub recently announced V2 of their powerful repository automation platform and they have now added full CI/CD capabilities hosted for you with everything you need to build and deploy to any cloud right from your project. In the session learn how to build and deploy directly from GitHub as well as how to make use of the amazing GitHub Actions community to automate your CI/CD process and even how to contribute back with your own actions. 

https://myignite.techcommunity.microsoft.com/sessions/81617?source=sessions 

Next Post: H is for Host. Azure Dedicated Host!!

Manjunath S

Solution Architect @ Microsoft | Big Data, Advanced Analytics

5 年

Vishal, very nicely written.

回复

要查看或添加评论,请登录

Vishal Shirodkar的更多文章

社区洞察

其他会员也浏览了