Open Source
In this lesson, you'll learn why Azure Data Studio being open source is a big deal.
The confusion
I have gotten many strange looks after mentioning “Open Source” and “Microsoft” within the same sentence. Even people not overly tech-savvy may elicit a similar response, which speaks volumes of Microsoft’s history and reputation. This can also be reflected in many of their non-negotiable and generally incomprehensible licensing agreements. Yet, if you are looking for a common theme in the lessons to follow, Open Source is exactly what you will find with this new product from Microsoft.
Even better, Open Source is only the beginning when it comes to Azure Data Studio (ADS), which includes both Cross-Platform and Multi-Database capabilities. This is clearly not the Microsoft from earlier years, including the era of Steve Ballmer, who once referred to the free software Linux Kernel as “communism”. (Full disclosure: Mr. Ballmer does have a new and fresh perspective on the open source topic today).
What Open Source means for this new breed of Microsoft software
Azure Data Studio provides for a happy convergence of free, powerful, and open source. In today’s world of software, free and powerful can be a winning combination, as demonstrated with popular desktop products such as Notepad++ and web-based applications like Gmail. Adding open source to a product is even a greater win and has the potential to shift an entire software market.
A card more commonly played by a market newcomer, Microsoft’s open source strategy is a surprising and encouraging development. After all, creative software developers worldwide desire to make their mark, which is exponentially more difficult in a strategically closed environment, clouded with draconian licensing restrictions. By going open source, Microsoft has essentially sided with individuals and smaller development shops, providing a path for first-class extensions to be integrated into their widely available products.
Interestingly, the world of open source is a two-way street. Not only do Developers gain a new avenue for productive and creative expression, but Microsoft, now the world’s top open-source contributor, is rewarded by many new and off the payroll programmers. Independent developers all over the world can now contribute to Microsoft’s open-source products directly on GitHub. This places their code just one pull request away from potentially improving a core Microsoft product.
A perspective on open source
Open source is a bit like receiving a free video camera along with step-by-step instructions on how it was built. Not only can you use the camera to make the next video sensation, but you could alter the camera to add a custom telephoto lens, extended battery, or perhaps a motion detector. While functional changes are admittedly much more difficult than simply using the camera, the key here is the potential to improve. This engineering transparency adds a layer of technical scrutiny to the manufacturer and leads to broader, not to mention more cost competitive, aftermarket products.
This is the new world of Microsoft open source. Even though you may never want, need, or have time to plow through the ADS source code to make a change, the mere fact that you can is critically important for the product and its forward potential.
Microsoft’s licensing for Azure Data Studio is also a departure from the past. Today, it consists of just two paragraphs. The text has very liberal license terms for ADS, granting even sublicensing rights when you are using ADS with your affiliates and/or vendors, while they are performing work on your behalf.
Extend and enhance ADS
You can extend and enhance ADS in a surprising number of ways. This is enabled both by open source and the actual ADS product architecture. Options range from:
- Easily accessible code snippets for SQL and other languages
- Dashboard widgets, including the popular SandDance visualization
- Highly versatile Juypter Notebooks
- Integrated Terminal Window command-line options
- Customizable keyboard shortcuts
- Product extensions (authored by Microsoft, third parties, or even you!)
A couple of notable extensions include PostgreSQL from Microsoft and SQL Server Schema Compare from Redgate. We will cover these and more in this course, but it is worth noting that extensions will likely catapult Azure Data Studio into the must- have category for your desktop. Unlike traditional add-ins, extensions are developed on the identical platform (Electron shell and Node.js) as ADS. This is because ADS and its extensions come from the same mothership: VS Code. Interestingly, even VS Code shares a similar development platform and is, itself, open source, and fully extensible.
Contribute to ADS
Anyone with enough time, skill, and determination could develop an official fix or enhancement to Azure Data Studio. This would be done to either add capabilities used internally for your organization or developed and submitted to Microsoft as an official product improvement available to everyone. In the case of internal use, the ADS license allows you to change, distribute, and sublicense your custom version of ADS, albeit to a limited audience.
Alternatively, to allow Microsoft to incorporate your changes into ADS proper, you only need to create a GitHub Pull Request on the official ADS site. ADS GitHub Site and Microsoft will review and potentially incorporate your code submission into the next release of ADS. Another option is to use GitHub to create an issue if you simply discover a bug or have a suggestion for improvement. For those interested in participating in this way, Microsoft has a page on their site called: Contributing to ADS that provides guidelines for interacting with the “Issues” section on GitHub.