VSCODE 许可证问题——你应该担心
注:这篇博文纯粹是我对这个话题的一些想法,绝无贬低该产品或其背后的公司的意思。我写这篇博文的唯一目的是分享我的想法,并寻求建设性的反馈和批评。
介绍
我们开发者对 IDE 非常挑剔,这并非没有道理。我们大部分的开发时间都花在 IDE 上,选择合适的 IDE 需要投入大量的精力、爱和心血,而代码编写、测试和运行的便捷性只是 IDE 的诸多优点之一。我们还花费大量时间去了解 IDE 提供的生态系统,以及社区中的其他人为什么使用它。正因如此,VSCode 一直是我过去几年来的首选之一。
首先,它是免费开源的,支持多种编程语言,其次,它拥有一个由社区驱动的插件组成的完整生态系统,这让我的开发者生活变得非常轻松。所以,当我偶然发现一个名为vscodium的项目时,我感到非常惊讶。vscode是一个重新发行的版本,其二进制文件遵循 MIT 许可证。遥测功能被禁用。这让我开始思考,我们知道 vscode 是开源的,那么 VSCode 使用的是哪种开源许可证呢?如果您想查看 VSCode 的许可证,请跳转到此许可证链接。
我对 VSCode 许可证的问题
读完许可证之后,VSCode 似乎不再像我所知的最纯粹的开源形式了。我所知道的开源许可证要么是 GPL,要么是 Apache,要么是 MIT,要么是 BSD。但读完 VSCode 许可证之后,我发现它更像是微软的常规许可证,是微软针对其他专有产品的常规许可证的精简版。因此,对我来说,VSCode 突然看起来更像是一个免费软件,虽然代码是开源的,但并非真正意义上的开源。
这与最近的新闻和公告大相径庭,你听到微软致力于开源,但怀疑论者一直对此表示怀疑。在阅读了许可证之后,我也非常怀疑。虽然很难找到一个真正好的 VSCode 替代品,而且在不久的将来,我可能会出于被迫而不是自愿使用 VSCode,但我绝对不会再推荐 VSCode 作为首选 IDE。
许可证有什么值得担心的
请阅读 VSCode 的 Microsoft 许可证的以下部分。
许可范围。本许可适用于 Visual Studio Code 产品。Visual Studio Code 的源代码可在https://github.com/Microsoft/vscode上根据 MIT 许可协议获取。本软件仅提供许可,而非出售。本协议仅授予您使用该软件的部分权利。Microsoft 保留所有其他权利。除非适用法律赋予您更多权利,否则您只能在本协议明确允许的范围内使用该软件。在此过程中,您必须遵守软件中任何仅允许您以特定方式使用该软件的技术限制。您不得
对软件进行反向工程、反编译或反汇编,或以其他方式试图获取软件的源代码,但仅限于管理软件中可能包含的某些开源组件使用的第三方许可条款所要求的范围;
删除、最小化、阻止或修改软件中微软或其供应商的任何通知;
以任何违法的方式使用该软件;
共享、发布、出租或租赁该软件,或将该软件作为独立产品提供供他人使用。
首先,VSCode 源代码是在 MIT 许可证下发布的,但如果你查看 Visual Studio Code 产品许可证的要点,就会发现它们与它所遵循的 MIT 许可证完全相反。现在让我们来看看MIT 许可证。
MIT License
Copyright (c) 2015 - present Microsoft Corporation
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
因此,如果你仔细琢磨,就会发现虽然源代码是开源代码并且可以自由修改,但构建它的二进制文件并非完全的自由/开源软件 (FOSS)。它有一些限制性条件,我猜想微软作为一家企业软件公司必须遵守这些条件,并且要遵守网络法和美国出口限制。因此,最终使用 VSCode 的用户必须遵守所有微软的许可证限制。这很可能也适用于那些构建了丰富的社区插件集的社区贡献者,正是这些插件让 VSCode 如此具有吸引力。
结论
因此,是时候让所有人都认真思考一下 VSCode 是否真的像 Eclipse 或纯粹由社区拥有和驱动的自由/开源软件 (FOSS) IDE 或编辑器那样开源了。这不仅是 VSCode 的问题,也是许多其他开源“社区”版本专有产品的问题,虽然大多数核心功能是由公司开发的,但与其他公司共同构建的生态系统却受到限制性许可证的威胁。但我对 VSCode 特别不满的是,它的源代码和二进制文件是双重许可的,而且完全相反。
虽然我第一次遇到这样的许可证,但我确信我可能忽略了许多这样的许可证,并且也希望听到其他人的更多意见。
附言:最初由我发表在Medium
更新:我已经写了关于 VSCODE 之后的旅程——超越 VSCode 的文章。请阅读并提出您的宝贵反馈。
鏂囩珷鏉ユ簮锛�https://dev.to/twitmyreview/issues-with-vscode-license-you-should-worry-1li4