Logo
Section 1 / 2

开源

在本节课中,你将了解为什么 Azure Data Studio 开源是一件重要的事情。

导入

开源

在本节课中,你将了解为什么 Azure Data Studio 开源是一件重要的事情。

误解

Course Image

在提到“开源”和“微软”这两个词时,我常常会收到一些奇怪的目光。即使是一些对技术不太了解的人也会有类似的反应,这充分反映了微软过去的历史与声誉。这一点也体现在他们许多不可协商且普遍难以理解的许可协议中。然而,如果你希望从接下来的课程中找到一个共同的主题,那么答案正是:开源。这是微软推出的这款新产品所具备的核心特质。

更令人振奋的是,开源只是 Azure Data Studio 的起点,它还具备跨平台和多数据库能力。这显然不再是多年前的微软,尤其是史蒂夫·鲍尔默时代——他曾将免费软件 Linux 内核称为“共产主义”。(坦白说:鲍尔默先生如今对开源话题已有了全新的、积极的看法。)

开源对新一代微软软件意味着什么

Azure Data Studio 实现了免费、强大且开源三者的完美融合。在当今的软件世界中,免费与强大本身就是一种极具竞争力的组合,正如 Notepad++ 这类流行桌面工具以及 Gmail 等基于网页的应用所展示的那样。而将开源加入产品,则是更大的胜利,甚至可能彻底改变整个软件市场格局。

这原本是市场新进入者常用的策略,但微软选择开源,无疑是一个令人惊喜且鼓舞人心的发展。毕竟,全球范围内的创意开发者都渴望留下自己的印记,而在一个封闭、充满严苛许可限制的环境中,这种愿望实现起来难上加难。通过转向开源,微软实际上站在了个人开发者和小型开发团队一边,为高质量扩展功能的集成铺平了道路,并使其广泛可用的产品得以持续进化。

有趣的是,开源世界是双向的。不仅开发者获得了全新的创作与表达途径,微软如今作为[全球最大的开源贡献者](https://www.infoworld.com/article/3253948/who-really-contributes-to-open-source.html),也收获了大量来自非雇员程序员的新力量。世界各地的独立开发者现在可以直接在 GitHub 上为微软的开源项目做出贡献。这意味着他们的代码只需一次拉取请求,就有可能成为核心微软产品的一部分。

...

对开源的一种视角

开源有点像你获得了一台免费的摄像机,同时还附带了详细的制作说明。你不仅能用它拍摄下一个爆款视频,还能对摄像机进行改造——比如加装自定义长焦镜头、延长电池续航,甚至增加运动检测功能。虽然功能上的修改远比单纯使用摄像机困难,但关键在于这种改进的可能性。这种工程层面的透明性为制造商带来了更严格的技术审视,也催生出更多样化、更具成本竞争力的第三方衍生产品。

这正是微软开源的新时代。即使你从未想过、不需要或没有时间去深入研究 ADS 的源代码以进行修改,但仅仅知道“你可以这么做”,就已经对产品的未来发展至关重要。

微软对 Azure Data Studio 的许可政策也与过去大相径庭。如今,其许可条款仅由两段文字构成。ADS 的许可证文本极为宽松,允许你在使用 ADS 与关联方或供应商合作时,甚至可以授予次级许可权,只要他们是在为你执行工作。

你现在有能力释放 Azure Data Studio 的潜力
你现在有能力释放 Azure Data Studio 的潜力

扩展与增强 ADS

你可以以多种令人惊讶的方式扩展和增强 ADS。这得益于其开源特性以及实际的产品架构。可选功能包括:

  • 针对 SQL 及其他语言的便捷代码片段
  • 仪表盘小部件,如广受欢迎的 SandDance 可视化组件
  • 功能强大的 Jupyter Notebook 支持
  • 集成的终端窗口命令行选项
  • 可自定义的快捷键设置
  • 产品扩展(由微软、第三方或你自己开发!)

一些值得关注的扩展包括微软官方提供的 PostgreSQL 支持,以及 Redgate 提供的 SQL Server Schema Compare 工具。本课程将详细介绍这些内容,但值得一提的是,这些扩展极有可能让 Azure Data Studio 成为你桌面环境中的必备工具。与传统插件不同,这些扩展运行在与 ADS 完全相同的平台上(Electron 框架和 Node.js),因为 ADS 和它的扩展都源自同一个母体:VS Code。有趣的是,VS Code 本身也采用相似的开发平台,同样是开源且完全可扩展的。

...
VS Code

为 ADS 做贡献

只要有足够的时间、技能和决心,任何人都可以为 Azure Data Studio 开发正式修复或功能增强。你可以为组织内部使用添加新功能,也可以将改进提交给微软,作为面向所有用户的官方产品升级。对于内部使用的情况,ADS 许可证允许你修改、分发并授权你的定制版本 ADS,尽管受众有限。

另一种方式是,如果你想让微软将你的改动纳入正式版 ADS,只需在官方 ADS 项目页面上提交一个 GitHub Pull Request。[ADS GitHub 项目地址](https://github.com/microsoft/azuredatastudio),微软团队将审核并可能将你的代码合并到下一次发布版本中。 此外,如果你发现了一个 bug 或有一个改进建议,也可以通过 GitHub 创建一个 issue。对这类参与者,微软提供了一份专门的指南页面:[参与 ADS 贡献](https://github.com/microsoft/azuredatastudio/blob/master/CONTRIBUTING.md),详细说明如何与 GitHub 的 “Issues” 功能互动。

Course Image

简介

跨平台与多数据库