Developers on the world stage—global commitments on building an internet of trust

The Internet of Trust: Internet Governance Forum

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.

Collective action on cybersecurity

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.

Open source as a model for community 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:

  • Be clear about the rules governing behavior and content
  • Make sure those rules reflect the community’s norms
  • Moderate respectfully and effectively using appropriate tools
  • Establish penalties for violations, and enforce them

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.

The State of the Octoverse: top programming languages of 2018

Top programming languages on GitHub

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.

Top programming languages by repositories created, 2008-2018

Top repositories, year over year, by number of repositories created

Today, there are more repositories created in JavaScript than in any other language. Repositories created have been rising steadily for the last decade—and you’ll see a steady uptick after 2011. At this point, GitHub was approaching nearly 1 million repositories total, and new JavaScript servers like Node.js (launched in 2009) were making it possible for developers to use the same code for the client and the server.

Top programming languages by contributor as of September 30, 2018

Top programming languages by contributor

JavaScript also tops our list for the language with the most contributors in public and private repositories. This is true for organizations of all sizes in every region of the world. However, we’ve also seen the rise of new languages on GitHub. TypeScript entered the top 10 programming languages for public, private, and open source repositories across all regions last year. And projects like DefinitelyTyped help people use common JavaScript libraries with TypeScript, encouraging its adoption.

We’ve also seen some languages decline in popularity. Ruby has dropped in rankings over the last few years. While the number of contributors coding in Ruby is still on the rise, other languages like JavaScript and Python have grown faster. New projects are less likely to be written in Ruby, especially projects owned by individual users or small organizations, and much more likely to be written in JavaScript, Java, or Python.

Languages ranked by continent and number of contributor

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.

Fastest growing languages by contributors as of September 30, 2018

Fastest growing languages by contributor

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, too. We’re also seeing trends toward more statically-typed languages focused on thread safety and interoperability: Kotlin, TypeScript, and Rust are growing fast.

So what makes a programming language popular in 2018? Here’s what we think.

Thread safety

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, thread-safe programs.

Interoperability

Part of the reason TypeScript has climbed our rankings is because of its ability to coexist and integrate with JavaScript. Rust and Kotlin are also on the rise, both of which find built-in audiences in JavaScript and Java, respectively. Python’s versatility and interoperability are also impressive; for example, developers can directly call Python APIs from Swift.

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.

Open source

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 at AWS re:Invent

GitHub at AWS

GitHub will be at AWS re:Invent from November 26-30 in Las Vegas, Nevada. We can’t wait to see you there.

GitHub and AWS

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!

Check out our booth

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:

  • Deploy to Lambda with GitHub and Jenkins
  • Your first GitHub Action: Deploying to AWS
  • AWS Security Automation Orchestration (SAO) and GitHub
  • Rise of the Machines: How GitHub Uses Machine Learning to Improve Software Development

Meet with GitHub Engineers

Schedule 1:1 meetings with GitHub Solutions Engineers to ask for advice and get in-depth information on how GitHub works for businesses.

Learn about GitHub Enterprise on AWS

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!

GitHub Desktop 1.5 available today

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.

  • Earlier this year, we launched Desktop 1.2 and 1.3, providing you with the ability to compare branches and get notified when the default branch has updates to pull into your branch.
  • Last month, we released 1.4, providing information about whether or not you’ll encounter conflicts before merging.

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.

Merge conflict resolution

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.

Merge conflict resolution in action

Listening to our users

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.

Celebrating our open source contributors

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.

Happy second birthday to Code.gov

Happy birthday, Code.gov!

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.”

Government and open source

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.

How the government community uses GitHub

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.

Top 10 projects by stars

Ranking Project #
1 nasa/openmct 5282
2 USArmyResearchLab/Dshell 5098
3 scipy/scipy 5079
4 nasa/NASA-3D-Resources 1422
5 GSA/data 1353
6 GSA/data.gov 1278
7 Code-dot-mil/code.mil 1229
8 openscenegraph/OpenSceneGraph 1177
9 WhiteHouse/petitions 1777
10 NREL/api-umbrella 1172

Top 10 projects by forks

Ranking Project #
1 scipy/scipy 2556
2 USArmyResearchLab/Dshell 1164
3 openscenegraph/OpenSceneGraph 720
4 nasa/openmct 585
5 spack/spack 539
6 lammps/lammps 534
7 idaholab/moose 460
8 WhiteHouse/petitions 373
9 GSA/data.gov 356
10 materialsproject/pymatgen 309

Top 10 projects by watchers

Ranking Project #
1 USArmyResearchLab/Dshell 673
2 scipy/scipy 312
3 GSA/data.gov 251
4 nasa/openmct 233
5 nasa/NASA-3D-Resources 220
6 WhiteHouse/petitions 214
7 openscenegraph/OpenSceneGraph 201
8 18F/api-standards 173
9 nsacyber/Windows-Secure-Host-Baseline 172
10 Code-dot-mil/code.mil 169

Top 10 projects by contributors

Ranking Project #
1 scipy/scipy 669
2 trilinos/Trilinos 197
3 SchedMD/slurm 162
4 18F/18f.gsa.gov 139
5 Kitware/ParaView 136
6 GSA/wordpress-seo 119
7 department-of-veterans-affairs/vets-website 116
8 idaholab/moose 114
9 materialsproject/pymatgen 113
10 petsc/petsc 113

And more

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:

  • From the Environmental Protection Agency, WNTR (pronounced “winter”) is a Python package designed to simulate and analyze resilience of water distribution networks.
  • The Department of Transportation’s ITS ODE offers real-time data to a network of vehicles, infrastructure, and traffic management centers, providing logistics to subscribing transportation management applications and other similar devices.
  • Then there is Walkoff, from the National Security Agency, enabling security teams to automate and integrate apps, workflows, and analytics tools.

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.

Want to learn more about Code.gov? Follow them on Medium and Twitter. You can also see what else GitHub is doing to help governments across the country and around the world.

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.

Newer

Changelog

Subscribe

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more