It’s that time again, where we take a moment to reflect and ask ourselves: What can 31 million developers do in 365 days? Today we published our annual Octoverse report, showing just how much our community has accomplished on GitHub this year. And you might notice a theme from Octoverse 2018: more collaboration across 1.1 billion contributions and more projects than ever before.
Dive into the full report—or read on for the highlights.
There are over 31 million developers building on GitHub, most of whom (80%) come from outside of the United States. In fact, the GitHub community comes from nearly every country and territory in the world—and we’re still growing.
More than 8 million new developers joined in the last year. In fact, we’ve seen more new accounts in 2018 so far than in the first six years of GitHub combined. And you aren’t showing any signs of slowing down: there are 1.6 times more unique contributors in 2018 than there were in 2017.
Over 2.1 million organizations are using GitHub across public and private repositories, up more than 40% from 2017. And the number of organization accounts on GitHub grew even faster this year than last year—in particular, across the Middle East and Southeast Asia.
More than 96 million repositories are hosted on GitHub as of September 30, 2018. That’s over 40% more than last year, and one third of all repositories were created in the last 12 months alone. Exciting new projects open sourced this year include felixrieseberg/windows95, wangshub/wechat_jump_game, and frappe/charts.
We launched pull requests 2.0 in 2010. Since then, the GitHub community has opened over 200 million of them, more than one third of these in the last 12 months alone. The 200 millionth pull request was opened (and merged) in Vuetify—a semantic component framework for Vue.
Since we launched security alerts in November 2017, we’ve alerted you to more than five million vulnerabilities across the open source projects your teams depend on. And you’ve already resolved more than 800,000 of these.
The number of users who have ever installed an app on GitHub has doubled in the last 12 months. More exciting, organization members are over twice as active in making substantive contributions if they use apps on GitHub.
These highlights show just how much the GitHub community is growing, but our data tells millions of stories. Here are some of our favorites:
Are you excited about data as we are? Join GitHub Data Scientist Anna Filippova for a GitHub Universe session dedicated to this report. The livestream starts today, October 16, at 1:55 pm PT.
Launched at GitHub Universe, our latest GitHub Enterprise release introduces GitHub Connect—a powerful new way for development teams to work across your organization’s Enterprise and Business Cloud accounts. You’ll also find security enhancements, including automatically protected branches and S/MIME Git signing.
GitHub Connect is a new initiative that begins to break down organizational barriers, unify the experience across deployment types, and bring the power of the world’s largest open source community to teams at work. With GitHub Connect, companies can enjoy the best of both worlds: the scalability and ease-of-use of our cloud offering with the control of self-hosting.
In GitHub Enterprise 2.15, we’ve expanded the functionality of Unified Search to include private Business Cloud repositories, as well as added an advanced search interface and prefixes.
Unified search brought the power of the world’s largest community of open source projects to GitHub Enterprise users. Now you can also search all of your Business Cloud organization’s private repositories from Enterprise, opening communication across teams. And with the advanced search interface and prefixes, you can efficiently search for the content you need within both cloud and on-premise repositories.
Now developers can get recognition for their hard work, no matter where they work, with Unified Contributions. Previously, they could code, review, and comment within their companies’ GitHub Enterprise accounts, but those contributions wouldn’t get recognized on their GitHub.com public profiles. With Unified Contributions, developers can connect their Enterprise accounts with their GitHub.com accounts and showcase their Enterprise contribution counts on their profiles.
With our new system for protecting branches, you can create protected branch configurations that will automatically apply if a branch name matches the specified regex pattern. For example, a pattern like releases\/\S?\d.\d will automatically match branches with the names releases/v1.0, releases/v1.2, and others. This removes the need to set up new branch protection rules when creating a new release branch in a repository and simplifies your workflow by ensuring your branches are uniformly protected.
The S/MIME standard describes how emails can be digitally signed using PKI certificates. Git recently gained the ability to understand S/MIME signatures, providing a method of Git signing that’s friendlier to large organizations. GitHub can now verify these signatures, too, similar to how OpenPGP signatures have worked for some time. With S/MIME Git signing, developers can easily sign their commits with X.509 certificates which require no configuration to GitHub. We’re also releasing a client tool called smimesign that makes it easy to create and use S/MIME signatures.
The Checks API, initially introduced as a public beta in GitHub Enterprise 2.14, is now generally available in 2.15. With the Checks API, integrators can specify more status information during builds and collect richer data, providing a more integrated experience for developers.
We’ve expanded our Premium Support program to include two new plans: Premium and Premium Plus.
All Premium Support plans now include:
Our Premium Plus plan also includes:
Whether you’re using public tests to give students live feedback when they push, or private tests to assess student projects, Travis CI proves pretty powerful for classroom work.
Travis CI Enterprise unlocks unlimited builds for schools that are running GitHub Enterprise on their servers. And, it’s available for free for schools, exclusively through the GitHub Education program.
By participating in GitHub Education, schools have access to:
In just a few days, we’ll be meeting all the builders, planners, and leaders defining the future of software–that’s you! But Universe isn’t just about defining what the future can be. It’s also about changing it, for good.
At Universe, we try to show GitHub’s ongoing commitment to positive change and take real steps towards greater social impact (SI). This year is no exception—but we need your help. Whether you’re attending live or via livestream, here are a few ways you can join us in making software a better place for everyone:
We’re excited to host two panel discussions with developers who are working at the intersection of open source and positive impact. Both sessions will be available on Wednesday, October 17 (Day 2) at Universe and on the livestream:
We’re hosting three livestream interviews with special SI guests as well—including our scholarship recipients and philanthropic partners. Plus, you’ll also get to see a live demo of the Mojaloop software from the Gates Foundation.
Every year, we choose several Individual Scholarship Program recipients to attend Universe. Likewise, we’ve selected three local organizations as our 2018 GitHub Universe Community Partners. This year’s partners all received free tickets to GitHub Universe to share with their respective communities:
Code Tenderloin: Code Tenderloin is a workforce development nonprofit that aims to secure long-term employment for underserved communities in San Francisco.
AnnieCannons: AnnieCannons transforms survivors of human trafficking into software professionals.
Women Who Code East Bay: Women Who Code’s mission is to inspire women to excel in technology careers.
Along with providing these organizations with a set number of free tickets, you’ll also have the opportunity to help us support them by making a personal donation during the conference. Keep an eye on the screens at Universe for a special QR code that will take you directly to each organization’s online giving site.
This year, we’ve opted to donate the proceeds from our Universe Octoshop sales to four organizations doing amazing work in the cities where GitHub has local offices. In addition to getting your hands on a golden Mona Lisa, we hope you’ll help contribute to these local organizations by picking up a few more items from the Octoshop at Universe:
There are plenty of ways to make a positive impact in your local GitHub community and beyond—and Universe is just the beginning. We can’t wait to see you there.
In part one of this series, Code Climate discussed how they used GitHub Apps to improve their GitHub integration. In this post, we explore how Sentry was able to simplify their signup process, improve security, and create a better experience for users by upgrading to GitHub Apps. Sentry explains how they used GitHub’s new guide on migrating OAuth apps to GitHub Apps, and what they learned in the process.
As source code management and error monitoring solutions, GitHub and Sentry work together to help developers improve their code and their productivity. After you ship a project in GitHub, Sentry alerts you to any errors or bugs, helping you understand what’s happening in production, and making it easier to start triaging, assigning, and fixing the problem.
The newest Sentry integration release provides GitHub users with faster sign-in, flexible repository permissions, and an easier organization-wide setup. For the first time, GitHub Enterprise users can also take advantage of these useful features.
Sentry moved to GitHub Apps for two reasons:
GitHub Apps enabled Sentry to provide users with a way to install an app to an organization, in addition to an individual account. This “future-proofs” the GitHub integration for the organization. Prior to GitHub Apps, if the credentials of the user who set up the integration became invalidated (for instance, they left the company, and their GitHub and Sentry credentials were revoked), the integration would break for all members of their organization. With GitHub Apps, Sentry is able to link the integration to the organization itself, providing a more robust experience when staff changes.
GitHub Apps allows Sentry users to be more selective in which repositories they give Sentry permission to access. While Sentry only used write access for creating new issues in GitHub, the old integration still required users to provide read/write permissions to all their repositories—even if it was only to use read access to the repository’s commit data. For Sentry’s releases feature to be implemented correctly, Sentry needs access to issues, but not to everything. This level of granularity didn’t exist before, but now, security-minded users can select specific repositories for which Sentry is granted access.
In addition to easily configuring repository and issue linking organization-wide, switching to Apps allowed Sentry to more efficiently authenticate users. Sentry’s new “sign-in to Sentry with GitHub” feature came as a result of this new functionality.
“In summary: transitioning from OAuth to GitHub Apps created a safer, more robust experience. The benefit we were able to bring to our users was well worth the effort”
-Meredith Heller, Software Engineer at Sentry.io and builder of Sentry’s integration with GitHub Apps
Upgrading to a GitHub App did not require touching Sentry’s old OAuth integration—Sentry’s team built it from scratch. Because of a recent framework Sentry put in place for integrations, the GitHub App was lightweight to implement and the documentation made building the GitHub App easier. It fit well with how Sentry is modeled—organizations are at the top of the hierarchy that own projects, and consist of teams of members. Since GitHub Apps allows Sentry to connect a Sentry organization with a GitHub organization (instead of a GitHub user), it complemented the existing architecture well.
Starting from scratch to rebuild the integration with Apps was the right decision. Like a puzzle with the wrong pieces, trying to re-work strictly from old code was not possible. In order to rebuild the pipeline, referencing the old code while working within a new structure worked best.
A couple of gaps that were discovered regarded a lack of “best practices” around workflow. Sentry needed to install the app on the GitHub side, which included establishing a cadence of going back and forth between the two platforms. This included redirecting from Sentry to GitHub, picking the repositories, and then redirecting back to Sentry. Additionally, a lot of information was stored in the old app, so Sentry engineers needed to be careful to not delete any information that could cause damage for users.
In short, the upgrade went well! Sentry’s new integration updates could not have happened without switching to Apps, and as such, the integration with GitHub is stronger for the developers who rely on it. Additionally, combining the integration with the identity management portion of what Sentry built (“sign-in to Sentry with GitHub”) saved time as the OAuth login used the same code to set up the application.
Through GitHub Apps, Sentry was able to consolidate all parts of the integration through one channel. While Sentry previously had separate authentication mechanisms powering issue tracking, release tracking, and the login button, all features are now powered by GitHub Apps. This was helpful for Sentry to keep the integration code concise, as well as streamline user experience.
“Overall, our application is a lot cleaner, and saves us maintenance time since we engineered the switch, as we only have to manage one app on GitHub’s side of things.”
-Meredith Heller, Sentry.io
If you’re interested in testing out how you can use Sentry to keep track of your errors in GitHub (and want to see our GitHub Apps workflow in action) check it out in the GitHub Marketplace! And, because Sentry is open source, you can check out all the code that went into building the integration.