What is GitHub?
GitHub is a company based in the United States, which offers software development version control service for the people in need via Git. Microsoft recently acquired GitHub. Hence, you can now call it a subsidiary of Microsoft.
The strengths of GitHub include the ability to manage source code and go ahead with distributed version control in an effective manner. On the other hand, GitHub can also provide access control and many other collaboration features to the users, including feature requests, bug tracking, wikis, and task management. You can even find large-scale software development companies using GitHub to get their work done virtually. More than 37 million users are seeking the assistance of GitHub as of now. On the other hand, GitHub has got more than 100 million repositories as well.
Depending on your requirements, GitHub offers free enterprise and professional-level accounts. Out of these accounts, the free accounts are usually being used to host open-source projects. You will now be able to receive unlimited private repositories for all GitHub plans as well.
History of GitHub
GitHub was initially developed in the year 2008. The company went public during a tech talk session, which has held at Yahoo headquarters in 2009. Along with that, it was able to receive more than 46,000 public repositories. Out of them, around 6,200 were forked. The website was able to receive 100,000 users by the year 2009. Since then, it has experienced exponential growth. It is one of the most popular repository management and versioning control tools available for you to consider as of now.
Here is the growth history of GitHub:
|Year||Number of Repositories||Number of Users||Number of Employees|
If you want to understand GitHub better, you should first consider what is meant by Git. Git is a version control system, which is available open-source. It was also developed by Linus Torvalds, who created Linux.
When a developer does development on a code, they go ahead and make continuous changes to it. Hence, new versions of the same software are being released, along with new versions. There should be an efficient method to manage these versions. That’s where Git comes into play.
When there is a version control system in place, the revisions can be done straight. In other words, all the modifications can be stored within a central repository. This can provide great assistance for multiple developers to collaborate. They are also provided with the chance to download the latest version of the software and change it. Once changes are done, a developer will be able to upload them. Then all the other developers will be able to see the latest version, along with all the changes that have been done to it. They can also download the latest version and contribute to it as well.
People who are not into developments are also provided with the chance to download and start using them. This is quite popular among Linux users, who download appropriate files, which are needed to compile a program via the source code.
Most of the developers prefer to stick to Git for version control. That’s because Git provides them with a series of benefits when compared to others. For example, it can store the changes to files in a more efficient manner. It can also contribute heavily to file integrity.
Now you have a better understanding of what is meant by Git in GitHub. Along with that understanding, you should also take a look at what is meant by Hub.
Git is a command-line tool. The functionality delivered by it rotates around Hub. That’s where GitHub comes into play. In other words, developers will be able to use GitHub to store the projects and network and other like-minded people.
GitHub is one of the providers of Git version control services. Though there are other services available, GitHub is the most popular. For open-source projects, GitHub is the primary destination.
In addition to version control, GitHub provides a few related services like managing issues, managing info pages, hosting code snippets (Gist).
There are other companies that provide the same service, but GitHub is the most popular. For open-source projects, it is the go-to place for a long time. But for small companies or teams, there was an issue.
Why is GitHub popular?
Here is a list of some of the biggest reasons why people tend to use GitHub.
Repository, also known as the repo, is where all the files related to a specific project are being stored. Every single project has a repo of its own. You will be able to access this repo with the help of the unique URL linked with it.
- Forking a repo
When you create a new project using an existing project as the base, you will be forking a repo. This is one of the most outstanding features that you can find as well. It encourages the additional development of other projects. When you come across a project where you can contribute to GitHub, you will be able to go ahead and fork the repo. Then you can do developments and introduce appropriate changes to it. After doing the changes, you can release it as a revised project.
- Pull requests
Once you fork a repository, you will create an excellent new version of a project. You will come across the need to get that appreciated and recognized by the original developer as well. You will also come across the need to get that included in the official repository and project. You will be able to do it with the assistance of a pull request. Then the author of the original repository will be able to see the work that you have done. The original developer also has the ability to accept the changes that you have done to the original project or reject them.
What happened recently?
Something happened in 2018. Microsoft acquired GitHub for $7.5 billion. It was really strange news at that time. You can read the announcement here – https://news.microsoft.com/announcement/microsoft-acquires-github/
In this announcement Microsoft said:
Microsoft acquired GitHub, a popular code-repository service used by many developers and large companies, for $7.5 billion in stock.
Microsoft CEO Satya Nadella said – “we strengthen our commitment to developer freedom, openness, and innovation.”
And then it started changing, or we should say it started growing. And in recent days it is providing so many tools, features, and services.
Until the beginning of 2019, GitHub used to allow you to make public repositories. To make a private repository you would need a paid plan, before that. And also for free plans, there were other limitations.
It is growing its services and making a lot of rapid changes. So the question comes to mind is that – is GitHub moving too fast? If yes, then is moving in the right direction.
Let’s take a look at recent events.
- Microsoft acquired GitHub
In June 2018, Microsoft announced the acquisition process of GitHub. It was a $7.5Billion acquisition.
A very big acquisition indeed. And that started speculation among the community and developers, about the future of GitHub.
The main concern was that Microsoft will restrict the use of GitHub. And what will happen to open-source projects hosted on GitHub, do they need to find a new home for their projects.
- GitHub desktop app got better
Though lots of GitHub users use a command-line interface for Git-related operations, having a desktop app is helpful for a lot of other users.
Github desktop app was announced in September 2017 (which is an electron-based desktop application).
It has got a lot better since then, got improvement updates and stability.
- GitHub mobile app released
GitHub mobile app became generally available in March 2020, both for iOS and Android. Few features are still missing from the mobile app, but features and improvements are being pushed rapidly.
- GitHub plan and pricing change
In April 2020, GitHub announced that – individuals and organizations who are using a free GitHub account, now can create unlimited private repository. Also, the pricing for the Pro and Team account was also reduced at the same time.
It was big news and opened a new dimension for users.
- GitHub acquired NPM
In addition to that, we are seeing new features being added in GitHub, frequent updates on the GitHub blog, and also in the GitHub enterprise.
What are the possible reasons for these rapid changes?
- GitHub wants to scale its service fast and wants to reach as many developers as possible.
- As Microsoft is involved in the process now, so the business and services can be expanded without worrying much about the financial angle.
- Microsoft is a developer-first company. So, by improving GitHub and contributing to the open-source community, Microsoft will have a better image among the developers. Which will be beneficial for Microsoft as a company, and also for the developer tools that Microsoft offers.
- This way GitHub can establish itself as the dominant force among the developers for many years to come.
- This can move GitHub and Microsoft very fast towards a cloud-based development environment.
- GitHub can dominate the DevOps process (which is very big these days).
- Acquiring NPM can be beneficial for Microsoft’s effort to make products/technology like VS Code and TypeScript.
- By expanding fast, GitHub will have more users, which means more data about the development trend and development process. This would help to predict a change in development trends, and the ability to adapt the changes faster for services like Microsoft Azure, and other services.
What will be the impact of GitHub’s recent changes?
- The impact of all these changes seems positive. Users are getting more features and services. The service is becoming more stable.
- Plan and pricing changes will introduce more and more users to Github.
- For small teams, it is now more affordable.
- For the individual user, this is great.
- GitHub will be able to defeat all its competitors with the services.
- GitHub (with the help of Microsoft) will be able to scale its services to a new level.
GitHub is not just designed and developed for the use of developers out there. You can go ahead and use GitHub for the storage of many other file types as well. However, this practice is not so common in today’s world. In other words, developers are getting the most use out of GitHub.
So, is GitHub moving too fast at this moment? The answer is YES. GitHub is moving forward very aggressively, but it is probably moving in the correct direction. With the current changes in plan and pricing, a lot more people and small companies will join GitHub for sure. New features and apps will help to provide a complete and satisfying experience to the users. Looks like there is a huge growth possibility for GitHub.