Redox OS是一个用Rust语言开发的类Unix操作系统项目,源代码托管在Github上,采用MIT许可证。在本月早些时候发布的更新中,开发者发布了一本电子书《The Redox Operating-System》,阐述了Redox OS的目标、设计理念和架构。虽然项目还处于早期阶段,开发者却毫不在乎的向其它著名的成熟开源项目开战。开发者宣称, 他们的目标是开发Linux的一个替代操作系统,但不会重复其它操作系统(aka Linux、Unix、BSD、HURD等)犯下的错误,他们不害怕放弃支持POSIX的糟糕部分。Redox OS将致力于维持Linux的兼容性,只要少许修改就能直接运行Linux可执行文件。开发者说,“我们会犯错,但不会犯其他人犯过的错。”开发者批评GPL对操作系统来说不是一个理想的许可证,它强迫任何即使是远程使用或链接到GPL源的代码都必须在GPL下授权。
引用来自“Windoze”的评论
用Rust写的OS?有种别用unsafe……话说用了一大堆unsafe的Rust还不如C和C++呢……
引用来自“Liigo”的评论
Redox OS内核部分仅有16%的unsafe代码块,这个比例对内核而言已经很低了。Userspace里只有不到1%的unsafe代码块。补充一个知识点:Rust里面unsafe代码块里的代码也不见得都是unsafe的代码。牛逼的作者靠着他牛逼的大脑可以保证这些代码也是safe代码。unsafe代码块比率越低,他review起来就越容易。C和C++?100%的unsafe代码块。
https://doc.redox-os.org/book/introduction/will_redox_replace_linux.html
Will Redox replace Linux?
No.
引用来自“Windoze”的评论
用Rust写的OS?有种别用unsafe……话说用了一大堆unsafe的Rust还不如C和C++呢……
引用来自“Liigo”的评论
Redox OS内核部分仅有16%的unsafe代码块,这个比例对内核而言已经很低了。Userspace里只有不到1%的unsafe代码块。补充一个知识点:Rust里面unsafe代码块里的代码也不见得都是unsafe的代码。牛逼的作者靠着他牛逼的大脑可以保证这些代码也是safe代码。unsafe代码块比率越低,他review起来就越容易。C和C++?100%的unsafe代码块。
引用来自“Windoze”的评论
用Rust写的OS?有种别用unsafe……话说用了一大堆unsafe的Rust还不如C和C++呢……
补充一个知识点:Rust里面unsafe代码块里的代码也不见得都是unsafe的代码。牛逼的作者靠着他牛逼的大脑可以保证这些代码也是safe代码。unsafe代码块比率越低,他review起来就越容易。C和C++?100%的unsafe代码块。
开发者没有这么宣传过。恰恰相反,他们宣称不会复制Linux、也不以替代Linux为目标。可以通俗的说他们在做一个类似Linux的OS。至于将来会不会比现在的Linux还牛逼,谁知道呢,别忘了Linux自己也是从学生习作OS起步逐步发展而成的。
话说用了一大堆unsafe的Rust还不如C和C++呢……
引用来自“eechen”的评论
GPL其实还不是最严格的开源许可,AGPL比GPL更加严格.GPL的约束生效的前提是"发布"软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护.这样如果不"发布"就可以不受约束了.比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统提供在线服务,这时可以不开源系统代码.AGPL正是对GPL这一不足的补充,只要你的程序使用了GPL代码,不管你发布还是提供服务,都必须按照GPL开放你的程序的源代码.比如Google这B货以前甚至不愿公开自己服务器修改的Linux内核代码,理由是代码太难看,差点没说出GPL无权让它这样干.所以现在有了个AGPL,就是用来专治这样的混蛋的.又比如MongoDB选择AGPL授权主要原因是避免一些云提供商改良了MongoDB后却不回馈社区.但MongoDB的Driver是以Apache License授权的,自己的程序通过这些Driver操作MongoDB不需要开源自己的代码.引用来自“汪岩”的评论
好专业,敬佩维基百科上说,GPL软件,分发需要公开源码,不分发就不用,AGPL用来补充的是,不分发而是在线使用的情况也需要公开源代码,给相关软件的所有用户。
还有AGPL协议软件,应该是以AGPL公开代码的吧,怎么会以GPL公开?否则不又是一个漏洞了
Google修改了GPL代码,没有分发,合理合法的,而且正因为是GPL协议,Google才去修改代码自己使用的,如果强制一定要公开,Google可能就不用GPL了。GPL是公开的协议,你同意才能使用的。
https://doc.redox-os.org/book/introduction/will_redox_replace_linux.html
Will Redox replace Linux?
No.
引用来自“eechen”的评论
GPL其实还不是最严格的开源许可,AGPL比GPL更加严格.GPL的约束生效的前提是"发布"软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护.这样如果不"发布"就可以不受约束了.比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统提供在线服务,这时可以不开源系统代码.AGPL正是对GPL这一不足的补充,只要你的程序使用了GPL代码,不管你发布还是提供服务,都必须按照GPL开放你的程序的源代码.比如Google这B货以前甚至不愿公开自己服务器修改的Linux内核代码,理由是代码太难看,差点没说出GPL无权让它这样干.所以现在有了个AGPL,就是用来专治这样的混蛋的.又比如MongoDB选择AGPL授权主要原因是避免一些云提供商改良了MongoDB后却不回馈社区.但MongoDB的Driver是以Apache License授权的,自己的程序通过这些Driver操作MongoDB不需要开源自己的代码.引用来自“饼干的荣耀”的评论
戴着套能干出孩子?扯淡吧引用来自“穿猫的靴子”的评论
带着套比天上阳痿的1cm强吧引用来自“eechen”的评论
GPL其实还不是最严格的开源许可,AGPL比GPL更加严格.GPL的约束生效的前提是"发布"软件,即使用了GPL成分的软件通过互联网或光盘release软件,就必需明示地附上源代码,并且源代码和产品也受GPL保护.这样如果不"发布"就可以不受约束了.比如使用GPL组件编写一个Web系统,不发布这个系统,但是用这个系统提供在线服务,这时可以不开源系统代码.AGPL正是对GPL这一不足的补充,只要你的程序使用了GPL代码,不管你发布还是提供服务,都必须按照GPL开放你的程序的源代码.比如Google这B货以前甚至不愿公开自己服务器修改的Linux内核代码,理由是代码太难看,差点没说出GPL无权让它这样干.所以现在有了个AGPL,就是用来专治这样的混蛋的.又比如MongoDB选择AGPL授权主要原因是避免一些云提供商改良了MongoDB后却不回馈社区.但MongoDB的Driver是以Apache License授权的,自己的程序通过这些Driver操作MongoDB不需要开源自己的代码.引用来自“冷絮”的评论
蚍蜉撼大树