编程与软件工程ghuntley.com
Visual Studio Code 被设计为割裂生态(2022)
Visual Studio Code is designed to fracture (2022)
2022 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
作者认为 VS Code 的"分裂"是刻意设计:编辑器核心以 MIT 协议开源,但扩展市场、官方构建等关键部分专有,使各种分叉天然残缺。他进一步指出这是微软的战略铺垫——把开发者工具生态引向端到端的订阅式云服务(如 GitHub Codespaces),即"拥抱、扩展、消灭"进化为"拥抱、扩展、订阅"。文章引发了关于是否该信任微软、开源核心加专有生态算不算净收益的激烈争论。
为什么经久不衰:它两次登上首页,是因为精准预判了微软把开发者工具云服务化的路线,至今仍是讨论编辑器开源策略与厂商锁定时绕不开的参照文本。
HN 评论精选
以 Sun JDK 的先例类比,认为对 VS Code 的意识形态担忧多半不会成真,先用着再说。
记得当年 FSF 曾就使用 Sun JDK 发出可怕警告,我没理会,继续用 Java,结果什么坏事都没发生。JDK 后来还被 GPL 化了,而那时我已不喜欢 Java,转投更好的语言了。我对 VS Code 也是同样感觉:二进制产品?遥测?中心化市场?部分插件闭源?无所谓,这些并不妨碍我,我怀疑开发者也不会遭遇什么特别糟糕的事。总有一天会有更好的 IDE 流行起来,也许基于 VS Code 衍生出的代码和标准(比如语言服务器协议),也许不是。在那之前这个编辑器够用了。意识形态上确实不如我所愿,但尽管抱怨不断,这些担忧往往并不会真正变成糟糕的用户体验。
skybrian查看英文原文
I remember when the FSF had dire warnings about using the Sun JDK. I ignored it and kept on using Java, and nothing bad happened. The JDK was eventually GPLed, and by then I decided I didn't like Java anymore and moved on to better languages anyway. I feel kind of the same about VS Code. Binary product? Telemetry? Centralized marketplace? Some plugins are closed source? Eh, whatever. That stuff doesn't get in my way and I suspect that nothing particularly bad will happen to developers. Someday a better IDE will become popular, perhaps built on some of the code and standards spun off by VS Code (like the language server protocol), perhaps not. This editor will do until that happens. The politics isn't as good as I'd like, but often the politics never actually materializes as a bad user experience, despite the complaints.
因遥测和粗糙体验卸载了 VS Code,并担忧不良行为被硬编码进代码、随"自由"发行版扩散(如 HSTS)。
因为一门课短暂用过 VS Code,对它的遥测行为颇为震惊,更震惊的是学生和老师都习以为常。但更让我反感的是整个应用的粗糙感——它像是从代码出发而非从界面出发设计的,我做每件事都像在迁就程序。不管怎样,这篇文章作者说得对,我开发环境里确实还留着上课时装的 VS Code,于是趁此机会 pacman --remove code 卸载了。不良行为被"硬编码进去"并传播到所有"自由"发行版,这种局面令人悲哀,Chrome 和 Firefox 也正经历类似的事:比如 HSTS 被硬编码进所有标准发行版,完全无法关闭。我理解对普通用户的"安全"考虑,但作为常因证书过期而无法访问网站的人,我很恼火。
forgotmypw17查看英文原文
I had to use VS Code it briefly for a class, and was kind of shocked by the telemetry stuff, and that it's just ignore-accepted by both the students and the instructors. But what turned me off more was this janky feeling around the whole application, something I don't remember experiencing in many other Microsoft tools, such as VB. It feels like it was designed from the code up rather than from the interface down, and everything I do feels like I'm accommodating the program rather than the other way around. Anyway, the author of this article was right, I still did have it installed in my dev environment, left behind from those classes. I decided to use this opportunity to `pacman --remove code`. The situation with bad application behaviors being "baked into the code" and propagating to all the "free" distributions is very sad, similar to what's happening with both Chrome and Firefox. For example, HSTS is now baked into the all the standard distributions and there's absolutely no way (that I've found) to turn it off. I understand the "security" reasons behind it for regular users, but as someone mindful and often completely unable to access a website only because their certificate has expired, I am quite miffed.
认为文章夸大了恐慌:完全开源的编辑器本体是净收益,即便最坏情况要分叉,处境也比 VS Code 出现前更好。
这篇文章对局势的梳理不错,但恐慌被夸大了。概括来说,微软做了两件事:打造了一款极其优秀的基于 Web 的代码编辑器,100% 开源、没有任何附加条件;建了一个扩展仓库和一批许可证受限但质量极高的第一方扩展。当然,理想世界里这一切都该完全开源。但即便走到最坏情况——将来有人想分叉——我们的处境也比 VS Code 出现之前好得多。就算分叉意味着要自己补齐一些部件,这个编辑器项目仍是净收益:即使排除受限部分,这对所有人也是价值的净增,而非减少,更谈不上末日。
brundolf查看英文原文
This is a good summary of the playing field, but I think they're way overblowing the panic In summary Microsoft has: - Made an incredibly good web-based code editor which is 100% OSS, no strings attached - Made an extensions repository and a bunch of really high quality first-party extensions that have restricted licenses Sure, in a perfect world the whole thing would be fully OSS. But in the worst-case, where people some day decide they want to fork or whatever, we're still much better off than before VSCode. The editor project is a net gain, even if forking means building some of the other bits yourself. This is still a net increase in value for everyone- even if you exclude the restricted parts; not a decrease, much less an apocalypse.
认同文章论点:微软现在示好只是敲门砖,"拥抱、扩展、消灭"已升级为"拥抱、扩展、订阅"。
昨天读某个帖子时,有人说我们应该信任微软,因为他们在开源问题上已经改弦更张,应以"这些年"的行动而非过去来评判。我本想回应解释为什么不能信任他们——这全是慢火煮青蛙的把戏——但放弃了。而这篇文章很好地道出了我的感受,尤其是这段:"Visual Studio Code 是一条坡道,要把开发者工具生态推向端到端可消费服务的模式,而 GitHub Codespaces 就是现有服务 Visual Studio Online(又名 Microsoft Dev Box、Azure DevTest Labs)的白标版本。"这完美解释了我一直预感将要发生的事。他们现在扮演"好人",只是为了获准进门。老的"拥抱、扩展、消灭"已经用老了,如今是"拥抱、扩展、订阅"。
ghusto查看英文原文
I was reading [this](https://news.ycombinator.com/item?id=27687450) yesterday, and somebody said something to the effect that we should trust Microsoft, because they've turned around on OpenSource. That we should judge them by their "years now" actions, instead of the past. I tried to formulate a response to this which explained why we couldn't trust them, and it was all a slow-burn ruse, but gave up. This article explains my feelings well though, especially this part: > Visual Studio Code is a ramp to move the developer tooling ecosystem towards an end-to-end consumable services model of software development tools, and GitHub Codespaces is a white label of an existing service called Visual Studio Online aka Microsoft Dev Box aka Microsoft Azure DevTest Labs That perfectly explains what I've been feeling is coming. Yes, they're playing "nice" now, but it's only so they're allowed through the door. The old model of "embrace, extend, extinguish" has run dry, so now it's "embrace, extend, subscribe".
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选