Sergey Nivens - Fotolia
Microsoft CEO Satya Nadella has continued his quest to make Microsoft a more open, cross-platform company with the announcement this week that the company will acquire GitHub.
At the time, he claimed Microsoft was the most active organisation on GitHub, with more than two million “commits”, or updates, made to projects. Currently, Microsoft has 1,839 open source code repositories on GitHub, which exceeds its main rivals, such as Google, Facebook and Amazon Web Services (AWS).
Get up to speed with Git and Git integration tools
- See how you would do on these Git and GitHub interview questions
- The five basic Git commands beginners need to master
- Undo a commit and manipulate commit history with this git reset --hard example
- Learn to git revert a commit with the bash shell
- Use the git cherry-pick command across Git branches
- Change the Git editor to Notepad++
- Where the Windows Git configuration files are stored
- Make continuous integration part of your DevOps journey with this Jenkins CI tutorial
The GitHub acquisition harks back to the company’s early success, when founders Bill Gates and Paul Allen developed Microsoft Basic, which became the de facto programming language for early home computers such as the Apple II, with reportedly hundreds of thousands of developers by the early 1980s.
Now, under Nadella’s leadership, Microsoft is embarking on another journey to entice a new breed of developer – those that reside in the open source community.
“More than 28 million developers already collaborate on GitHub, and it is home to more than 85 million code repositories used by people in nearly every country,” said Nadella. “From the largest corporations to the smallest startups, GitHub is the destination for developers to learn, share and work together to create software. It’s a destination for Microsoft too.”
The company has been shifting away from being known only for its Windows developer tools. In 2016, it acquired Xamarin, the company behind Mono, the open source cross-platform .Net library. In a blog post on Xamarin, Scott Guthrie, Microsoft’s executive vice-president, described the tool as “a rich mobile development offering that enables developers to build mobile apps using C# and deliver fully native mobile app experiences to all major devices – including iOS, Android, and Windows”.
Guthrie said Xamarin’s approach enables developers to take advantage of the productivity and power of .Net to build mobile apps, and to use C# to write to the full set of native APIs and mobile capabilities provided by each device platform. “This enables developers to easily share common app code across their iOS, Android and Windows apps while still delivering fully native experiences for each of the platforms,” he added. “Xamarin’s unique solution has fuelled amazing growth for more than four years.”
Microsoft has also been forging ahead with its support for containers via Docker and the ability to run Linux applications natively on Windows 10, thanks to the Windows Subsystem for Linux (WSL). This translates Linux function to native Windows functions, which means Linux applications can run natively on Windows 10.
Gartner research director Thomas Murphy said GitHub gives Microsoft access to the 17 to 30-year-old developer community. GitHub also gives Microsoft a connection to leading open source projects that can be utilised and run on its Azure cloud. “GitHub gives Microsoft the ability to ‘promote’ Azure as a great place to run and to sell Azure services as add-ins,” he said. Such add-ins include integrated security analysis, plus its AI engines and models.
Read more about Microsoft’s open source strategy
- Microsoft sees a need to help developers write code for the so-called intelligent edge. At the Build 2018 conference in Seattle, its CEO, Satya Nadella, presented the company’s cross-platform vision.
- With the Windows subsystem for Linux, Linux system calls are translated into Windows API calls, providing deep integration, including access to the same file system, and the ability to launch Linux executables from Windows.
Murphy said he did not expect Microsoft to rebrand and refocus GitHub. “Xamarin has its own site and presence, runs on its own but is also connected with Visual Studio team and provides services that can be consumed on Azure,” he said. “I think the same happens here – you can run GitHub on Azure, which is a big thing given Microsoft’s global datacentre footprint.
“I believe GitHub will continue as its own site and there will be people that just use it. However, you will see the ability to call Azure services like components of Visual Studio Team Services for testing, build and the rest of the DevOps toolchain.”
Google has 1,290 public code repositories on GitHub, AWS has 148, Facebook has 176, Oracle has 141 and IBM has 146, so the acquisition gives Microsoft a platform used by its main rivals to promote their own projects.
Asked whether Microsoft could push its own repositories over alternative open source projects, Murphy said: “Certainly the breadth of channel that GitHub and Microsoft bring creates a lot of visibility for the projects on GitHub, but part of the magic of open source is that it is like software biology – survival of the fittest – and if your code sucks, it will either evolve via the community or it will die.”
Murphy said the best code is decided by a diverse community of developers, rather than being pushed by marketing money.
It is this scrutiny that is perhaps the biggest risk to Microsoft. Taking ownership of GitHub will help to elevate open source in the enterprise, as the main open source code repository is now owned by a major software provider. Nadella said: “We will accelerate enterprise developers’ use of GitHub, with our direct sales and partner channels and access to Microsoft’s global cloud infrastructure and services.”
As Microsoft pushes GitHub to its traditional enterprise customers, there is a very real chance that those customers will see the breadth and depth of alternative open source technologies, and choose these over the Microsoft software stack.
Learn more about the industry's most popular DevOps tools
If you want to become a DevOps engineer, you'll need to master a variety of DevOps tools. Here are some popular tutorials to get you closer to achieving DevOps mastery:
- A step-by-step Jenkins CI tutorial with examples
- Learn how to install and configure JFrog Artifactory and integrate Artifactory with Jenkins
- Learn how to use the SonarQube Maven plugin to inspect for code quality
- Test your job readiness with these Jenkins and DevOps interview questions
- Some tough, sample GitHub and Git interview questions
- Learn the benefits of continuous integration by working with these popular CI/CD tools