GitHub represented developers at two events during Paris Digital Week: the Paris Peace Forum, coinciding with the 100th anniversary of the World War I Armistice, and the United Nations Internet Governance Forum (IGF), themed the “Internet of Trust.”
As part of our work there, we committed to a cybersecurity initiative and spoke about open source projects as a model for community governance. Developers have the most to gain from building an internet of trust—and the most to contribute.
On November 12, GitHub joined 370 governments, businesses, and civil society groups in the Paris Call for Trust and Security in Cyberspace—a commitment to support principles and norms to protect people and critical infrastructure.
We joined this effort recognizing that cyberspace is built by developers, and it’s susceptible to attacks in ways that developers can help prevent, anticipate, or combat. Coordinated efforts to protect people and the digital infrastructure they rely on from systemic or indiscriminate cyberattacks certainly benefit developers, who are on the front lines of these attacks. Developers can help by prioritizing security and resilience in their projects. This is not solely a technical task—cooperation is required, and to sustain cooperation, governance.
When he launched the Paris Call at the IGF on November 12, French President Emmanuel Macron spoke about a range of other internet-related topics, including content moderation. This is another area where open source project maintainers can help—by showing how community-run projects can be effective to create welcoming, inclusive, safe spaces for online collaboration.
GitHub strongly champions community self-management because communities can have the ability to be constructive and nuanced—contributing to rebuilding trust online, and lessening the need for other layers of regulation, from companies enforcing their Terms of Service to action by government regulators.
We presented on open source projects at IGF in a session on community governance. Open source communities are built on shared goals and objectives (like building software). Open source maintainers also share goals with the platforms they collaborate on: promoting positive participation and fending off abuse. We emphasized best practices:
We described resources, such as Open Source Guides, that GitHub provides for maintainers seeking ideas on how to write a Code of Conduct, build welcoming communities, and resolve conflicts. Participants were interested to hear about how open source projects work. Several left the discussion expressly recognizing how community moderation practices in open source could be used in other contexts.
We want to give a big thanks to Wikimedia for organizing and moderating the session, and to Collaboration on International ICT Policy for East and Southern Africa (CIPESA), Mozilla, and the United Nations Educational, Scientific, and Cultural Organisation (UNESCO) who joined GitHub as speakers.
We are also thankful to our community. We’re happy to see governments join companies in committing to peace, security, and trust on the internet. This couldn’t happen without you! Developers are central to making these commitments a reality: as programmers creating secure code, as leaders creating inclusive communities, and as citizens creating technically informed policy.
This article is part of a series based on our 2018 State of the Octoverse report—trends and insights into GitHub activity, the open source community, and more from the GitHub Data Science Team.
At the core of every technology on GitHub is a programming language. In this year’s Octoverse report, we published a brief analysis of which ones were best represented or trending on GitHub. In this post, we’ll take a deeper dive into why—and where—top programming languages are popular.
There are dozens of ways to measure the popularity of a programming language. In our report, we used the number of unique contributors to public and private repositories tagged with the appropriate primary language. We also used the number of repositories created and tagged with the appropriate primary language.
In the last 12 months, we haven’t seen much variation in language usage across regions. However, TypeScript is higher ranked in South America and Africa than in North America and Europe. This might be because developer communities in Africa and South America are relatively newer. The repositories that were contributed to in Africa and South America in the last year are, on average, younger than repositories in North America and Europe. And perhaps this means they’re more likely to focus on newer developer technologies.
PowerShell, used in many projects owned by larger companies, is climbing our list. Similarly, Go, which has been on our lists for larger organizations, continues to grow across repository type: it’s #9 this year for open source repositories (and #7 overall). We’re also seeing trends toward more statically-typed languages focused on type safety and interoperability: Kotlin, TypeScript, and Rust are growing fast.
So what makes a programming language popular in 2018? Here’s what we think.
With the exception of Python, we’ve seen a rise in static typing, likely because of the security and efficiency it offers individual developers and teams working on larger applications. TypeScript’s optional static typing adds an element of safety, and Kotlin, in particular, offers greater interactivity, all while creating trustworthy, type-safe programs.
Interoperability doesn’t only imply that languages have a pre-existing community to use and build on them. It also means that they can transcend and intermingle with different communities. For example, Kotlin was acknowledged as a first-class citizen on the Android platform last year.
And, of course, these languages are also open source projects, actively maintained on GitHub. Communities that evolve, answer questions, and create resources for newer languages like Kotlin can help developers start and continue working with them in 2018 and beyond.
Are you as excited about data as we are? Check out other posts from our State of the Octoverse series on trending regions and repositories. Or tune into the GitHub Blog for more insights from our Data Science Team.
GitHub will be at AWS re:Invent from November 26-30 in Las Vegas, Nevada. We can’t wait to see you there.
GitHub works alongside AWS, so your team can collaborate quickly and securely with the tools they already use. With GitHub and AWS, you can integrate existing workflows and save time to focus on what’s important: your code. At AWS re:Invent, we’re hosting events throughout the week to help you learn how GitHub and AWS work together. Join us to see what’s new!
Find us at booth #807 near the entrance of the Expo at the Venetian. Be sure to save your seat and stop by for one of several booth sessions, including:
In a featured session, Cox Automotive will share their experience running GitHub Enterprise on AWS. They’ll discuss their GitHub Enterprise environment and share how they’ve improved their processes for managing GitHub Enterprise on AWS with Terraform.
To attend this session, join us on Monday, November 26 at 4:45 pm PT at the Venetian, Level 2, Titian 2205-T2. Look for session ENT356-S in the event catalog to register.
For more details about the event follow @GitHub and tag us with #reinvent. We hope to see you in Las Vegas!
Since launching the new GitHub Desktop in 2017, we’ve focused on improving collaboration in the app, laying the foundation how you can work with Desktop today.
Today, we’re releasing GitHub Desktop 1.5, representing a culmination of the work we’ve been doing this past year. This release completes the merge collaboration cycle by providing a way to initiate a merge in the branch dropdown, guiding you through resolving merge conflicts, and informing you when a merge is complete. It also includes our first step toward improving onboarding onto GitHub Desktop with the option to clone and add new repositories in the repository dropdown.
With today’s GitHub Desktop release, you can merge with confidence knowing that even if conflicts occur, we’ll help you through it so you can keep shipping. Merge conflicts can be intimidating for new developers, especially those working in teams. In our usability tests, the audible “NOOOOO” when encountering a conflict became predictable.
In our previous release, we reduced some of that anxiety by informing you whether or not you would encounter merge conflicts before merging, but you still needed to actually resolve the conflicts on your own. With more than 10 percent of all merges in the app resulting in merge conflicts, we knew we could do better. And with GitHub Desktop 1.5, you’re no longer on your own. The app will now inform you which files have conflicts, route you to your preferred editor to resolve them, list the conflicts that you still need to address, and show you when everything is resolved and ready to merge.
As we’ve released features related to merging over the past several months, we’ve also had an opportunity to listen to lots of users. We care about your feedback, and this release incorporates several changes based on what we’ve learned from you. With GitHub Desktop 1.5, you can now initiate a merge from the branch dropdown, and you’ll receive feedback in the app to let you know when a merge is completed successfully.
We’ve also seen that the core function of adding a repository to Desktop has been difficult to find and use. We solved this by adding a simple way to create, add, or clone a repository right from the repository dropdown.
These changes are subtle, but together they represent our commitment to listen and learn from people using Desktop every day. We conduct user interviews and usability testing on a regular basis—if you’d like to participate and help make Desktop even more useful, please sign up.
Finally, we want to call out that this release is the first time we’ve shipped a feature iteration built almost entirely by community contributors outside of GitHub. The improved merge flow was a combined effort from @JQuinnie and @bruncun, and there were more than 30 merged pull requests from the community since our last release.
We continue to be blown away by the community that has grown around GitHub Desktop as an open source product. There were more community pull requests merged in September and October than in any previous months, and there’s no sign of slowing down. We’re grateful for the community’s participation in improving GitHub Desktop, and if you feel inspired to build something awesome together, we’d love to see you in our open source repository.
As we celebrate Code.gov’s second birthday, it seems like just yesterday Alvand Salehi was introducing Code.gov from the main stage at GitHub Universe. But now two years and over 5,200 projects later, Code.gov (and the Federal Source Code policy that created it) are starting to hit their stride. I wanted to take this opportunity to highlight some of the exciting government projects currently on GitHub, and dive into the data around how the government community uses GitHub to collaborate. Like the Code.gov team says, “[we] believe in innovation, and are passionate in making these open source projects all available to you.”
Out of the 4,800 publicly accessible government projects on Code.gov, more than 3,600 (or 75 percent) are hosted on GitHub.com. This makes sense, as the majority of the world’s open source already on GitHub. However, it’s also a pretty big deal. Government agencies like NASA and the U.S. Army are using GitHub to share their tools and resources with the greater open source community around the world. Take NASA’s 3D Resources project, for example.
Interested in textures, models, and images from NASA itself? The NASA-3D-Resources repository has it all, including pictures of earth from the Apollo missions and models of the satellite used in the Clementine mission.
You can’t 3D print your own Mars rover—yet. But with contributors like the NASA Jet Propulsion Laboratory and NASA Goddard Space Flight Center, “yet” may definitely be the operative word.
Another exciting government project is ZFS, a file system released by the Department of Energy that runs specifically on Linux. This open source project has not only been embraced by other agencies, but has been adopted by private companies as part of their day-to-day operations.
Notable adopters of ZFS on Linux include GE Healthcare Systems, Intel, and Netflix. As for the Lawrence Livermore National Laboratory (LLNL)—the research facility answering to the Department of Energy and those behind this OSS—they continue to utilize ZFS, and continue to develop and improve the platform. LLNL is working closely with Intel to use a variation of ZFS-ZFS+Lustre—to manage the first planned U.S. exascale system, Aurora. Aurora is capable of a billion-billion calculations per second. (Yes, a billion-billion.) Aurora is slated for 2021 at Argonne National Lab.
Aside from how the government is sharing projects, we also took a look at the numbers to find out how the community is using GitHub to collaborate on these projects.
Our top 10 findings are just a few examples of how government projects use GitHub. Looking deeper into the data can tell us even more about how they contribute to the entire open source community. With thousands on thousands of commits, many have sparked the attention of both the public and private sector:
This is what Code.gov is all about. All of the government projects we’ve mentioned in this post are designated as open source. That means that you can access a repo, test, debug, submit pull requests, or download your own copy and adapt it for your own use.
As the Code.gov team has shared with us, they believe in innovation and providing everyone the opportunity to perform a civic duty on a digital platform. They’re passionate about making these open source government projects available for all. This spirit is embodied in their hashtag, seen often on their Twitter account: #CodeOn. The invitation to reach out to them on Twitter or LinkedIn is always open, and we highly encourage you to do so.
Open source helps people create new and exciting things every day—including the code we used to collect data for this post. Check it out here.