网络的「去现代化」

2022-11-04 21:23 +0800

城市化的后期会出现去城市化,那么现代化的网络世界也一定存在去现代化(也许也会出现去网络化),不管小众与否。在自由软件的世界里,也许是孕妇效应,也许确实如此,我看到的去现代化的东西越来越多了。

我最先看到,有那么一点意思的是 シーディーロム【Shidiromu】。它的内里是非常现代化的去中心化的 SNS,像 Mastodon 一样。用的 pleroma 。它在 pelroma 本身就已经比较传统复古的前端的基础上,加入了一些蒸汽波的要素,让普通口味的大众更容易接受一些,这也是我一开始能够喜欢上它的原因。

Gemini 是一个类似于 Gopher 的极简化网络协议,使用一种比 Markdown 的表达力还要弱的标记语言 gemtext。抛弃了 www 的 JS,甚至 css 都不需要了。gemtext 只提供了语义的表达,回到了 html 最初的目的,将「怎样进行展示」这个问题完全交给用户和其客户端,服务端可以更加专注于内容创作。强制使用 tls 并通过 trust on first use (TOFU) 的方式验证,能够使用自签 tls 证书,剥离了 ca 的控制。种种设计都在剥离协议的商业属性,是用户跟踪变得更加的困难。

最后是 IRC。也许有人认为 IRC 已经足够落后,是应该被淘汰,扔进历史垃圾桶里的东西。我觉得只是越来越少的人能够体会到 IRC 的优雅,现在的 IRC 是没有任何 IM 协议能够替代的。IRC 的优雅体现在其简洁上,比如我要发一条消息,只需要与服务器三次握手建立 tcp 连接后,发送下面的这些字符:

NICK lindsay\r\n
PRIVMSG #gossip hello everyone\r\n

就可以给 #gossip 频道的用户打个招呼。每句的第一个单词是 IRC 指令,常用的指令并不多。如果要登陆,需要用到 USER, PASS;加入和离开频道用到 JOIN, PART;发送消息用到 PRIVMSG, NOTICE;管理用户和频道的 MODE。最困难的部分大概是 SASL 登陆,但这并不是强制的。这种简洁性使得编写 IRC 周边代码非常的简单明了。只要有一定的编程基础,能够使用 tcp socket 和字符串处理,都能编写自己的 IRC 机器人,客户端,甚至服务器。

除了这些,也有一些大众化的东西:大多数播客订阅只是 RSS 带上了一个音频附件;newsletter 使用的电子邮件协议也和 IRC 一样诞生于上世纪 80 年代。

希望也有更多的人能够体会过去的网络世界的简单纯粹。