Join us on December 1, for Major League Hacking’s (MLH) 5th annual Local Hack Day, a global hackathon and celebration of learning, building, and sharing. With more than 200 locations around the world, this is the perfect excuse for you to gather with your local tech community or join a new one.
Hackathons are learning-focused invention marathons where participants dream up fun, interesting projects and work in small teams to bring them to life during the event. Your project could be anything from a website to a mobile app to a robot…and beyond! When you’re not working on your project there are also plenty of other things to do attend educational workshops, make friends, or share what you’re learning.
You don’t need to be an expert to participate in Local Hack Day, either. All experience levels are welcome, regardless of whether you’re a first-timer who is learning to code or you attend hackathons regularly. All you need to do is find a location near you from the Local Hack Day website and register.
Everyone who attends a Local Hack Day gets access to the GitHub Education Pack, which has tons of free developer tools to help you build an awesome project (along with lots of GitHub swag). Some of the locations will even have a GitHub Campus Expert available to help mentor participants.
This is MLH’s 5th year organizing Local Hack Day, and GitHub is proud to be hosting the event for the 3rd year in a row. In 2017, the event brought out more than 6,000 participants across 34 countries and 236 cities around the world. This year’s event is shaping up to be the biggest one yet.
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, too. 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.