As always the GitHub universe conference gave a great insight into what is new, and what we can expect to come from the world's largest coding community. 2021 was no exception. There were many interesting expected and unexpected announcements, demonstrations and workshops. But if you were not able to attend, then worry not, below you find a summary and with some commentary of the 2021 GitHub universe.
Where GitHub is heading
From the Universe conference, we can get an idea into the direction GitHub is moving, and I must admit, it sounds exciting. GitHub is moving focus away from the social coding platform it is predominantly today and towards an all-included developer and organization environment in the cloud. With new features like CodeSpaces, a complete security dashboard and the beginnings of a full-featured product management suite, GitHub is building your organization’s complete needs with code at the center of everything.
Why is this so exciting? Well, currently when we look at how we build a product, we start with the code, we clone it from the cloud git repository, it gets copied onto multiple different machines and servers, we plug in different tools all of which need access and the code itself gets passed between all these different services. Not only is this not efficient, but we are also dealing with multiple different environments and adding multiple different variables making compatibility errors inevitable. We all have no visibility to where our code ultimately sprawls too, adding intellectual property and security concerns. Now with GitHub, you can get the first glimpse at an organization where code is central and all the services form around it. Everything is hosted in the cloud which eliminates compatibility issues, giving administrators ultimate control and allowing the code to stay in a single place. While GitHub is not there yet, we can see that this is certainly the direction it is taking.
What is New
Now that we have looked at the overall direction of GitHub, let’s take a quick look at exactly what is new.
CodeSpaces were first introduced last year and it continues to grow. This is your development environment in the cloud and while right now it is mostly a cloud-hosted, browser-compatible version of VS code, GitHub is making significant improvements to make this an environment your developers never have to leave.
With CodeSpaces you can now create a preconfigured environment specific to your organization: everything is managed with a single the devcontainer.json file.
In addition to this, we can also customize our own work environment to fit exact needs, meaning we never need to leave GitHub (eventually).
If you are not a VS code user, GitHub has now integrated the GitHub CLI into CodeSpaces so anyone wanting to use other editors can manage their code spaces including direct SSH access.
Crucially, it no longer matters what machine your developers use, they connect to a machine with 32 cores and 64 gigs of ram! This not only makes setting up and coding much easier, but it also gives everyone the same environment to work in!
CodeSpaces are available for teams and organizations right now.
GitHub Copilot was introduced earlier this year, and was met with some controversy. But we can see there has been some pretty big developments from this. Copilot is an AI backed product that suggests code in real time based on the code you are writing. In other words it’s an intelligent Stack Overflow within your text editor.
“Since starting 30% of all code written by early adopters come from copilot suggestions” Brian Douglas Developer Advocate
While Copilot is still limited to VS Code, they did announce new and upcoming integrations including IntelliJ and JetBrains. This product is still in beta with no immediate announcements with when it will be released to the wild.
GitHub issues started as a way for developers to put forward issues within open-source projects. Now you can see it is maturing into a full featured product management suite. Although I do not think it is there yet, it is certainly starting to compete with the likes of Jira and Asana with the advantage that again, it forms around your organization's code.
As it had worked before, you start with an idea, create a task list and convert these into issues to track.
But now, some exciting new developments with issues allow you to break down bigger bodies of work with GitHub projects.
“We have improved projects to give you a live canvas to filter sort group issues and pull requests”
Taking a tour in the conference of how this works we can see it starts with a spreadsheet-like environment where you can list tasks and convert these to issues similar to task lists.
But as work goes on you can create new views of these tasks. Including grouping them or viewing them in a visual canvas.
If you have ever used Trello, Jira or Asana, this will begin to look very familiar!
This new version of GitHub Issues enables you to create your tasks directly in GitHub meaning that you no longer even need to leave your coding environment and you can create much more functional workflows. While it lacks some of the features compared to its suspiciously similar competitors, it does have the potential to really increase the speed and productivity of GitHub users. It is also now available to everyone!
While GitHub has always been in their own race when it comes to its social and open-source coding platforms, they have put a huge amount of effort into the enterprise market. Enterprise server 3.2 has now been released with over 70 new features. GitHub is building out this product to position themselves as an organization's one-stop product with security, management administration and coding products rolled into one massive solution. While this is much easier to deal with for software procurement, currently its features still fall short of what a multi-vendor approach can achieve, but we see an impressive speed of development in this conference which is undoubtedly due to the focus GitHub is putting on this new business strategy.
The new workflow visualizer gives the ability to target jobs to environments and you can now deploy to staging and then production in one workflow.
Enterprise 3.2 has also added some much-needed secrets management updates.
“Administrators can manage secrets directly from within GitHub environments so your dev teams can deploy changes quickly without needing access to production secrets” Maya Ross Senior Director
GitHub last year started to release some important security features including the ability to scan for secrets.
“Leaked credentials are one of the most commonly exploited application security risks” Maya Ross Senior Director
While currently the number of secrets discoverable with this tool is limited, they have added a new feature where you can create your own secret parameters using custom patterns. Even if this takes a lot of work and adds to the administrator, it is an important feature as the currently supported patterns are limited. It also doesn’t allow the ability to scan for generic secrets, limiting its capability to just pre and post-fixed secrets.
GitHub has also now added severity levels and search tools to make it easier to focus on the most important vulnerabilities to your team, with the recent addition of Ruby to supported languages.
But more important than these individual security improvements, the security dashboard shows GitHub's true ambition to be the one-stop shop for security with the ability to get a total overview of your company's security risk in one view.
Even though GitHub’s base is that of a social and community coding platform, there is a huge focus on enterprises this year. That being said, there are still some improvements that have been made on the community side, although compared to the groundbreaking projects they are working on, these are mostly a lot of cool, but minor improvements.
“On their own these things can seem small, but when you add them up they can make a big difference” Nat Friedman CEO
Maintainers can now keep their spaces organized with discussion labels, for instance, you can add labels for, topic, status and which release the decisions falls under.
Read and Unread comments
When you are following the form thread it can be hard to follow what comments you have and haven’t read yet. But with the new discussions, you can skip ahead to comments you haven't read.
GitHub also announced that later in the year they will add in discussion polls so they can aggregate feedback from the community which will certainly be a cool feature to keep in touch with the community and make decisions on which direction to go.
Github is certainly giving us an insight into their world domination plan and I for one are excited about it. There is a clear focus shift away from their thriving community and more into enterprise features and shifting from a fragmented developer and organization environment to a centralized single cloud-based service-centered from code that embraces development, management and security. This has been the focus of nearly all improvements since the last Universe.
“20,000 product improvements since the last GitHub universe” Thomas Dohmke - Chief product officer.
Prediction for 2022
To finish this article, I am going to give a totally speculative prediction on what we can expect in the coming years.
GitHub have really put their focus on making the process from code to deployment not only easier but also completely internal to GitHub. Of course, we can see that GitHub is now competing with direct features to that of competitors GitLab and Atlassian, I can also see some competition with AWS, such as AWS secrets manager. If GitHub’s goal is to create a one-stop shop for shipping software, how long until you can host your application with them too? This is why I think in the coming year we will start to hear rumors of an AWS, GCP competitive offering from GitHub that will no doubt be done in line with Azure as they are both Microsoft owned. This will allow all teams to stay completely within the GitHub environment. I guess we just need to wait for the next Universe to see if this is true.