Nat Friedman, chief executive officer, took to the stage to deliver the announcements while Thomas Dohmke, chief product officer, spoke with iTWire to provide greater detail on what the announcements mean, practically, for developers worldwide.
"GitHub puts the developer at the centre of everything we do,” Dohmke said. “Our focus every day is to incorporate our work into the life of software developers including students and professionals.”
GitHub now has a staggering 73 million developers on its platform. If GitHub were a country it would be the 20th largest in the world, below Germany and above Thailand. Thus when GitHub makes a change - saving a button click, shaving milliseconds off an operation, or even rebuilding your whole dev environment overnight - its impact is magnified by millions upon millions of developers performing billions of interactions every single day.
In fact, Dohmke says, GitHub shipped over 20,000 improvements in the course of the last year - continual changes, “paper cuts” as GitHub calls them, which solve small problems or generally make things work better. These are documented in the GitHub changelog.
Then we have this week's major announcements, large innovations to significantly enhance the productivity of developers, increase security, and help teams collaborate.
|
GitHub Copilot
The first big announcement is additional language support for GitHub Copilot. This is GitHub’s AI-powered programming assistant which was trained on the GPT3 Open AI model from open source code available on GitHub, in partnership with Open AI. The source code used to train the model is the same code that was archived in GitHub’s arctic vault, and has been shared with the Internet Archive. Well, not entirely - the source code was cleansed to ensure no obscene behaviours or security issues were included.
Using GitHub Copilot a software developer can begin typing code and the Copilot will pitch in to help connect to a database or encrypt a string, or a plethora of other routine tasks. It figures out what you are doing based on contextual clues, and offers a suggestion which you - as the pilot - can adopt or modify or reject.
In the early technical preview of GitHub Copilot, for some programming languages, about 30% of newly written code is suggested by Copilot. 50% of people who have taken up GitHub Copilot so far are still using it after 90 days. Right now GitHub Copilot has a waitlist but GitHub is draining the waitlist as fast as it can, subject to GPU availability to run the computational models needed to drive the AI.
GitHub Copilot now supports JavaScript, TypeScript, Ruby, Python, and Java. Plug-ins have also been added for JetBrains IntelliJ IDEA and PyCharm and, yes, Neovim too.
Dohmke confirmed GitHub Copilot servers are placed around the world to decrease latency, including servers in the APAC region.
Codespaces
GitHub's next big announcement relates to GitHub Codespaces; this is a container-based development environment that you can spin up as needed. It provides you with a development environment in the cloud that is unrelated to anything on your local machine. You can have multiple GitHub Codespaces with multiple environments and branches. You can try a different compiler or other items and if they don’t work simply throw the Codespace out and revert to your previous version.
It’s an "infinite laptop," GitHub says. It also makes it simple to onboard new team members. GitHub itself has moved 600 developers to GitHub Codespaces and reduced their own onboarding time for a new hire to set up their development environment from 45 minutes down to ten seconds.
Two new features have been announced; GitHub Codespaces now integrates with the GitHub CLI, and you can also SSH into your Codespace and run real commands.
Harvard University has adopted Codespaces for its CS50 Computer Science course. Not only is it faster and easier for students to get up-to-speed, but now they can focus on their course without the complexity of setting up an environment they are not yet familiar with.
GitHub Codespaces are charged based on usage, and the new features have been added without any increase in cost.
GitHub Issues
GitHub has announced GitHub Issues, available to all users and currently in beta (pictured above).
This is a feature designed to keep developers in the flow and follows a simple idea about how we might make notes and sketches on paper while in the moment. We don’t think about custom fields or requirements, we simply dump our thoughts and then tidy them up.
In the same way, GitHub Issues provides a spreadsheet-like interface where you can rapidly type notes or lists, and then add columns like a priority, assigned to, sprint, or whatever, and customise and group.
Dohmke says, "this is as powerful to project management as Kubernetes is in its field.”
GitHub Actions
GitHub's tool to automate workflows and continuous integration and continuous delivery now allow deployments to be approved from mobile apps. Of course, it’s still prudent for your team to send pull requests and review code, but the whole development lifecycle can be managed from a mobile device now.
In fact, Codespaces can themselves be built by GitHub Actions allowing powerful flows such as rebuilding your whole dev environment overnight. With this, and GitHub’s Dependabot for security scanning, your team can start each day with a reliable, secure, up-to-date build.
Further GitHub Actions announcements include OpenID connectivity, reusable workflows - from one repo to another, rescheduling runners via the API, and that the marketplace has now hit 10,000 custom actions.
Additionally, GitHub's code scanning to ensure tokens (or secrets) are not being exposed in public or private repos now includes Ruby support.