这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于龙芯开发的一点见解

共13条 1/2 1 2 跳转至

关于龙芯开发的一点见解

高工
2014-07-05 22:36:19     打赏
2014-07-05 比尔盖子 Linux伊甸园开源社区

原文链接 月初的时候,Bowen Han 在《关于》页面问了这么一个问题:
我发现现在龙芯的开发者们都很分散,做的工作最后都因为版本的更新失效了,不知道你有什么高见么,龙芯官方不怎么给力啊。
感谢你的评论。这条评论我搁置了很长时间,十分抱歉。
我不想做完备的论述,此时此刻我还在调试 YeeLoong 8089D 用的 SM712 
显卡驱动。我只想简单说一说我的第一看法,但是我依然不小心把它写成了一篇长论述。因此,特别将这个回答独立成博文一篇。
 
实际上,自由软件社区在龙芯上的工作如此分散的现状,虽然一定程度上是自由与开源软件的分散本质决定的,但问题很大的出在龙芯官方和开发者。龙芯官方和大量的龙芯支持者始终认为自己在做民族产业,而不是建设社区。
现在的龙芯社区,也就是那个半死不活的代码仓库、一个没什么意义的主站,一个具有一些高手,但也充斥着一些极端民族主义分子的论坛,而作为自由软件支持者的几乎没有,作为自由软件的龙芯开发者就更少了。据我所知,大概只有龙芯代码仓库内核源的维护者 
Alexandre Oliva 这位国际友人了,这部分少数人集中在 loongson-dev 邮件列表,这是龙芯开发的重要力量。
有人可能会说,开发者少的现状是人力不够造成的,问题是,本来人力就分散,再不通过社区汇聚众人之力,人力只能更加分散。我们可以看到,龙芯官方和大量的龙芯支持者并没有建设出一个活跃的社区。
这样的现状,导致连龙芯许多自己的工作都很难完成。
龙芯的 Firmware,即 
PMON,本来是自由软件,但是其几度易手,代码腐烂现象严重,急需大规模重构,或完全重写。然而,不谈重构,就普通的维护而言,PMON 
不存在自己的社区,官方问题也很大。第一:龙芯的官方网站上,甚至没有给出完整的正确编译 PMON 的详细说明。我曾费尽九牛二虎之力,终于成功编译了 PMON 
二进制,结果刷入 BIOS 给刷黑屏了。第二:PMON 
最初不少问题和解决方法却都是由不是龙芯官方的刘世伟完成的,官方似乎并没有积极参与到社区中。而如今,官方还正忙着进行龙芯 3A 的 PMON 开发,原本的 
PMON 无人问津。
而刘世伟把不少原本应有官方解答的问题,比如硬件规格等,都进行了解答,他一度被称为非官方中的官方。虽然说这样优秀的开发者是龙芯的力量,但也是对官方的一种反衬;另一位开发者,是龙芯的前员工,试图清理 
PMON 代码未果,决定重头编写一个 Firmware,他的代码十分优秀,坚持了好几年,直至最终放弃都没有实现 Linux 内核的引导,他的代码至今还在 
GitHub 中。
龙芯的 Webkit,本来国内曾有几个人致力于让 Webkit 流畅的运行在龙芯上,几个月后项目就死掉了。原因显然是精力、力量不够。至今,Webkit 
都不支持 MIPS N32 的 JIT 编译,内存分配器 fastMalloc() 这么多年了,依然会崩溃。
如此可见,如果龙芯官方不像 Novell, RedHat 
一样大力推动自己的社区,那么最终的结果是官方表现无力,个人开发者无助,龙芯自己的社区都如此不活跃,建立一个和上游密切互动的社区和这样的协作氛围就更加不可能了。但另一封面,正是因为没有和上游协作,因此才造成了现在的氛围。
再比如,龙芯的 SM712 显卡驱动,原本是由一名龙芯官方的开发者提交合并入上游的,我很欣喜的看到上游对龙芯代码的欢迎态度。然而,最初因问题被移除的 2D 
加速代码,直至 Linux 3.15,整个驱动因无人维护被踢出内核为之,没有任何后续的工作。龙芯官方真的有用心和上游配合,维护这驱动吗?
还有,龙芯也有一位开发者在支持开发龙芯 3A 的 Webkit,实现了 
JIT,成果显著,但工作没有进入上游,没有社区,个人推动它进入上游谈何容易。而且,因为没有社区,他的成果是片面的。没有人和他合作让龙芯 2F 的 MIPS 
N32 也用上 JIT。
简而言之,开发者完成它的工作以后,最好的结果也就是发布到龙芯论坛上或 
GitHub。没人,或者说没有足够的精力告知上游、推动它合并入、持续维护它。这样,开发者所作的工作就没有融入上游,这样,上游一大改,自己的补丁也就挂了;或是进入上游后许久,又被上游移除,这就是现状。
反观对龙芯支持比较好的 Linux 内核,正是因为龙芯开发者与上游配合,因此不谈外设兼容性,就龙芯 CPU 来说,才能畅通无阻的被 Linux 
所支持;再比如 pixman 的开发者,本身是自由软件的支持者,他为社区开发了 pixman 的龙芯汇编加速代码。它们都是在融入社区为前提下开展工作的。
因此,我认为建设一个活跃的社区,开发者把自己的工作融入社区,社区把工作融入上游,这是开展龙芯相关工作的关键。而且,我认为这不但是发展龙芯事业的关键,而且是很多工作,包括国内 
Linux 发行版在内的关键。Deepin Linux 在这方面树立了一面旗帜。
然而,社区的形成不可能一蹴而就,现阶段,我认为我们这些龙芯开发者应该多利用邮件列表,加强合作;共同解决问题,并将成果推入上游。这样一来,社区才可能慢慢形成。
不知你是否同意?






关键词: 龙芯     社区    

助工
2014-07-05 22:57:50     打赏
2楼
顶起“中国芯”

院士
2014-07-06 10:38:54     打赏
3楼
LZ,你要是做好排版就好了

高工
2014-07-06 15:29:09     打赏
4楼
左对齐算么?

院士
2014-07-06 23:04:54     打赏
5楼
   还有这样的故事啊,不明就里。龙芯是国产的吧,起步晚了一些,难免有这样那样的问题,慢慢来。深入的看看,也许还有其他的问题。

专家
2014-07-06 23:14:04     打赏
6楼
楼主瞄准龙芯了哈

高工
2014-07-07 11:22:56     打赏
7楼
深入了解了一下,感觉玄狐乎的

高工
2014-07-07 11:23:43     打赏
8楼
这都被你发现了,我决定深入进去看看,还有什么问题

院士
2014-07-07 15:12:54     打赏
9楼

   起步较晚、发展较慢、基础较差、人才缺乏等等,这是整个行业面临的问题,否则,我们使用较多的、在市面上看见较多的就会是国产的IC。

   我在维修设备时,拆过一块损坏了的IC,人家为了不让你自己购买、更换,把上面的字磨掉了,现在估计那IC最多可能就30元人民币,可那是进口件,只能先汇款180元人民币(据说这还是协议优惠价)到香港的分公司,再由分公司代为采购回来更换,这是切肤之痛。如果国产IC多了,估计就不会这样贵、这样麻烦了。


高工
2014-07-07 15:16:56     打赏
10楼
我觉得是组织不力,起步晚是事实,但是,总比不起步要好,发展不慢, 。龙芯诞生到现在,出到8和1.5G的3B1500,用的时间和英特尔比比,已经很快了,商业化运营做的很差,没有生态链是最大的问题,居然还要用户“自行研发”操作系统

共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]