When it comes to modern software development, collaboration is the name of the game; to this end, development teams have more than ample selection of tools at their disposal these days. With a user base in the double digit millions, GitHub is the perennial favorite for sharing, collaborating, and repositing code, but the recently revamped Visual Studio Online—now known as Microsoft Visual Studio Team Services (VSTS)—may soon be stealing some of its thunder.
The most obvious, classic distinction between the two platforms is that Microsoft VSTS is geared for closed source projects while GitHub is focused on open source. That said, GitHub has always made it easy for developers to move back and forth between public/private development modes; Microsoft has also made drastic strides in gaining favor with the open source community. So for comparison's sake, it really comes down to customer fit in terms of specific features, usability, and pricing models. Let's delve into a few of these categories and see how they stack up.
Microsoft Visual Studio Team Services (VSTS)
Formerly known as Visual Studio Online, VSTS is essentially an Azure cloud-hosted version of Team Foundation Server, Microsoft's source code and application lifecycle management platform. VSTS offers extended features for supporting software team collaboration and continuous delivery/integration (CI/CD) such as Git-based source control repositories, project tracking tools, telemetry services, a streamlined development IDE, and more.
The Microsoft VSTS UI. Source: blogs.technet.microsoft.com.
Other capabilities include Microsoft Office component support (e.g., Excel and Project) as well as cloud-specific development services such as cloud build, cloud load testing, and Application Insights: a machine learning-based tool for detecting, diagnosing, and remediating web application/service problems and performance issues.
Launched in 2008, GitHub is the premier Git repository hosting service on the web that features the best of Git's source control management capabilities combined with cloud-based code sharing, social networking, and an expansive online community of collaborators/developers.
The GitHub interface. Source: guides.github.com.
GitHub has been described as a platform for social coding—an apt descriptor, as the offering features a myriad of social features that have made it the most popular code hosting platform on the web. Indeed, most of its powerful features revolve around its collaboration and sharing capabilities: on its own, Git is a massively popular and competent distributed version control system, but GitHub takes this to the next level by allowing users to work together publicly on projects, fork projects for experimentation and specialization, as well as disseminate/share ideas, among other features. Other social aspects of the platform worth mentioning include visibility into what others users are developing, coding "resumes" of sorts for developers to highlight previous work, and the ability to connect with other developers.
Side-by-Side Scoring: Microsoft VSTS vs. GitHub
1. Capability Set
Both offerings are comprehensive, feature-rich platforms for sharing/tracking code and building software à la CI/CD, as well as highly focused around Git with an emphasis on different aspects of collaborative software development. VSTS, with its gamut of tools and services for facilitating software project creation, development, testing, and management—is a formidable solution for development teams of all proportions. Similarly, GitHub's advanced features for team-based software development such as project issue tracking, code review, and various social features have made it the platform of choice for countless organizations/projects.
2. Ease of Use
Both offerings present a moderate learning curve, though this may be less of an issue for the average team (depending on what type of development is in question). For example, GitHub's born-in-the-cloud pedigree and familiar collaborative/social functions make it trivial for those with a basic command of Git and a penchant for social media tools to pick up. Microsoft-centric developers, previous Visual Studio Online users, and Azure cloud aficionados will at once feel at home with VSTS's dashboards and various development/management consoles.
3. Community Support
GitHub takes the cake in this category by design. As mentioned previously, the offering was designed from the ground up to be highly social and community-based; as a result, the offering's community support is unparalleled. Microsoft VSTS also commands a sizable following among both Microsoft-centric developers and open source proponents alike, but doesn't come close to GitHub when it comes to community support.
4. Release Rate
Microsoft Team Foundation Server has seen regular releases over the years, and—as an outgrowth of this offering—VSTS is a beneficiary of many of its feature additions. That said, VSTS is a relatively new offering, whereas GitHub Enterprise has seen multiple releases per month since its inception in 2011.
5. Pricing and Support
GitHub and VSTS diverge significantly when it comes to pricing. Microsoft's offering is free for up to 5 users with an unlimited number of private repositories to boot. At the lowest paid tier, VSTS runs from $30/month for 10 users all the way up to $4,350 for teams of 1,000.
When it comes to GitHub usage, all public open source projects can be hosted free of charge—only private repositories incur a cost. Paid plans start at $7/month for personal use with unlimited private repositories and top out at $21 per user/month at the enterprise level (sold in packs of 10 users, billed annually). Enterprise plans allow you to host your team's code privately—either inside your own infrastructure or a private cloud.
6. API and Extensibility
GitHub offers a rich, well-documented REST API for interacting with and manipulating various platform resources. All API access occurs over HTTPS with data sent/received in JSON format. Similarly, Microsoft VSTS' REST API is based on OAuth, JSON, and service hooks—enabling remote user/account access, build functions, Git repository actions, dashboard and widget actions, and more.
7. 3rd Party Integrations
GitHub features a myriad of integrations that allow developers to use their favorite 3rd party tools and services with the platform, from popular chat solutions like Slack and HipChat to CI/CD offerings such as Travis CI and Semaphore. VSTS also features a host of extensions (e.g., Slack, Octopus Deploy, and even GitHub) for expanding the offering beyond its core capabilities.
8. Companies that Use It
GitHub is used by government entities across the globe and the majority of leading tech enterprises in business today: Google, Adobe, Twitter, PayPal, Facebook, LinkedIn, Yahoo, and countless others. Microsoft VSTS' customer list—while respectable—is not as illustrious as GitHub's: Shell, Alaska Airlines, Hawaiian Airlines, Ordina, and OSIsoft, to name a few.
9. Learning Curve
When it comes to GitHub, those with experience with Git will find the offering easy to get up to speed with. Despite its relatively intuitive and well-designed interface, an abundance of widgets and tools can make VSTS somewhat of a challenge to master. Additionally, its repository management features are less intuitive than Github's.
The Microsoft VSTS website has a number of shortcomings that make its website perimeter security less than ideal: Lack of HTTP strict transport security, secure cookies, and an insecure SSL/TLS version. GitHub, on the other hand, scores an excellent CSTAR score of 825 for its bolstered website perimeter security.
Scoreboard and Summary
|Ease of Use|
|Pricing and Support|
|API and Extensibility|
|3rd Party Integrations|
|Companies that Use It|
|Total||4.2 out of 5||4.7 out of 5|
In short, if the intent is to build and collaborate on open source projects with the developer community at large, GitHub is the ideal platform. Just know that you'll be on the hook to pay if you decide to go private with your code repositories. Microsoft's VSTS is a highly competent offering with robust application lifecycle management tools—ideal for Microsoft-centric shops and Azure-hosted applications. Last but not least, both are reasonably priced and ship with a plethora of integrations for dovetailing into any number of toolchain compositions.
Learn more about how UpGuard helps keep GitHub organizations and repositories secure.