有人用、有人维护就好,没那么快死的,vim, neovide, emacs, mg, me, joe, acme, sam 都没死绝。zed,helix 想成主流是不可能的。
3个大版本前就开始和其他 GNU 项目一样是在用 git 的,当然不用 GitHub,不是开发者没有要到写入权限就得邮件发 PR,但这个就是 git 本来的用法,Linux 那边也是这么搞的。而且版权协议还是要签的,的确算个门槛。但以我这种只会做小修小补的来说也不算很麻烦,论坛里也有不少人签过。
仓颉,混几个异体字进去防止无断转载的,当然这其实是有几个简体字仓颉码不如繁体有规律的借口
Emacs 是用 Git 的, 具体可以看这里:
https://www.gnu.org/software/emacs/CONTRIBUTE
他们现在已经做得挺好的了, 由志愿者提交的 patch 会署上 author
那一栏, 比如 这个. 虽然 Git 本来就支持这么做…
简短的 patch 一般是直接合并, 同一个 author 累计修改了很多行之后会叫你签署版权转让协议. 总的来说还是能明显感受到 Emacs 的开发是欣欣向荣的, 除了专业的开发人员, 还有一大票的业余爱好者帮忙修修补补.
不知道 Emacs 以前的开发模式是不是像 Bash 一样.
我看过 Bash 的邮件列表和 commit log, 基本上只有一个人在提交. 有志愿者发邮件贡献 patch, 维护者在打补丁时仍然把 author
和 committer
都只写成自己.
这应该跟以前的 Vim 是一样的.
editorconfig 配置的支持
emacs 30 内置 editorconfig 了?
这些年的一些事件, 让我对自由软件有点迷茫, 比如前几年openssl的漏洞问题, 还有一个很流行的js基础库开发者的困顿生活. 自由软件全靠兴趣爱好无私付出, 好像也不是很健康的发展模式:
比如个人兴趣可能丧失, 个人时间和精力可能受生活工作因素影响而不稳定, 维护负担一般会随着时间逐渐加重, 有没有新的人力加入不知道…
再看现在的主流大型自由软件, 比如linux, firefox, 真正发展健康的, 大都离不开商业公司的背后资助, 还有像apache基金会下面众多项目.
一个好的软件, 用于生产环境之后, 就非常依赖稳定可靠的维护, 而不是不确定因素很大的个人爱好和业余时间.
现在好像容易一点了, 大神可以再研究一下.
据我这两年的了解, 他们现在贡献patch比较推荐的做法是, 直接把git patch以文本方式放在邮件内容里, 发到邮件列表里面, 供大家讨论. 不过这个讨论常常很激烈, 经常会有各种争议.
一旦采纳, 需要跟GNU签个贡献协议, 然后应该会对你开放git仓库的写权限, 然后就可以提交.
是的,说起来像是暴论,但大多数开源都是背后有商业公司支持才能持续干下去的,商业公司也不是无偿支持,一般都是需要一些话语权,例如方便开发某些新特性、方便主导社区
这些是开源软件的通病,不单纯是自由软件。
至于 JavaScript 那个测试框架库,它作者一开始自己选择了 MIT 协议,最后被某个大公司白嫖了没法说理;如果选 GPL 协议,可能就是被公司请过去专职做个新的更好的。
知道他为什么选 MIT 协议吗?因为这样约束更少,受众更广泛,有助于这个库的流行,提高作者的知名度。所以说都是自己的选择。
我的看法是,如果你会眼红大公司白嫖你的成果去赚钱,那你一开始就不该选择 MIT 协议。
记得 @Kevin1 有一次讲 Metanote 不开源的原因就是因为很多开源软件会被私有软件白嫖,借鉴,获取商业利益而软件原作者无任何收益,因为软件私有,你也无法确定对方是借鉴还是抄袭。
这个问题我原来也认为是无解的,后面发现不是,也就是前面说的那条新闻:某国要求 所有为政府开发的软件,都必须开源
,感觉这是对开源软件最好的保护,法律层面给作者安全感
倒不如强制它们使用 copyleft 协议, 不然谁能保证作为甲方的政府不去抄袭?
这是因果倒置了,美国是为了防止作者后续向政府对作品的使用索要授权费,应政府合约交付的作品不受著作权保护。不只是软件,国歌等文艺作品也算在此条
根据网上看到的信息, wayland还有挺多的兼容性问题, 甚至chromium浏览器好像都有点兼容性问题, 需要hack一下.
不知道Emacs对wayland的支持怎么样? 隐约记得要用pgtk分支? 但是pgtk分支好像有点功能缺陷?
感觉wayland还没到能无痛替代xorg的成熟度
不知道咱们说的是不是同一个作者, 记得好像是俄罗斯的, 印象中好像不是被公司白嫖, 而是他的库非常基础, 很多人只知道用, 忽略了它的存在, 类似以前的openssl一样, 默默无闻
刚搜了一下, 好像是这个:
对, 比如apple对llvm和clang影响应该是比较大的
另外, 我是一直在用firefox, 不过最近看到说firefox的rust的代码已经和最新版rust脱节了, 需要打开兼容模式才能编译, 顿时有点担心
为什么实装 MPS 就可以开搞 elisp 多线程了,可以展开讲讲吗? 老风扇讲过 elisp 多线程的主要阻碍是 block local variable ,有了更好的 GC 也没法解决现有代码中 block local variable 不能多线程访问的问题吧?
最近我倒是想尝试一些方法来解决这个问题。
对于软件产品的用户而言,持有源码大部分用户是一个隐私安全的需求,没有后门,可被审查;还有小部分用永是可自行修改定制的需求。而对于开发者来说,开放源代码的诉求是不被抄袭,不被商业化使用,知识产权和劳动成果可以得到保护。两者应如何都得到满足呢?
注意,前面用的是“持有源码”和“开放源码”,我故意避开了“开源软件”这个词,因为不应混淆开源软件与自由软件,自由软件并不是免费的,而且自由软件一开始就是鼓励不但要收费而且要卖得贵,所以自由软件一开始其实就解决了这个问题。所以我想要尝试将 Metanote 变为自由软件,对于普通只有使用需求的用户就很便宜,只提供软件本身;对于对隐私和安全性很敏感或需要自行定制的用户则稍贵一点,但提供软件和对应的源代码,还需要有一个不扩散和商业使用源码的协议;对于商业公司,源码也可以提供,但需要按商业形为来处理。
注意,现在还只是一个想法,并一定可行。另外需要说明的是自由软件不只前面说的这一种维护方式,也是可以完全免费的,像 Emacs 本身,但这里不展开了。
而对于开源软件,有没有想过开源软件本身可能是一场骗局?就像之前看到一个记录片讲好像是什么海豚保护认证,最后背后完全变成了一个商业利益链。
又或者开着开着就是不真开源了,比如某开源笔记软件,号称支持 org mode, markdown,但实际有自己私有的语法或文件组织方式,一旦长期使用,就只能继续使用此软件,否则迁移成本极高,也就是说开源软件反而并不自由。
所以 Emacs 做为自由软件维护方式在我看来还是很清晰的,但 Emacs 的 GUI 确实有改进空间,这里预览一下 Metanote 的新版本,这个版本我做了两个多月了,还没有达到最终形态,但有开发经验的人应都能看出其中端倪,就是 WYSIWYG 的 org mode,目前能够实现渲染和预览的很多,但能实时编辑并渲染的并不多。之前一直觉得没必要做 Metanote 的桌面版,因为有 Emacs 就够了,但现在需要了,因为可以提供一个现代化界面的 org mode.
开源软件是一种开发协作方式,自由软件是一种社会运动。
早在 Emacs 26 开始设计多线程就有 mutex 可以用了,就算共享内存也不是不能安全修改变量。28 开始支持 buffer local variable,更不需要有顾虑,哪怕不给并行专门设计局部变量空间,每个线程自己开个 buffer 来维护局部变量也不是不行。
MPS 解决的是现有 GC 不支持并行线程的问题。分支作者本身就是想把 Emacs Lisp 改造成完全兼容 Common Lisp,比如已经做了 CL namespace ,加入并行支持是迟早的事