summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-11-09 00:11:10 +0800
committereltrac <hi@eltr.ac>2026-11-09 00:11:10 +0800
commite3514e606dc2b950d068423f9e2d6f20c38c2e46 (patch)
treec48b7ab3c81d4e00fcfdc450726c0991062ed43d /content
parent1970039f727a8ec2694f4d3143bc4f1426e97ea5 (diff)
[draft] updateHEADmaster
Diffstat (limited to 'content')
-rw-r--r--content/article/openbsd.md45
1 files changed, 40 insertions, 5 deletions
diff --git a/content/article/openbsd.md b/content/article/openbsd.md
index 10b4f5a2..5944584b 100644
--- a/content/article/openbsd.md
+++ b/content/article/openbsd.md
@@ -15,6 +15,8 @@ FreeBSD 你们要不要反思一下:为什么 OpenBSD 不到 800MB 的 `.iso`
不多说了,还是先来关注 OpenBSD 吧。
+<!--more-->
+
{{< quotecard >}}Linux people do what they do because they hate Microsoft. We do what we do because we love Unix.{{</ quotecard >}}
{{< right "——Theo de Raadt" >}}
@@ -61,15 +63,48 @@ known fix for it exists, include that as well.
## 好的软件很少源自商业世界
-- OpenSSH
-- LibreSSL
-- tmux
-- openrsync
+OpenBSD 可能不为人熟知,但只要是开发者就基本上离不开 OpenBSD 项目开发的软件,普通用户也会间接接触到,就像这世界上到处都是 Linux 而没有技术背景的大部分人却毫不知情一样。
+
+你用 `ssh` 登录服务器吗?或者用 `ssh://` 连接 Git 远程服务器吗?如果是的话,那你就用过 [OpenSSH](https://www.openssh.org/),即 *OpenBSD Secure Shell*。它最初在 OpenBSD 系统上实现,如今已经集成到了 Windows、macOS、其他 BSD 系统和许多 Linux 发行版当中,还有不少软件依赖 `ssh` 进行安全连接。
+
+在 Windows 上用过 `ssh` 吗?如果有,那你就用过 [LibreSSL](https://www.libressl.org/),这是 OpenSSL 的 Fork,与谷歌的 BoringSSL 是同类软件。除了 OpenBSD 本身,还有不少操作系统、编程语言的 HTTP/TLS 库和软件也采用 LibreSSL。
+
+用过 [tmux](https://github.com/tmux/tmux/) 吗?我本人没那么喜欢终端复用器(我认为理想情况下开发者不需要复用终端,可惜现实不总是理想的,`tmux` 用来保持会话和多开会话都挺方便的),但有不少人确实很喜欢。它也来自 OpenBSD。
+
+在 macOS Sequoia 之后的版本上用过 `rsync` 吗?如果是,那你就用过 [openrsync](https://www.openrsync.org/)——可能不太准确,因为 macOS 上的 `rsync` 其实是 Apple 用 `openrsync` 改的。OpenBSD 这边的 `openrsync` 仍在开发中,也有从 Apple 那边合并一些代码过来用。
+
+据说还有不少公司的防火墙借鉴了 OpenBSD 的 [pf(4)](https://man.openbsd.org/pf.4)(Packet Filter),的确简单好用,现在运行极客死亡计划的服务器就使用 `pf` 过滤和拦截网络请求。我一开始以为自己离不开 Caddy 了,后来发现 OpenBSD 自带的 [httpd(8)](https://man.openbsd.org/httpd.8) 和 [acme-client(1)](https://man.openbsd.org/acme-client.1) 就足够好用。Docker 和 Podman 也是不必要的,[chroot(8)](https://man.openbsd.org/man8/chroot.8) 的隔离就足够好用,而且简单直白。
+
+OpenBSD 和相关的软件简直是操作系统界的 [Motherfucking Website](https://motherfuckingwebsite.com/),只不过更谦卑,不那么惹人耳目,而且有种诡异的魅力。
## BSD 协议
-## Footnotes
+说实话,关于开源协议,我个人往往更偏好 GPL 这类 *copyleft* 协议,甚至是 AGPL 这个最强的 *copyleft* 协议。据说开源软件除了有开源派和自由软件派,还有 GPL 簇拥和 BSD 簇拥(都是政治派别,可以这么说),两派吵得不可开交。
+
+光从协议本身而言我更偏好 GPL,但若是上升到政治问题,再去审视这两派的争端,我不得不说,我更欣赏 BSD 代表的态度。
+
+> Be as politics-free as possible; solutions should be decided on the basis of technical merit.
+
+{{< right "——[Project Goals - OpenBSD](https://www.openbsd.org/goals.html)" >}}
+
+如果你不了解这两种授权协议的具体内容,可以这样理解:GPL 具有传染性,要求使用者必须也用 GPL 协议授权衍生作品,跟 CC 协议的 ShareAlike 条款类似;BSD 相当放纵,仅要求分发者保留署名,并且不得使用原作者的名字为自己的衍生产品做宣传。以上仅仅是概括,GPL 和 BSD 都还有不同的版本,我的描述不构成任何建议。
+
+简单来说,GPL 把自由软件的概念强行摆在所有人面前,让人接受,甚至成为一份子(不得不说其实很朋克);而 BSD 则不在乎使用者和自己有没有相同的政治观点,它包容几乎所有的政治观点。
+
+我自己经常使用 GPL,因为我想要**保护**自己的作品,但我也认识到 GPL 的存在不仅给科技公司造成了法务问题,还给自由软件同胞造成了困扰。Linux 使用 GPL v2.0 协议,据说 Linus 本人很不喜欢 GPL v3.0,阵营内部也有分歧。GPL 协议和 EPL 协议不兼容,这使得不少 Java 和 Clojure 开发者不能直接用 GPL 授权自己的项目,必须增加附加条款。GPL 由 Richard Stallman 写就,各种条款是出了名地难解读,常常造成争议,LibreOffice 也有一些与 GPL 相关的[版权问题](https://isitreallyfoss.com/projects/libreoffice/)。
+
+与此同时,我回头看见 BSD,用不满一页的条款授予了用户自由使用的权利。面对各种观点纷争和政治问题,我仿佛听见他说:
+
+<center>
+
+> *I don't care.*
+
+</center>
+
+缺少了 GPL 的保护,BSD 授权的软件有变得难以维持吗?目前看来,[OpenBSD 基金会](https://www.openbsdfoundation.org/contributors.html)每年都会收到大量的捐款,Google、Meta 和 Microsoft 都位列其中[^3],当然捐献最多的还是 OpenBSD 社群,也就是所有小捐款的总和。
[^1]: 参见:[Berkeley Software Distribution - Wikipedia](https://en.wikipedia.org/wiki/Berkeley_Software_Distribution)
[^2]: 不少 VPS 提供商对 OpenBSD 的支持不太好,因为不能在面板里添加 SSH 公钥和非 `root` 用户,装好之后根本登录不了,必须自己手动通过 VNC 安装。还好 OpenBSD 的安装程序很容易上手
+
+[^3]: 我好像没有找到 Apple 呢。