82天突破1000star,项目团队梳理出软件开源必须注意的8个方面

作者:网友投稿 时间:2019-09-06 16:19

字号

近期,我们在GitHub上开源了微服务任务调度框架SIA-TASK,82天,收获了1000+个star!由于这是SIA团队第一次开源项目,开源的相关工作,团队之前并没有太多的经验,因此我们特别整理了本次开源的各种记录事项,希望给今后开源的项目做参考。

一、开发

在开源项目的开发过程中要注意以下几点:

首先,要给自己的项目取一个合适的名字,取名规则这里不再赘述,需要强调的一点是:项目名称不能与GitHub上已开源过的项目名称相同。

其次,选择合适的编程语言。

再次,编码过程中要注意代码的规范。

最后要说的就是开源协议的选择了,目前最流行的开源协议有以下六种:GPL、BSD、MIT、Mozilla、Apache和LGPL。

不同的开源协议之间的差别还是挺大的,具体如何选择,可以参考一张图看懂开源协议(https://blog.csdn.net/cwt19902010/article/details/53736746),如果这些常用的开源协议都不适合你的项目,你也可以自己写一个自己的开源协议。

为了更方便查看开源协议选择图,参考图如下:

82天突破1000star,项目团队梳理出软件开源必须注意的8个方面

以Apache License Version 2.0协议为例,比较常用协议与Apache协议冲突情况,冲突图如下:

82天突破1000star,项目团队梳理出软件开源必须注意的8个方面

二、协议

项目开发完成之后,需要梳理出项目中使用到的协议(包含项目引用的组件中用到的协议),此处推荐使用maven许可证插件。插件配置参见License Maven Plugin(https://www.mojohaus.org/license-maven-plugin/)maven许可证插件在主pom中配置示例如下(此处开源协议采用Apache 2.0)

<!--开源协议采用Apache 2.0协议-->  

    <licenses>  

        <license>  

            <name>Apache License, Version 2.0</name>  

            <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>  

            <distribution>repo</distribution>  

        </license>  

    </licenses>  

  

    <plugins>  

         <plugin>  

             <groupId>org.codehaus.mojo</groupId>  

             <artifactId>license-maven-plugin</artifactId>  

             <version>1.13</version>  

             <configuration>  

                 <!-- config for license:aggregate-add-third-party -->  

                 <outputDirectory>${main.basedir}</outputDirectory>  

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>开源 技术 趋势
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接