摘要:简要介绍中国首个开放源码社区的历史,创新点,协议,发展策略, 并对一些常见问题进行探讨。
1.1 OpenHard简史
2004年,西安交通大学的研究生陆佳华在与Xilinx亚太区市场经理Simon Ho 的一次谈话中,提出在西安交通大学建立Xilinx学生俱乐部。
2006年9月19日,在Xilinx大学计划中国区经理谢凯年的推动下,西安交通大学建立Xilinx学生俱乐部正式成立,并着手建立学生俱乐部网站, 并确定了以开放源码硬件为主线的俱乐部发展方向。
2006年9月29日,西安交通大学建立Xilinx学生俱乐部主席王飞成功注册了www.openhard.org 域名。 2007年1月, Xilinx资助的服务器到位,OpenHard上线。
2007年初,上海,天津,北京等地的学生俱乐部相继筹建和成立。
2007年6月, OpenHard改版,以Web2.0方式创建中文开放源码硬件社区,面向广大学生和学术机构,骨干为各地的Xilinx学生俱乐部成员,并在中国发起首届开放源码硬件大赛。
2007年6月22日,OpenHard 迎来了首个学生团队,武汉科技大学闵华松教授带队的嵌入式系统实验室,并创建了第一个项目:基于以太网的嵌入式数据采集系统。
1.2 OpenHard 的创新之处
1.2.1 开放源码和商业工具共存
与以往的开放源码硬件网站(例如OpenCores)的理想主义不同, OpenHard 不排斥商业EDA软件的使用,也不排除商业IP核的应用。 相反,商业软件和IP核的引入会大大促使开放源码硬件的发展。
例如,OpenCore中的项目 "True matrix 3x3 multiplier",如果要测试验证这个核在SOC中的应用效果,采用纯开放源码软件会非常麻烦, 而如果利用Xilinx的EDK快速构造一个嵌入式系统对这核进行测试,相对简单。
Xilinx 公司在全球的数千所大学的广泛捐赠,使得Xilinx的开发工具例如ISE, EDK,CHIPSCOPE,SYSTEMGENERTOR 等工具在大学和研究机构非常容易获得。非常多的IP在ISE中已经包括。对大多数IP, 除了捐赠外, Xilinx还提供可以立即下载的评估板, 完全可以满足绝大多数教学和研究的需要。
1.2.2 统一的硬件开发平台
回顾一下历史,开放源码软件以及Linux的兴起和PC平台的统一性密不可分。 正是因为大家都在同样的硬件平台上开发,才使得在互联网上协同设计和调试成为可能。
OpenHard 中要采用的统一硬件平台是Xilinx的大学计划板,目前有Basys, Nexsys, Spartan3E, XUP-V2PRO等型号,逻辑容量从10万门到300万门不等,XUP-V2PRO 板还拥有2个PowerPC硬核处理器。
这些大学计划板,在全世界大学的实验室中具有数万套的捐赠和安装,全世界任何一个学校的教师通过申请,都有可能获得资助。 在中国,也有非常多的安装数目。 这些Xilinx大学计划板,构成了OpenHard社区协同工作的基础。
随着Xilinx的65 纳米技术芯片的量产, Openhard社区支持的开发板资源也将向更大容量和更强功能的方向发展。
1.2.3 厂商的支持
无疑,作为OpenHard的发起者,Xilinx公司大学计划会对这个社区持续投入资源进行支持, Xilinx公司也会从公司的工具的广泛使用中获得更高的市场认同度(Mind Share)作为回报。
作为Power构架的拥有者, 有理由相信,IBM公司会支持该社区基于PowerPC的SOC的设计和发展,其依托板卡正是内嵌有双PowerPC核的Xilinx的XUP-V2PRO 板。
MathWorks公司由于提供Matlab和Simulink 工具,可以直接将算法设计生成Xilinx的FPGA实现,有理由相信,Mathworks会支持基于Simulink的开放源代码算法设计。
NI 公司提供的Labview 目前可以和Spartan3E板连接,这样,为大学低年级的学生可以提供简单的基于图形化的硬件设计和创新平台,NI公司也热心于提供基于labview的开放源码设计。
由于可以从OpenHard 中找到潜在客户, 芯片代理商会对此社区持续关注和支持。
当OpenHard中的项目取得商业成功,有些项目可能会走向ASIC, 因此,ASIC代工厂,芯片设计服务公司也会对此社区出持续关注和支持。
由于可以从OpenHard 中找到潜在的设计天才,各大公司的人力资源部会持续关注该社区 。
OpenHard还可以派生出更多的商业模式,例如板卡提供商,培训提供商,设计服务等。
1.2.4 中文开放源码硬件社区
尽管OpenHard最终将走向中英文双语,但由于社区发起者和会员主体是中国学生, 对于不擅长英文的中国学生和工程师来说, OpenHard 社区是一个可以用母语交流的平台, 有助于培养大量的具有自主创新能力和从源头创新能力的人才, 随着社区的发展,更可以成为非常多的中国源头创新的发源地。
1.2.5 开放源码的硬件/软件/算法/系统的统一
OpenHard 是并不简单是开放源码的硬件,事实上,它更多地将提供开放源码的解决方案。 在这个解决方案中,并不要求所有的IP都是开放源码的, 而构成该解决方案的框架,软件,算法,系统设计,都是开放源码的。
对于广大开放源码软件社区的Linux爱好者来说, OpenHard提供了一个施展才华的平台。 目前,OpenHard中提供的Spartan3E和XUP-V2PRO板, 均可直接运行linux, 这样, 即使不懂任何硬件设计, 就可以在上面开发应用软件。
对于从事操作系统底层的嵌入式软件开发人员, OpenHard提供了一个难得的平台,可以提供linux内核调试,设备驱动程序开发, Bootloader开发等锻炼, 更进一步, 通过驱动自定义的外围设备,可以位SOC的硬件抽象层(HAL)开发提供了经验。
对于从事算法研究的人员,可以构造硬件协处理器加速算法的执行,或者进行软硬件划分,得到最优的系统设计。
1.3 OpenHard 的协议
1.3.1 LGPL许可协议
OpenHard中采用的协议和OpenCores中最常使用的协议相同,即 LGPL协议。 该协议是GPL的一个为主要为库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL库的的软件必须采用GPL协议不同, LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业设计作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
对开放源码硬件来说,这意味着商业设计可以用引用IP库的方式将开放源码硬件整合到自己的设计中而无需付费,但是如果对库中的代码进行了任何修改和优化,则必须回馈回社区。
1.3.2 MIT许可协议
是MIT协议非常宽松,和BSD协议一样你可以为所欲为,甚至不需要费劲在头文件中引用BSD协议,但是,新代码中,你必须提到原有作者的名字,体现一种尊重。
对于学校的老师和学生的非营利性项目来说,最大的成就是自己的贡献被别人引用,因此MIT协议最适合非营利组织。 Openhard推荐大家采用这种协议,以便最大限度地服务于中国自主知识产权事业的发展和源头创新。
1.3.3 中国的开放源码硬件协议
LGPL和MIT 协议都是软件开放源码协议,国外也有讨论做专用的硬件开放源码协议。我们相信,经过一段时间的时间,Openhard 社区完全有能力开发一套适合中国国情的开放源码硬件协议。
1.4 OpenHard 的发展策略
站在巨人肩膀上发展是最佳策略。英文的OpenCores社区已经拥有很多资源,因此,第一步,OpenHard要做的工作就是把OpenCores的成果尽可能多的移植到统一的Xilinx大学计划板平台上,然后在此基础上,进一步提高。
此外,OpenCores社区之外,也有很多大学提供的开放源码硬件设计,也可以移植过来,在统一的Xilinx大学计划板平台上跑通,然后进一步创新。
1.5 OPENHARD常见问题解答
1.5.1 OpenHard 与 Xilinx 学生俱乐部是什么关系?
答:Xilinx学生俱乐部是中国各地的高校学生中Xilinx技术的爱好者发起和组织的学生社团组织, 是OpenHard 社区的骨干,是推动和实施OpenHard上的开放源码硬件项目的主题,也是Xilinx组织讲座,提供技术支持等活动的依托力量。
1.5.2 OpenHard 与 Xilinx公司是什么关系?
答: OpenHard 是Xilinx大学计划在中国地区资助的非营利学生社团组织,是Xilinx学生俱乐部的官方网站。 OpenHard 与Xilinx公司不存在任何隶属关系, Xilinx公司不对OpenHard上的内容负任何法律责任。
1.5.3 什么样的项目可以进驻OpenHard社区?
答:原则上任何开放源码的项目均可进驻OpenHard社区, 进驻后1年内,其项目的初始版本至少能够在一块Xilinx大学计划板上运行, 否则将列入非推荐项目区域, 在非推荐区域中,该项目人可以继续进行,直到在Xilinx大学计划板上运行通过。
1.5.4 那些人员可以进驻OpenHard社区?
答:原则上任何人何感兴趣的人士均可进驻。 但是, 由于涉及到软硬件捐赠,OpenHard社区将严格区分Xilinx学生俱乐部成员,指导教师,一般学生,一般高校教师,非营利机构职员,商业机构人员(一般人员)等。
1.5.5 Xilinx对OpenHard社区项目有何支持?
答:对于Xilinx学生俱乐部成员,指导教师,一般学生,一般高校教师,Xilinx会根据情况采用软件捐赠,板卡捐赠,芯片捐赠等方法给予支持。另外,对于OpenHard社区项目,Xilinx 会提供各种形式的技术支持。
1.5.6 我的项目不开放源码可以吗?
答:可以。Xilinx鼓励在OpenHard 社区开放源码,但您也可以选择以私有项目的方式进行,这时,OpenHard更多地充当项目管理的工具和技术支持的角色。 但是作为验证可以在Xilinx大学计划板上可以运行的手段,您必须至少在项目开工1年内提供比特流供验证。
1.5.7 OpenHard 与Xilinx开放源码硬件创新大赛的关系
答:Xilinx开放源码硬件创新大赛是Xilinx组织的针对中国高校学生的大赛, 其目的是普及OpenHard社区以及开放源码硬件设计的理念, 大赛将以OpenHard 社区为依托进行。
1.5.8 我的设计中如果用到了XILINX的 IP怎么办?
答:一些XILINX的IP是随着ISE软件一起发布, 如果您是高校教师,可以向 XILINX大学计划申请正版ISE软件捐赠,或者直接申请该IP的捐赠。 大多数XILINX的IP 提供数小时评估版, 对大多数系统评估和开发已可以满足要求。