Why Nostr? What is Njump?
2024-09-07 05:40:20

墨原 on Nostr: ...

做打包工这么些时间,我常常有种感觉,现在做传统发行版是越来越不讨好了。现在网络发达,用户想用什么软件可以源头直采,发行版弄些自己的修改还容易惹骚;打包工时间有限,还要兼顾与发行版里其他包的共存,更新往往滞后;有些上游也不理解,觉得发行版的包只会给自己添堵。
有些服务端软件费劲巴拉打包进发行版,结果发布即过时,还要解决相关问题。容器化普及之后,只要保证能在容器里跑就行了,支持也可以全部扔给上游,你好我好。
本地运行的程序也能容器化,其实已经有不少了,还能顺便限制读写范围和各种权限。
静态链接重新成为潮流,发行版费劲维护各种依赖库就显得多余。特别 crates.io 这种一个包千八百个版本共存,下游加依赖时什么版本就永远停在什么版本的,同时只能留一个版本的发行版追着他们更新版本或者想各种歪门邪道共存,吃力不讨好。
感觉可以依托 CoreOS、Flatcar 这种专为容器化设计的发行版做一个桌面衍生版,包管理都不用自己写,因为除了底层必须的东西所有包全是 container image(这东西叫镜像感觉不是很合适)。
这么做最大的问题大概就是各种库的不同版本堆叠,推崇动态链接的那帮老学校就讨厌这个。但话说回来,动态链接对改动太敏感了,牵一发而动全身,经常因此拖累下游。现在硬盘便宜,还不愿意换那真不是维护者的问题了。至于更新,信息会传导的,作者修完出新版本的速度不见得比发行版背着兼容性包袱哼哧哼哧更新慢。
Author Public Key
npub1dwuq0fe87laqe5pj9994twf63sln2a43xv6fhjqc8dtsass02d9q77wfye