Microsoft buys GitHub

gitnew desktop

By far the dominant story from this week in the software development world involves Microsoft’s buyout of the source control giants, GitHub. In fact, we just talked about GitHub’s positive impact on the application engineering process in May’s news digest. Of course, this news spawned a lot of discussion and controversy within the developer community.

Let’s take a closer look at Microsoft’s purchase of GitHub with an eye on the reasons behind the acquisition as well as what it means for your app engineering shop. Is a new era in software development now upon us? Will it change how your team manages its source code?

The Details behind the Microsoft/GitHub Purchase

Microsoft buying GitHub isn’t just another example of Redmond crushing a competitor. Burning venture capital at a high rate over the past few years made GitHub a ripe target for acquisition. The giants in the industry, namely Amazon, Google, and Microsoft, all considered a purchase of the code-sharing organization.

According to an article in CNBC, GitHub preferred Microsoft due to the relationship between their founder, Chris Wanstrath, and Redmond CEO, Satya Nadella. Paying $7.5 billion meant MS paid nearly 25 times GitHub’s revenue, to use a stock analyst metric. Microsoft gains the benefit of a popular Cloud-based service for its Azure offering; part of its strategy to compete with Amazon AWS in the industry.

GitHub also pairs nicely with LinkedIn in the Redmond portfolio. It gives Microsoft access to a large number of software engineering and general technology professionals. The expectation is for GitHub to continue to operate in a largely independent fashion with the exception of a migration to Azure.   

Is this the End of the Open Source GitHub?

As we discussed last week, GitHub provides a great example of the positive influence of open source on the software development world. Back in the Steve Ballmer era, Microsoft earned a reputation as an enemy of open source software. “Linux is a cancer that attaches itself in an intellectual property sense to everything it touches,” said the MS CEO back in 2001.

Much of the gnashing and trashing in the developer community about a Microsoft-owned GitHub is a reflection of Redmond at the turn of the century. The Nadella-led company, on the other hand, is more of a champion of open source. The Visual Studio Code and .NET Core initiatives are examples of this new progressive attitude at Microsoft.

One of Nadella’s strategic goals involves fostering a developer-centric focus, or even emphasizing the one that already existed at Microsoft. GitHub fits perfectly with these plans. In fact, Microsoft closing its own competitor to the service – Codeplex – last year hinted at this week’s purchase. The added benefit of boosting Azure’s chances against AWS in the Cloud wars likely clinched their purchase decision.

Ultimately, when compared to Google or Amazon, Microsoft is arguably the better choice for GitHub. This especially rings true considering the company’s developer focus, as well as the embracing of open source under Satya Nadella. Nonetheless, every development shop currently using the source code service needs to consider whether staying makes sense for the long term.

Thanks for reading this edition of the Betica Blog. Stay tuned for additional dispatches from the never boring world of software development.

News from the World of Software Development – May 2018

git desktopp

Welcome to the May edition of the software development news digest here at the Betica Blog. We regularly take a look at some interesting stories influencing the application engineering world. Hopefully, they provide a measure of insight to help your own coding projects.

If you are interested in checking out last month’s digest, simply click on the following link. We cover an AI routine that knows how to code. As always, thanks for reading!

GitHub imagining the Future of Collaborative Software Development

The ubiquitous source code repository giant, GitHub, naturally lies at the center of most software development shops’ workflow. This gives the organization a unique ability to influence the overall engineering process across the industry. Collaborative development is one such natural area given the organization’s distributed source control system. An article about GitHub’s importance appeared this week at The Next Web.

A collaborative spirit existed at GitHub from the beginning. The company released a public API for its source control application soon after going live. The software teams behind Ruby on Rails and Bitcoin leveraged it for source control as well as an example of the power of team development.

Ultimately, these two facts highlight the reason the open source movement is so influential throughout the tech industry. Since GitHub is essentially the standard for source code control, it played a large role in transitioning coding from a solitary task to something more social and interactive.  Aaron Upright noted as much in his article for The Next Web.

“Contrasted with alternatives like GitLab and BitBucket, GitHub has taken a best-of-breed approach. It’s essentially created a platform from which it’s possible integrate the products and tools that are better than what it feels it can create. It’s not building chat tools or CI functionality or project management on its own; instead, it makes it easy to integrate Slack, or Circle CI, or whatever else you might want,” commented Upright.

In short, GitHub makes it easy to collaborate when coding; setting an example for – as well as influencing – the rest of the industry.

Oracle finally to remove Java Serialization Security Hole

Serialization is one of the most important functions in software development, allowing data objects to be easily distributed as byte streams. Unfortunately, Java’s serialization routines, in place for decades, create a security hole easily exploited by nefarious agents. Oracle recently announced they plan to remove serialization from future versions of Java. News about the change appeared this week in InfoWorld.

The company plans on an approach allowing developers to use their own serialization engine. It interacts with a small framework included in a future version of the “platform once records” – Java’s nomenclature for data classes. It is expected to support JSON and XML as well as other formats.

Oracle feels they made a massive mistake with the current version of serialization implemented in 1997. They noted that nearly one-half of all Java security vulnerabilities are because of this engine. The company recently added a way to filter the classes being serialized as one way to mitigate the risk before the new serialization framework gets introduced.

Oracle provided no information on which upcoming version of Java is slated to include the reengineered serialization framework. Stay tuned!

That’s it for this month’s news digest. Keep coming back for additional software development insights from the Betica Blog.   

A Source Code Search Engine makes Programming more Efficient

No matter your experience level as a software engineer, being able to quickly find code examples helps make your job a bit easier. Most developers know how to write a complex Google search query, as well as being able to navigate GitHub. Nonetheless, having a dedicated source code search engine offers the potential to become more efficient at writing software.

A nascent software developer feels the same way, and is working on a search engine dedicated to finding those valuable code snippets that inspire a solution to a pressing problem. This approach also offers the potential to make learning new languages an easier process. Let’s take a closer look at his efforts.

Learning New Programming and discovering New Functionality

After being exposed to software engineering as part of his college education, Canadian developer, Anthony Nguyen felt there had to be a better way to find relevant code examples. Sure, a Google search helps somewhat, but what about a dedicated search engine specifically for source code? Nguyen began work on SyntaxDB, a tool he hopes to someday be an essential part of any developer’s toolbox.

Michael Byrne first reported on Nguyen’s efforts earlier this year at Motherboard on Vice.com. If Nguyen makes SyntaxDB a success, it becomes another key to making the modern software development team work more efficiently. Interested developers are able to use this emerging resource today.

Byrne notes the tool’s utility for seeing how a common code pattern or piece of functionality gets written in an unfamiliar language. Considering the rapid rate of change in the software development world, new languages and functional libraries get introduced regularly. Having SyntaxDB at the ready helps to speed up the learning process for any programmer.

The Developer Community helping SyntaxDB build its Content

One current weakness noted by Byrne involves SyntaxDB’s relative lack of reference documentation. At the time of his article, it appeared Nguyen himself produced a lot of the internal content returned in the search results.

A robust community of developers willing to help add material to the SyntaxDB database has come to the rescue; potentially increasing the amount of content referenced by the search engine. It currently provides references to many popular languages, including Java, C, C++, C#, Ruby, Go, Swift, Python, and JavaScript.

Adding extensions to allow SyntaxDB to work within the most popular IDE’s is another way Nguyen needs support. He built one for Visual Studio Code and other contributor wrote one for Atom. Nguyen hopes to eventually integrate SyntaxDB into every major IDE and source code editor – a worthy goal, indeed.

Nguyen also wants input from other developers on how to refine the search engine’s interface. He also encourages developers to submit any corrections to the tool’s current source code examples. His current major project with SyntaxDB involves building an interface to easily allow content contributions from other software engineers.

With a goal of becoming the fastest programming reference in the world, Anthony Nguyen gives hope to developers struggling to learn a new programming language or simply how to do something new. Take some time to use SyntaxDB and offer feedback and even add some content of your own.

Stay tuned to the Betica Blog for further insights on the growing software development world. As always – thanks for reading!