本帖最后由 fancifully 于 2017-2-8 15:18 编辑
一、龙芯社区工作的战略转折 龙芯公司坚定不移的建设自主IT生态,开源软件社区是建立生态的重要平台,是汇聚开发者力量的阵地。从2017年开始,龙芯针对上游开源软件社区的工作思路有了一个战略性的转折,将龙芯多年以来的软件开发向上游社区大举提交,向全世界的开发者和用户贡献大量有价值的代码资源,由往年的被动追随开源社区转型成为上游开源社区的活跃主体,进而掌握主导性和话语权。目前已经成功接收龙芯提交代码的开源社区主要有QEMU、nodejs、Fedora等。 二、龙芯公司提交QEMU的mips64平台即时编译代码 Qemu是一个有广泛影响力的开源虚拟机项目。QEMU最早是一个跨平台的二进制翻译器,用于模拟PC、Arm、Mips、Alpha等不同体系结构的CPU平台。近年来QEMU主要的发展方向是服务器虚拟化,对于KVM有良好的支持。QEMU现在每3个月升级一个小版本,在这个周期中会接收大约100多名开发者的代码,累计commit达到几千次。 由于QEMU底层使用了即时编译技术,因此对于所运行的平台有移植要求。如果要发挥即时编译的效率优势,需要重新编译即时编译的代码(QEMU内部称为tcg),涉及到几千行代码的工作量。否则只能使用平台无关的纯解释器运行模式,效率只有即时编译的10%。 长久以来,QEMU对mips平台只实现了32位的即时编译代码,一直没有实现64位的即时编译器。龙芯公司首次完成了这一重要功能特性,在mips64平台上实现了完整的后端即时编译代码,并且全部提交给上游qemu官方社区。经过一个月的审核,前后修改6次,又等待审核者过圣诞节的20天,审核者恢复工作的第一个回复的邮件就是通过审核。现在已经集成到官方git仓库,在下一版qemu-2.9.0中就正式包含了。 此事件对于龙芯公司介入qemu的mips分支具有决定性意义。 三、龙芯公司提交nodejs的mips64el平台支持代码 Nodejs是在服务器端运行Javascript语言的虚拟机平台和运行库集合,在开源Web开发领域影响很大。以往nodejs官方代码只支持mips32位平台,由龙芯公司实现了mips64平台支持代码,并且提交给官方,在9天的时间通过审核,并且已经到官方代码库。
四、龙芯公司提交Fedroa25 mips64el版的remmina二进制包 Fedora25于2016年12月发布,是Fedora25的最新版本。Fedora25的mips64el版本由imgtec.com编译,但是维护的工程师人数较少,缺少很多重要的软件包。龙芯公司有多年维护龙芯版本Fedora的能力和经验,投入了操作系统工程师在这个项目上,向Fedora25的mips64el提交了remmina(远程桌面软件)等二进制包,已经被官方接收。 后面龙芯公司还会向Feodra25 mips64el发行版大量提交其它重要软件包,包括qemu、nodejs、eclipse、firefox等,成为这一发行版的重要开发力量。 五、总 结 龙芯公司拥有建设软件生态的信念,在短短1个多月内已经完成多个社区项目的提交成果,彰显了开放的胸怀和向全世界开发者贡献代码的热情。在2017年,龙芯已经准备好向更多的社区提交代码,包括内核、编译器、Java、浏览器、图形库、发行版都会不断涌现loongson.cn的身影,龙芯的影响力在开源领域落地生根。
|