Github is based around a system of version control called Git. Git is an open-source version control system that was started by Linus Trovalds--the same person who created Linux. Git is similar to other version control systems: Subversion, CVS, and Mercurial and Bazaar to name a few.
Version control systems keep these revisions organized, storing the modifications in a central repository. This allows developers to collaborate, as they can download a new version of the software, make changes, and upload the newest revision. Developers can see these new changes, download them, and contribute.
"Forking" is when developers create a new project based off of another project that already exists. This is an amazing feature that vastly encourages the further development of programs and other projects. If you find a project on GitHub that you'd like to contribute to, you can fork the repo, make the changes you'd like, and release the revised project as a new repo. If the original repository that you forked to create your new project gets updated, you can easily add those updates to your current fork.
When multiple people collaborate on a project, it's hard to keep track revisions--who changed what, when, and where those files are stored. GitHub takes care of this problem by keeping track of all the changes that have been pushed to the repository.
Git has three core features: forking, pull requests and merging. Gregg Pollack of Code School (which just launched a class called TryGit) explains that before GitHub, if you wanted to contribute to an open source project you had to manually download the project's source code, make your changes locally, create a list of changes called a "patch" and then e-mail the patch to the project's maintainer. The maintainer would then have to evaluate this patch, possibly sent by a total stranger, and decide whether to merge the changes.
Even for maintainers who don't end up using the GitHub interface, GitHub can make contribution management easier. "I end up just downloading the patch anyway, or merging from the command line instead of from the merge button," says Isaac Schlueter, the maintainer of the open source development platform Node.js. "But GitHub provides a centralized place where people can discuss the patch."
Besides its public facing open source repositories, GitHub also sells private repositories and on-premise instances of its software for enterprises. These solutions obviously can't take full advantage of GitHub's network effect, but they can take advantage of the collaboration features. That's how GitHub makes money, but it's not alone in this market.
Microsoft is acquiring GitHub. After reports emerged that the software giant was in talks to acquire GitHub, Microsoft is making it official today. This is Microsoft CEO Satya Nadella's second big acquisition, following the $26.2 billion acquisition of LinkedIn two years ago. GitHub was last valued at $2 billion back in 2015, and Microsoft is paying $7.5 billion in stock for the company in a deal that should close later this year.
The question around this acquisition will be what Microsoft does with GitHub in the future. LinkedIn has largely remained separate, with some integrations into Microsoft's Office software. Microsoft's Minecraft acquisition has been managed equally well, and it's likely that GitHub will need to stay as separate as possible to maintain developer trust. However, we could start to see even closer integration between Microsoft's developer tools and the service. At Build last month, Microsoft continued its close work with GitHub by integrating the service into the company's App Center for developers.
"The concept is based around change: what is the right thing to do, what is the wrong thing?" said Tom Preston-Werner, GitHub's co-founder and chief executive. "The efficiency of large groups working together is very low in large enterprises. We want to change that."
Mr. Preston-Werner's own company is something of a proxy for how he sees the world. GitHub has no managers among its 140 employees, for example. "Everyone has management interests," he said. "People can work on things that are interesting to them. Companies should exist to optimize happiness, not money. Profits follow." He does, however, retain his own title and decides things like salaries.
In his blog Mr. Preston-Werner has written about how important it is for companies to expose as much of their inner workings as possible. Another member of GitHub has posted a talk that stresses how companies flourish when people want to work on certain things, not because they are told to.
Companies pay to use GitHub, and it has become an exceptionally popular way for people to do all kinds of software work; in 2012 its number of users jumped to 2.8 million from 1.2 million. The number of "repositories" -- containing code, its documentation, images associated with a project or other work -- increased to 4.6 million from 1.7 million last year.
GitHub's popularity has also made it an important way for companies to recruit engineers, because some of the best people in the business are showing their work or dissecting the work of others inside some of the public pull requests. Its founders and backers, however, want to use the GitHub model to make mobile and enterprise software applications, and possibly much more.
Executives from both companies insisted that GitHub would remain technologically neutral, welcoming developers using any code or any cloud service, rather than a Microsoft walled garden. The proof, analysts say, will be in how GitHub operates under Microsoft ownership.
GitHub has become far more than a platform for software development. It is where developers demonstrate their skills. Software engineers routinely include links to their GitHub projects on their résumés, and companies scout for job candidates on GitHub.
GitHub launches new tools for teachers, including autograding
GitHub announces two new features for GitHub Classroom, its set of tools for helping computer science teachers assign and evaluate coding exercises.
GitHub launches GitHub Actions to the general public.
GitHub Actions is a system for automating tasks like building, testing, and deploying software. The beta was launched in 2018 and it is now available to everyone.
GitHub announces that Rachel Potvin will join as its new vice president of data.
Microsoft's GitHub acquires a code analysis tool called Semmle.
Microsoft, fully embracing a model it once saw as a threat, said on Monday that it was buying GitHub, an open software platform used by 28 million programmers, for $7.5 billion.
In a blog post, Chris Wanstrath, the company's chief executive and a co-founder, who will become a technical fellow at Microsoft, wrote that when GitHub started up a decade ago, he could have "never imagined" the outcome announced on Monday.
GitHub was last valued at $2 billion back in 2015, and Microsoft is paying $7.5 billion in stock for the company in a deal that should close later this year.
GitHub raised a $250 million round in 2015, led by Sequoia Capital.
The $7.5 billion purchase, an all-stock deal, is the second-largest acquisition Microsoft has made since Mr. Nadella became chief executive in early 2014.
Andreessen Horowitz announced a whopping $100 million investment in GitHub this week.
Nicci (Ciranna) Arsenault
Zachary Adam Kaplan
Documentaries, videos and podcasts
- Sequoia CapitalSequoia Capital is a venture capital firm that has invested in companies like Google, Apple, Cisco, YouTube, AirBnB and WhatsApp. Founded in 1972 by Donald Valentine, companies backed by Sequoia have created over $3.3 trillion dollars in market capitalization.
- GitLabGitLab is a web-based open source Git repository manager and collaboration platform with wiki and issue tracking features and built-in CI/CD.