Redox OS 开发者抨击 Linux、Unix 和 GPL - 开源中国社区
float_left Icon_close
Redox OS 开发者抨击 Linux、Unix 和 GPL
oschina 2016年03月23日

Redox OS 开发者抨击 Linux、Unix 和 GPL

oschina oschina 发布于2016年03月23日 收藏 24 评论 41

阿里云高性能云服务器,2折起! >>> >>>  

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下授权。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Redox OS 开发者抨击 Linux、Unix 和 GPL
分享
评论(41)
精彩评论
1

引用来自“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代码块。
附加说明:Rust将代码分为safe和unsafe两部分,前者由编译器保证代码是安全的,后者由程序员保证代码是安全的(程序员在这里犯错时不安全代码就产生了)。unsafe的比例越少,程序员的负担就越轻。以上面的数字为例,Rust程序员只要仔细审查16%甚至1%的代码就够了,剩下的84%甚至99%由Rust编译器保证代码的安全性。对C/C++而言,编译器并不能保证哪怕1%的代码是安全的,程序员必须对100%的代码做安全审查。
1
打脸
https://doc.redox-os.org/book/introduction/will_redox_replace_linux.html

Will Redox replace Linux?

No.
最新评论
1

引用来自“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代码块。
附加说明:Rust将代码分为safe和unsafe两部分,前者由编译器保证代码是安全的,后者由程序员保证代码是安全的(程序员在这里犯错时不安全代码就产生了)。unsafe的比例越少,程序员的负担就越轻。以上面的数字为例,Rust程序员只要仔细审查16%甚至1%的代码就够了,剩下的84%甚至99%由Rust编译器保证代码的安全性。对C/C++而言,编译器并不能保证哪怕1%的代码是安全的,程序员必须对100%的代码做安全审查。
0

引用来自“Windoze”的评论

用Rust写的OS?有种别用unsafe……
话说用了一大堆unsafe的Rust还不如C和C++呢……
Redox OS内核部分仅有16%的unsafe代码块,这个比例对内核而言已经很低了。Userspace里只有不到1%的unsafe代码块。

补充一个知识点:Rust里面unsafe代码块里的代码也不见得都是unsafe的代码。牛逼的作者靠着他牛逼的大脑可以保证这些代码也是safe代码。unsafe代码块比率越低,他review起来就越容易。C和C++?100%的unsafe代码块。
0
> 开发者宣称, 他们的目标是开发Linux的一个替代操作系统

开发者没有这么宣传过。恰恰相反,他们宣称不会复制Linux、也不以替代Linux为目标。可以通俗的说他们在做一个类似Linux的OS。至于将来会不会比现在的Linux还牛逼,谁知道呢,别忘了Linux自己也是从学生习作OS起步逐步发展而成的。
0
用Rust写的OS?有种别用unsafe……
话说用了一大堆unsafe的Rust还不如C和C++呢……
0
使用MIT协议,支持。抛弃POSIX糟糕的部分,支持。尤其是creat命令希望改为create,总之UNIX痛恨者手册里的说的很多都可以参考。
0
linux当初是怎么发展起来的?
0

引用来自“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不需要开源自己的代码.

引用来自“汪岩”的评论

好专业,敬佩
没有所谓的更严格,针对的对象不一样的,AGPL针对在线服务,没记错的话GPLv3要求连硬件都开源的,这样说的话,GPLv3还要严格呢。
维基百科上说,GPL软件,分发需要公开源码,不分发就不用,AGPL用来补充的是,不分发而是在线使用的情况也需要公开源代码,给相关软件的所有用户。
还有AGPL协议软件,应该是以AGPL公开代码的吧,怎么会以GPL公开?否则不又是一个漏洞了
Google修改了GPL代码,没有分发,合理合法的,而且正因为是GPL协议,Google才去修改代码自己使用的,如果强制一定要公开,Google可能就不用GPL了。GPL是公开的协议,你同意才能使用的。
0
通过放大炮,这项目成功的引起了大家的关注
1
打脸
https://doc.redox-os.org/book/introduction/will_redox_replace_linux.html

Will Redox replace Linux?

No.
0

引用来自“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不需要开源自己的代码.
好专业,敬佩
0
没战火他们能火能继续干下去吗
0
“远程使用”里的“远程”如果没猜错原文应该是“remotely”,这个词在这儿的意思显然不是“远程”,而是“轻微地”。
0
POSIX糟糕的部分是个啥?求科普
0

引用来自“饼干的荣耀”的评论

戴着套能干出孩子?扯淡吧

引用来自“穿猫的靴子”的评论

带着套比天上阳痿的1cm强吧
先去了解下rust再来喷
0

引用来自“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,规避它的复制、修改、发布传播条款了,你去欧美发达国家试试,一旦提起诉讼,罚得你裸监或裸遣回朝。too simple !
0

引用来自“冷絮”的评论

蚍蜉撼大树
当初linux是怎么出来的,也是蚍蜉撼大树吧,多点容忍
0
这些杂七杂八的协议,也就 GPL 真正的保障了开源。
0
Redox OS将致力于维持Linux的兼容性 然后不得不走上老路
0
如果没有GPL,GNU早就被模仿者干掉了
0
我朝程序员合时遵守过这些非法律的协议?摆个小马扎,隔岸观火.
顶部