Have you ever been in the middle of writing a code comment and find yourself needing to switch context for a single minute? When you returned to the diff, did you find that your comment disappeared while you were in the middle of writing it?
In the latest release of GitHub for Visual Studio, we added the ability to save drafts of comments. As they are written, comment drafts are saved to a SQLite database and displayed when a user comes back to them later. Now, in-progress comments will never be lost again.
When reviewing a pull request, it’s common to write inline comments in the file diffs. Sometimes it’s necessary to switch back and forth between files (and other views) within Visual Studio. Now the diff can be closed and reopened and the in-progress comment is restored right where you left it.
After reviewing a pull request, it’s time to submit your review. From this view, you can navigate away and come back to the summary later so you can easily complete your review.
For creating a pull request, you can close the Create Pull Request form and return to it later—the title and description are filled out just as you left them. Even better, Visual Studio can be restarted and the content will be restored.
This is the latest feature we have added as we continue to build out our pull request workflow. Download the latest version of GitHub for Visual Studio and try it out.
Today we reached a major milestone: 100 million repositories now live on GitHub. Powering this number is an incredible community. Together, you’re 31 million developers from nearly every country and territory in the world, collaborating across 1.1 billion contributions.
Repositories are where you store code, but they represent much more: ideas, experiments, curiosity, and moments of inspiration. To celebrate, let’s take a look at a few trends and achievements, a core sample of what’s possible when we work together by the millions.
To put this milestone into perspective, we totaled only about 33,000 repositories in 2008. Today, we’re seeing an average of 1.6 repositories created every second. In fact, nearly one third of all repositories were created in the last year alone—all thanks to the developers who choose to host, build, and share their work on GitHub.
Over the last 10 years, it’s been a pleasure to watch impactful projects build and grow on GitHub. Rails moved to Git and GitHub while the platform was still in private beta, and Node.js launched on GitHub in 2009. Since then, we’ve also had the opportunity to host Swift, .NET, and Python. Supported by thousands of contributors, these projects are raising the bar for how developer tools evolve and engage with their communities.
Just this year, we’ve seen countless projects take off, started by individuals and larger teams alike. Projects like Definitely Typed, Godot, Kubernetes, PyTorch, and more climbed our lists of top and fastest growing projects.
Projects on this year’s lists have a theme: they make it easier to build software, whether through code editing, automation, containerization, or documentation.
This year, the open source repositories you’ve created span thousands of topics, but these are the ones you contributed to the most:
GitHub started with a small group of developers looking to solve a specific problem—now it’s home to a global open source community. And we’re seeing the proportion of open source contributors outside the U.S. grow every year.
As a continent, more repositories are coming from Asia than anywhere else in the world. More specifically, repository creation has picked up across Central Asia, the Middle East, and Africa. While there’s an increase in repositories from developed countries, we’re seeing the same trend in emerging countries as new tech communities grow and new technologies becoming more accessible.
Developers in Egypt, in particular, created twice as many public and private repositories this year. And in Nigeria, a growing developer community created 1.7x more open source repositories in 2018 than in 2017. To see why we think Nigeria has a tech community to watch, read our latest post on the region.
After 10 years and 100 million repositories, we’re only just getting started. Thanks to our users, we’re building something bigger than any single repository or project—a community that’s pushing software forward in tangible ways. So thank you for building with us now and in the years to come. We can’t wait to see what you build together in the next 100 million.
Interested in seeing more insights into the GitHub community? Check out this year’s State of the Octoverse report.
This article is the first in a series based on The State of Octoverse—trends and insights into GitHub activity, the open source community, and more from the GitHub Data Science Team.
In February, we reflected on a trip to Nigeria and everything we learned about its growing tech community. Economic changes, expanding educational opportunities, and wider internet access are mobilizing a talented and entrepreneurial community. And together, they’re pushing software forward in Africa’s largest economy.
On our trip, we saw this changing landscape close up at packed meetups and student groups. In our 2018 Octoverse Report, the numbers were clear. Across several measures, the developer community in Nigeria is growing fast. In 2018 alone, we’ve seen:
To learn more about our data and methodologies, check out this year’s State of the Octoverse.
*We define contributors broadly as any user taking a substantive action on GitHub (pushed code, opened an issue, or merged a pull request, for example) that added new content to the platform in a public or private repository.
Behind our numbers is a young, growing community excited about software development and its potential to address some of the challenges Nigeria faces today. With excitement and opportunity comes an expanding startup ecosystem and the venture capital, accelerators, training programs, and hubs to support it.
Nigerian startups are growing accordingly across industries. The fintech industry is booming in particular, as a result of a changing financial landscape. According to Stephen O’Grady, Principal Analyst at Red Monk:
In 2016 and 2017, 42 percent of Nigerians had access to traditional financial services, which has lead to growth in projects that have tried to bring these to the Nigerian population. Without existing infrastructure, they have the opportunity to take the next step forward.
Nigeria still relies heavily on cash, but fintech companies like AmplifyPay, Paga, and PayStack (which you can find on GitHub) are streamlining the way people bank and gaining tens of thousands of individual and business users. With millions of dollars raised, these companies underscore an investment trend that has spread across African tech ecosystems, reaching a high of $195 million in 2017 alone. These startups have also spurred local developers to build an ecosystem of applications and integrations.
Through GitHub Education and our global group of Campus Experts, we’ve had the opportunity to support Nigerian students building tech communities that train and mentor new developers within their schools. So far, we’ve watched local Campus Experts create summer coding camps for women, host and speak at national software summits with 1,000+ attendees, organize open source meetups, and more.
We’re excited to see what Nigeria’s growing developer community builds on GitHub into 2019 and beyond. Want to learn more? GitHub Data Scientist Anna Filippova and Red Monk Principal Analyst Stephen O’Grady chatted about why Nigeria is trending in a recent GitHub Universe session.
Stay tuned for more posts that dive into data on the GitHub Blog—or check out The State of the Octoverse to see what a community of 31 million developers can accomplish in a year.
Today, we’re excited to announce that GitHub has joined 40 other software companies in supporting the GPL Cooperation Commitment. Our hope is that this change will improve fairness and certainty for users of key projects that the developer ecosystem relies on, including Git and the Linux kernel. More broadly, the GPL Cooperation Commitment provides an example of evolving software regulation to better align with social goals, which is urgently needed as developers and policymakers grapple with the opportunities and risks of the software revolution.
Regulations are put in place in order to achieve social goals—like reducing pollution or protecting consumers—but those goals aren’t automatically achieved. An “effective” regulation must direct behavior that will actually further intended goals and not cause too much unintended collateral damage.
But that’s not all: an effective regulation would also have an enforcement mechanism that encourages compliance rather than creates an opportunity to shake businesses down. Under effective regulation, the most severe penalties for non-compliance, like shutting down a line of business, would be reserved for repeat and intentional violators. Less serious failures to comply, or accidental non-compliance, may only result in warnings—if the violation is promptly corrected.
The GNU General Public License (GPL) is a tool for a private regulator (copyright holder) to achieve a social goal: under the license, anyone who receives a covered program has the freedom to run, modify, and share that program. (In contrast, a license like MIT does not regulate what freedoms downstream recipients must be offered. Whether to regulate in this manner or not is up to the developer of a program.)
However, if the developer does want to regulate, version 2 of the GPL (GPLv2) has one bug from the perspective of an effective regulator: non-compliance results in termination of the license, with no provision for reinstatement—making the license marginally more useful to copyright “trolls” who want to force companies to pay rather than come into compliance.
In contrast, version 3 of the GPL (GPLv3) fixed this bug by introducing a “cure provision” under which a violator can usually have their license reinstated—if the violation is promptly corrected. On choosealicense.com, we recommend GPLv3 when developers want to use a regulatory license.
Still, GPLv2 has served the Linux kernel, Git, and other developer communities well since 1991, many of which are unlikely to ever switch to GPLv3, as this would require agreement from all copyright holders, and not everyone agrees with all of GPLv3’s changes. But GPLv3’s cure provision is uncontroversial: could it be backported to GPLv2 licensed projects? In a sense yes, to the extent GPLv2 copyright holders agree.
The GPL Cooperation Commitment is a way for a copyright holder to agree to extend GPLv3’s cure provision to all GPLv2 (also LGPLv2 and LGPLv2.1, which have the same bug) licenses offered, giving violators a fair chance to come into compliance and have their licenses reinstated.
And importantly, the GPL Cooperation Commitment is an example of making regulation more effective in advancing a social good, like we discussed above. It also incorporates one of several principles (the others do not relate directly to license terms) for enforcing compliance with the GPL and other copyleft licenses as effective private regulation.
We’re happy to agree to the GPL Cooperation Commitment because it aligns with GitHub’s core values. Everything we build and support is grounded in empowering the people–and the community–behind the technology. We know GPLv2 will likely remain an important private software regulation for decades to come. It’s important to ensure that GPLv2 licensees have the ability to fairly correct license violations, and to support effective regulation that improves open source licensing for everyone. We also want to encourage both private and public policymakers to take similar care for effectiveness when considering regulation that will shape the future of software.
As a student trying to ship code without a community to help you, small setbacks can add up to a massive feeling of frustration, even isolation. Who can you brainstorm with? What about sharing the brilliant solution you devised, 10 pull requests later? As rewarding as contributing to open source can be, it’s also a challenge to go it alone.
GitHub Field Day, a day-long “unconference”, solves this problem by bringing together students from their local communities to connect and share experiences. This summer marked the first anniversary of GitHub Field Day, which has grown to meet the needs of communities around the world.
Intern (and now GitHubber) Wilhelm Klopp (Wil) created Field Day to share information across campuses and learn from mistakes, all while making friends. With an unconference, participants in each session can freely engage in discussions, collaborate, take a break, or decide to move to other sessions.
When you attend a local Field Day, the structure of the event invites you to participate as little (or as much!) as you’d like. Think of it like a “choose your own adventure” game—you control your experience, and you can suggest topics for technical discussions and activities that are timely and relevant to you. More importantly, you’ll have fun, feel welcome, and enjoy meeting other student leaders.
Every Field Day is different, and each one has something for us to take away to our local communities. Here’s a walkthrough to give you a sense of Field Days from each region, along with some helpful tips.
As a Campus Expert Wil noticed a trend that every Expert reported: when a student leader experienced a problem, who did they turn to? There wasn’t an outlet for them in their local communities. This was how the idea for Field Day started, and Wil set out to launch a beta event.
Inaugural Field Day
One of the key skills you learn as a Campus Expert is how to observe the needs of your community. The first Field Day showed that Wil was onto something—students want this kind of knowledge base, some form of face-to-face support for their shared struggle.
At the time, Field Day’s project name was “Umbrella”—an umbrella event for leaders of technical student communities. Ultimately the name evolved, but the project name still hangs on as part of the branding: the purple umbrella ☔.
The first Field Day unconference schedule included a Pizza programming contest, teaching CS to complete beginners, creating the membership identity, inclusivity of international students, and building an API for students at university
Los Angeles Field Day attendees
Campus Expert Catherine Chung at the University of Southern California has a habit of noticing “what’s missing” in her on-campus community. After joining the ACM chapter, and creating an all-female hackathon for schools in her region, AthenaHacks, she saw how schools in Los Angeles could band together, share resources and distribute the work in ways that would help everyone.
In the spirit of coming together for mutual benefit, Catherine connected USC with UCLA to house Field Day Los Angeles in a larger venue. Working side-by-side to plan the event, both schools shaped it to serve their communities.
For next time, Catherine plans to seed the event with content that students want.
Something that could help add more value to the event is polling the attendees (maybe during the application form) to see what topics or issues they’d like to talk about, or pairing people up into more relevant groups for lunch. For example, it would have been interesting to pair up the ACM (Association for Computing Machinery) student leaders from all the schools in one lunch table so they could talk about collaboration or discuss things they’re working on.
With 33 attendees, Field Day Montreal (organized by Campus Expert and former Intern kim-codes) was small enough to focus on one track for the entire day.
Student leaders opened up about their common problems: recruiting new members, the onboarding process for their organization, keeping in touch with members, and learning how to work as a team. With this agenda in mind, the discussion bloomed to offer solutions (including a poutine day for recruitment).
One interesting challenge Field Day Montreal posed was around language: how do you run a conference for student leaders in multiple languages? Perhaps offer slides in English and French, or ask for translation services from student leaders who are multilingual.
Speakers at Field Day in Mexico
For Fernanda, organizing Field Day “changed my life”—she saw ways to improve efficiency, use new communication channels, and bring together 35-50 different communities who previously operated independently. The different clubs shared how to work with universities, sponsors, and the media.
They are currently discussing where to host the next Field Day, and Juan would like to nurture communities outside of Mexico City to grow the ecosystem.
Campus Expert Teresa Luz Miller held Field Day NYC at the offices of Major League Hacking (dubbed “MLHQ”) in Manhattan.
The NYC Field Day started with a kickoff icebreaker activity called “A Cold Wind Blows”, which is a sort of musical chairs game to help people get to know each other. The organizer structured the unconference by asking every attendee to make three post-it notes of what they needed help with—an idea she learned from Maintainerati, the unconference for open source maintainers—and then clustered related ideas together into a schedule. Each small breakout group appointed a facilitator to capture the conversation on the whiteboard, which aided in comprehension and collaboration.
GitHub Field Day has connected students from as far as London and the Midlands in the UK to Mexico City. We would love for you to join us at the next Field Day near you!