HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    历史与人物trillian.mit.edu

    /bin/true 命令与 AT&T 版权往事

    The /bin/true Command and Copyright

    3次上首页
    9年跨度
    453累计得分
    166条评论

    2012 — 2021,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这个页面展示 AT&T 版 /bin/true 的极简 shell 脚本源码及其版权声明,并借空行、注释等细节调侃这种“连空行都受版权保护”的主张。评论进一步讨论:如此简单的实现是否真的可受版权保护,以及独立重写能否成为有效抗辩。

    为什么经久不衰:它用几行代码和一段夸张的版权声明,把 Unix 历史、软件版权边界和幽默浓缩在一起,至今仍是讨论简单代码版权的好例子。

    关键词 Unix版权/bin/true历史

    HN 评论精选

    简单 true/false 接近最小表达,独立重写可作抗辩,AT&T 很难主张版权。

    关于版权有两点值得注意,它们会让 AT&T 等无法对如此简单的文件真正执行版权。第一,版权不保护思想,只保护表达;表达越接近最小必要形式,越不可能受版权保护,而 /bin/true 和 /bin/false 的简单实现几乎就是最小形式。第二,如果作者 Y 后来独立创作出与 X 相同或相似的作品,且未复制 X,则不侵权;对于足够小的作品,独立创作出相同内容是可相信的,因此即使你看过 AT&T 源码,也可主张自己写的是“什么都不做的脚本”和“以 255 退出的脚本”的独立表达。

    tzs查看英文原文

    There are two things that should be note about copyright, which would have prevented AT&T or anyone else from actually enforcing any copyright on such simple files. First, copyright does not protect ideas--it only protects the way an author expressed the idea. The closer the expression is to the minimal way to express the idea, the less likely it is to be copyrightable. In the case of the simple implementations of /bin/true and /bin/false, they are pretty darned close to minimal. Second, if you have author X who produces a copyrightable work, and author Y who later independently produces a work that happens to be identical to X's work, but Y did not copy elements from X, Y is not infringing X's copyright. This second case doesn't happen often. If someone were to decide to write a novel about boy wizards, and produced something identical to the first Harry Potter book, no one would believe that they did this without copying from Rowling. However, if the work is small enough, an identical independent work is believable. In the case of the simple /bin/true and /bin/false, a defense that you didn't copy from AT&T would be believable. Even if you admitted you looked at the AT&T source or had it described to you, it would be believable that you produced your own expression of the idea of "a do nothing shell script" and a "shell script that exits with status 255".

    真实系统里的 /bin/false 也只是极简脚本加版权头。

    作为对比,我 Solaris 机器上的 /usr/bin/false 是一个带 AT&T 版权声明、最后执行 `exit 255` 的 shell 脚本;它与 `true` 的实现只有细微差别。

    wazoox查看英文原文

    For comparison, here is /usr/bin/false from my Solaris box: $ cat /usr/bin/false #!/usr/bin/sh # Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T # All Rights Reserved # THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T # The copyright notice above does not evidence any # actual or intended publication of such source code. #ident "@(#)false.sh 1.6 93/01/11 SMI" /* SVr4.0 1.3 */ exit 255 You'll notice the slight difference with `true`.

    加声明便宜,判断可版权性和可执行性昂贵且不确定。

    给每个源码文件加版权声明很合理,因为几乎不花钱;但判断什么可受版权保护很贵,需要律师,而且浪费时间,因为律师答案总是“看情况”。你只有真正打官司才知道版权主张是否可执行,而诉讼非常昂贵。

    bdowling查看英文原文

    Adding copyright notices to every source code file is reasonable because it costs next to nothing. Figuring out what is copyrightable, on the other hand, is expensive, because it requires lawyers, and a waste of time because lawyers' answers are always "it depends". You never actually know how enforceable your copyright claim is until you actually litigate, which is REALLY expensive.

    Solaris 文件源自 SunOS,SVR4 联合项目使版权声明有历史背景。

    引文调侃 Sun 只是转发了版权声明,不知是否有 AT&T 书面许可使用空行。趣事:SVR4 是 AT&T/Sun 联合项目,所以这原本是 SunOS 文件;`#ident` 行里的 “SMI” 应是 Sun Microsystems Inc.,是所有 SCCS 标识的标准部分。

    amacbride查看英文原文

    “Note that there is one less blank line here; it has been replaced by the #! line. But otherwise it is identical. Sun has merely passed on the copyright notice. I wonder if Sun has written permission from AT&T to use blank lines in their code?” Fun fact: SVR4 was a joint AT&T/Sun project, so this was a SunOS file originally — I believe the “SMI” in the #ident line stands for “Sun Microsystems Inc.” and was a standard feature of all our SCCS identifiers.

    历次讨论

    同类还值得读

    1. 开发者无薪坚持完成 Mac 图形计算器:一个秘密项目的故事

      Dev stays without pay to finish Mac Graphing Calculator as skunkworks project

      苹果 Mac 图形计算器(Graphing Calculator)开发者的亲述:在项目被砍后,几位工程师在没有报酬、没有正式授权的情况下,以“地下项目”方式偷偷留在公司把软件做完…

      历史与人物上首页 6 次 · 2009–2022pacifict.com
    2. 理查德·费曼与 Connection Machine

      Richard Feynman and the Connection Machine

      长文回忆费曼晚年参与 Connection Machine 并行计算机项目的经历:他分析路由器、用自创的并行 Basic 编写 QCD 程序,也涉足细胞自动机等主题。

      历史与人物上首页 5 次 · 2010–2021longnow.org编辑精选
    3. 负 2000 行代码

      -2000 Lines of Code

      folklore.org 上 Andy Hertzfeld 记录的一则苹果 Macintosh 开发轶事:Bill Atkinson 被问到写了多少行代码时,回答“-2000 行…

      历史与人物上首页 4 次 · 2014–2022folklore.org编辑精选
    4. Dennis Ritchie 的第一版 C 编译器(约 1972 年)

      Dennis Ritchie’s first C compiler (c. 1972)

      这个 GitHub 仓库保存了 Dennis Ritchie 约 1972 年编写的最早 C 编译器源码,是 C 语言和 Unix 早期历史的一手材料。

      历史与人物上首页 4 次 · 2013–2025github.com
    5. 一位破解赛马密码的赌徒

      A Gambler Who Cracked the Horse-Racing Code (2018)

      彭博社 2018 年的长篇特写,讲述数学家 Bill Benter 如何用统计模型和算法在赛马博彩中持续盈利、累计赢得近十亿美元的故事。

      历史与人物上首页 4 次 · 2018–2024bloomberg.com

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。