系统与基础设施brendangregg.com
一次难以置信的演示
An Unbelievable Demo
2021 — 2024,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
Brendan Gregg 讲述了一次产品演示中的离奇经历:对方展示的性能分析工具或可视化效果,实际上源自他本人开发并开源的成果,而演示者似乎并不知情。文章由此引出开源软件在商业使用中常见的出处不明、署名缺失问题。
为什么经久不衰:它用一个具体又尴尬的故事揭示了开源软件被广泛复用却常被忘记出处的现实,任何写代码或做技术产品的人今天读来仍有共鸣和警示。
HN 评论精选
大公司使用开源工具却不知道作者,类似作者经历。
这让我想起 Apple 开始为 OS X 提供“更小体积的更新”的时候。因为我的博士研究涉及这个题目,我很好奇细节,就动用人脉(我在 Apple 工程部门有几个因 FreeBSD/OS X 关系认识的人),几个月后得到的答复是:“我们在用一个叫 bsdiff 的工具,你熟悉吗?”我当然熟悉,因为那个工具就是我写的。(说明一下:这件事不涉及许可证违规;只是他们不知道自己用的开源软件出自哪里。)
cperciva查看英文原文
Reminds me of when Apple started providing "smaller size updates" to OS X. I was curious about the details since my doctorate had touched on the topic, so I worked my contacts (I had a few in Apple engineering from the FreeBSD / OS X relationship) and after a few months I got back as answer: "We're using a tool called bsdiff, are you familiar with it?" I was indeed, since I was the author of said tool. (Just to be clear, there was no license violation involved in this case; just a lack of awareness of the provenance of the open source software they were using.)
内部工具意外扩散导致 GPL 许可证合规危机。
多年前我面试过一个候选人。像往常一样,我会让候选人讲“战争故事”来破冰。他所在的团队曾做了一个只打算内部解决特定问题的工具,里面含有专有代码。团队不知道的是,这个工具已经传开了,其他人开始使用,包括解决方案架构师;后者又把它交付给客户,客户非常喜欢。问题在于工具使用的一个核心库是 GPLv3 许可,而工具里又有非开源的专有代码。他发现自己陷入噩梦:必须迅速围绕一个非 GPLv3 许可的库重构工具,不能破坏任何功能,同时还要定期和愤怒的 CEO、法务开会(他们气的是局面,不是这个开发者或他的团队,因为他们没有过错)。
Twirrim查看英文原文
Years ago, I interviewed a candidate for a role on my team. As usual, one of the ways I break the ice with candidates is to get them to talk "war stories". The team he'd worked on had produced a tool that was only ever intended to be used by the team to solve a particular problem they had. It contained proprietary code. Unknown to the team, word had spread about the tool, and others had started to use it, including solutions architects. Who started shipping it to customers to use, who absolutely loved it. That'd be fine except one of the core libraries it used was GPLv3 licensed, and there was non-open source proprietary code used in the tool. The nightmare scenario he found himself in was having to rapidly re-architect the tool around a non-GPLv3 licensed library, without breaking any functionality, all the while having to have regular sync up meetings with a furious CEO and Legal department (who, to be clear, were mad about the situation, not this particular developer or his team, who weren't to blame)
学术和工业界代码被反复使用却无人维护或署名。
我的故事很不起眼。我在一个相当不错的机械工程实验室读博士,方向是实验流体力学。我在那里写了很多 Matlab 代码,还一度和实验室衍生的一家生物科技公司合作。很多其他学生来找我帮忙写代码。大多数人只是想让我替他们干活,而我太天真,不会拒绝。有个人想用图像处理数微流控器件里的细胞。我和他坐了几个小时,带他过了一遍几种可以入门的方法,把例子收集在一个脚本里。都是很基础的东西,免得他不知所措。几个月后,我看到他把我的简单入门脚本一字未改地发表了论文。他至少还在致谢里感谢了我。几年后,我在一家 $BIG_TECH 实验室工作时面试了一位来自我旧实验室的候选人。他们展示工作,并对热像仪图像做了一些数据分析。结果他们用的是我在那里写的一个脚本,而且那个脚本还在被积极使用。从来没有人修改或改进代码——很多工程学生很怕代码。我很恼火,因为没人有兴趣继续开发这个代码,我怀疑他们甚至没读或没理解它。在衍生公司时,我为正在开发的 PCR 光流控平台开发了一个软件工具……
knolan查看英文原文
My stories are very minor. I did my PhD in a reasonably well regarded mechanical engineering lab. My area is experimental fluid mechanics. I ended up writing a lot of Matlab code while there and even worked with a spin out company from the lab in the biotech sector for a while. I'd get a lot of other students coming to me for coding help. Most just wanted me to do their job for them and I was too naive to say no. One wanted to count cells in a microfluidic device using image processing. I sat down with them for a couple of hours and walked them through a few methods they could look into to get started collecting all the examples in a script. Basic stuff so they wouldn't feel overwhelmed. A few months later I see he published my simple introduction as a paper with zero modifications. He had the good grace to at least thank me in the acknowledgments. Several years later while working a $BIG_TECH lab we interviewed a candidate from my old lab. They presented their work and had performed some data analysis of thermal camera images. Turns out they were using a script I'd written there and it was still actively used to work with the thermal camera. Nobody ever modified or improved the code — many engineering students are terrified of code. I was annoyed because there was no interest in further development the code, I don't think they even read it or understood it. While at the spinout company I developed a software tool for the PCR optofluidics platform that was being developed. It was considerably faster and more robust than the hacked together script they were using before and had a user friendly UI that I build with feedback from the biologists on the team. A few years later the founder and one of their new students published a paper documenting their amazing tool without any reference or acknowledgment whatsoever. That one pissed me off. There is a lot of ignorance around code authorship and respect for the developer in physical sciences research. Like I said, many are terrified by code but don't value the time and expertise it requires; once they have it they no longer think about its maintenance or acknowledging the author.
咨询公司把作者开源工具重新包装当自家产品演示。
我自己也有类似经历。很久以前(2000 年代初),我写了几个工具,用来简化 Windows Server 的物理机到虚拟机(P2V)迁移。我当时是英国一家大型美国公司的系统管理员。这些工具是我利用自己的时间写的;和某些国家不同,我的雇主对它们没有所有权——先说清楚。我确实在工作中使用这些工具,但从未在公司时间或资源上开发它们。它们以开源形式发布。快进 6 个月,我们和一家虚拟化咨询公司开会,他们想卖工具来支持更大范围的 P2V 计划。一位销售和一位技术人员来给我们展示。他们吹了半小时能提供什么之后,技术人员启动了一个工具,我立刻认出那是我的工具,只是被重新包装了。我的经理看着我有点困惑,因为他也认出来了。我让他们继续讲了几分钟,充分确认我的怀疑,然后提到这个工具其实是我们已经在用的工具。他们很困惑,直到我在远程系统上加载了我的版本给他们看。不用说,剩下的演示极其尴尬。我相信这两位先生以为这些确实是他们内部开发的工具。结果“他们的”工具里有好几个其实是我工具的重品牌版本。我很想说有什么激动人心的结局,但现实中发生的只是他们……
satysin查看英文原文
I have a similar experience to this myself. A long time ago (early 2000s) I wrote a handful of tools to ease physical to virtual (P2V) migration for Windows Server. I was a systems administrator in the UK working for a large American firm. I wrote the tools in my own time and unlike in other countries my employer had no ownership of them, just to clear that up at the start. I did use these tools at work but never developed them on company time or resources. They were released as open source. Fast forward 6 months and we had a meeting with a virtualisation consultancy trying to sell us some tools to assist in a wider P2V programme. We had a sales guy and a tech guy visit to show us their stuff. After half an hour of them talking up all they can offer the tech guy fired up a tool and I instantly recognised it was my tool but with some rebranding. My manager looked at me slightly confused as he recognised it too. I let them continue for a few minutes to properly confirm my suspicions then mentioned that this tool was in fact a tool we already use. They were very confused until I loaded up my version on a remote system to show them. Needless to say the rest of the presentation was extremely awkward. I believe these two gentlemen thought they were in fact their own tools developed in house. It turned out several of "their" tools were in fact rebranded versions of mine. I would love to say there was some kind of exciting conclusion but in reality all that happened was they were clearly spooked by this as their/my tools were removed and never included again in their P2V toolkit. I suspect the moment they left the meeting with us they called to report what happened and rather than risk me following up (not sure how I could do that to be perfectly honest, it was FOSS after all just not used the proper way) they decided it would be safer to just pull these non-critical tools. They were just "nice to haves" anyway. My boss excitedly share the experience with the team and we had a good laugh about it and how the sales guy went from Mr Confident to stammering and stressed in a matter of seconds. We never did buy their toolkit.
历次讨论
同类还值得读
TTY 揭秘(2008)
The TTY demystified (2008)
经典文章深入剖析了 Unix/Linux 中 TTY 子系统的工作原理,包括线路规程、终端驱动、信号与控制字符等机制。
系统与基础设施上首页 11 次 · 2009–2025linusakesson.net编辑精选为什么 GNU grep 这么快
Why GNU grep is Fast
FreeBSD 邮件列表上一篇广为流传的帖子,解释 GNU grep 为什么快:核心在于 Boyer-Moore 字符串搜索算法配合精心优化的内部循环和 I/O,让程序在搜索时“…
系统与基础设施上首页 9 次 · 2010–2022lists.freebsd.orgXplain:为普通人讲解 X11
Xplain – Explaining X11 for the rest of us
《Xplain》是作者(HN 用户 Jasper_)写的一系列 X11 长文,用他在浏览器中重建的 X11 绘图模型做交互演示,讲解 X11 的绘图模型与窗口系统设计。
系统与基础设施上首页 6 次 · 2013–2020magcius.github.io编辑精选旋风教程:为 Linux 创建极小 ELF 可执行文件(1999)
A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux (1999)
breadbox 写于 1999 年的经典教程,主题是如何为 Linux 手工构造并裁剪出体积极小的 ELF 可执行文件。
系统与基础设施上首页 6 次 · 2007–2025muppetlabs.comPostgreSQL 内部原理
The internals of PostgreSQL
《The Internals of PostgreSQL》是一本免费在线书籍,系统讲解 PostgreSQL 的内部实现,包括查询处理、并发控制、WAL、缓冲区管理等核心机制。
系统与基础设施上首页 5 次 · 2017–2025interdb.jp编辑精选