论文部分内容阅读
在复用开源软件源码过程中,特别是基于开源软件的商业软件开发中,开源软件许可证冲突问题逐渐被提上日程,开源软件许可证检测变得越来越重要。但是开源软件的质量一直受到大众特别的商业软件开发者的不信任,一是由于开源软件开发流程不规范,二则是由于开源许可证众多,容易引发法律问题。因此引出了本文研究的几个主要问题:(1)有没有现成的工具直接进行开源许可证检测?(2)有没有良好的许可证检测接口直接给用户使用?(3)是否可以根据许可证冲突的情况,给出一段时间内许可证冲突的变化趋势图,使用户可以掌控许可证的冲突,并做出适当的处理?经研究发现OSLC(Open Source License Checker)工具已经实现了对开源许可证的检测,但它只能给出检测的结果却不能进一步分析。中欧最大的开源项目QualiPSo致力于在世界范围内推广开源软件,提高开源软件质量,其产品Factory与Platform是一个方便软件集成,能展示运行结果以及分析结果的平台,其中Factory采用SOA架构,采用统一的管理方式,方便第三方服务集成;Platform则采用软件成熟度评估与分析工具Spago4Q,可以给出一段时间内的变化趋势。故将OSLC与Factory和Platform集成进行服务开发,就可以借助于Factory的基础服务与Platform的成熟度分析模型对开源许可证进行检测,并得到冲突变化趋势图。本文结合欧盟开源软件项目QualiPSo,设计并开发了基于QualiPSo的开源许可证检测系统。内容包括该系统的设计与实现,对OSLC许可证的研究,系统与QualiPSo Factory的集成设计实现,以及与QualiPSo平台Spago4Q集成的设计与实现。该系统以两种界面展示给用户,用户可以直接在Factory中通过程序源码所在的SVN地址,用户名和密码,检测出程序中的开源许可证情况;也可以在Spago4Q中设计提取器对服务检测结果进行分析,并利用分析工具得到一段时间许可证冲突的变化趋势,从而更好把握许可证冲突解决情况,有针对性的查看解决许可证冲突。总之,本文对开源许可证进行法律研究,并与欧盟开源软件项目QualiPSo相集成,从实践上保证了基于开源组件的软件开发的法律质量。