成功运作一个开源项目的 15 个要点
来源:互联网 发布:最优路径b*算法 编辑:程序博客网 时间:2024/04/27 23:04
那么,你如何投资这些资源?
在考虑运作开源项目之前,你需要明确定义成功的意义。这里有很多因素要考虑。只将代码放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商业采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多少。
这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议记录(例如归档邮件列表)。
对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放弃对项目的绝对控制。
这并不一定意味着你必须让任何人加入项目,而是要确保每个人适用同样的规则(环境可能是公平的,因此你需要用自己的方法胜出)。英才制度意味着你需要用自己的方式脱颖而出。有些项目实施英才制度,例如,在邀请开发者加入项目团队之前,通过要求他们作出一些贡献,以表明他们了解项目的代码、规则和文化。确保增加新的开发人员到项目中的过程是众所周知的,并且这些流程是透明的(例如公开投票)。
为了实现真正的开放,开发者需要大家认可他们的贡献。如果项目是供应商中立的,那么这更容易实现。供应商中立的项目不由任何组织或机构主导;英才制度应以个人的贡献为基础,不能基于任何特定组织的目标或招聘方法。在供应商中立的基础上托管是实现此目标的一种方式。
文档化项目的代码格式规则(使代码格式化预设易于访问),对测试覆盖面、开发方法、软件和所需工具的期望,与项目团队联系的渠道以及针对潜在贡献者的其他重要信息。抓取所有这些信息,使其尽可能容易被发现。在项目源代码存储库的根目录中包含一个贡献指南是一个很好的做法(通过DVCS,潜在的贡献者将找到存储库副本的副本;存储库中的贡献指南可以让潜在的贡献者轻松找对致力于项目的途径)。
项目代码包含构建脚本和说明。使其尽可能容易地构建成功和测试项目代码。
用户社区是使用开源项目产品的一群人。用户社区很少直接向项目代码贡献任何东西,但却往往会提出很多问题。确保这些问题得到回答。健康的用户社区可以为采用者社区提供信息。
开源项目取得成功的一个明显迹象是,其他组织开始在他们自己的产品中使用或构建扩展你的开源项目。此社区更有意愿反馈项目,这将是项目最好的贡献来源。有些贡献者甚至将是加入项目团队的绝佳候选人。开发采用者和扩展者的生态系统是延长项目使用寿命的好方法。
开发社区由项目团队成员和贡献者组成。为社区内的沟通提供众所周知的渠道。明确的沟通渠道将有助于开发人员的合作。
很容易就会陷入只专注软件开发的模式,但和任何进程(特别是软件开发过程)一样,有些极致的方法至关重要。确保你的项目采用开发方法,并且有人拥有该流程(例如项目负责人)。制定计划可以帮助开发人员知道他们在哪里可以贡献最大的价值,并使采纳者和扩展者更容易实现他们自己的计划(从而取得成功)。像对待任何其他软件开发项目一样地对待你的开源项目。
你的项目将有一个品牌。项目的名称是其身份;项目logo以及任何产品的名称也是如此(开源项目的产品通常与项目共享名称,但有些项目会生产多个产品)。声明项目的品牌为商标,并考虑注册商标。制定商标使用指南,以便采用者知道如何使用此品牌。这是一个与开源软件基金会合作可以增值的领域。基金会可以代表社区持有和捍卫项目的商标。这可以避免任何特定的个人或组织劫持开源项目的名称。
为项目作出贡献的代码、文档和其他工件都是知识产权。谁是这些知识产权的拥有者呢?作者保留所有权还是指派给了另一个实体?确保所有的贡献者理解贡献者的权利和责任。考虑让贡献者签署开发者原产地证书(DCO)或贡献者许可证协议(CLA)。确保版权声明包含在源代码和通知中。
请注意,项目本身不可能作为持有版权的法律实体。这是另一个开源基金会可以提供有价值的服务的地方。
不要创建你自己的自定义许可证;这将为任何想要使用你代码的人增加法律障碍。确保你选择的许可证与你打算使用代码的方式兼容。此外,请确保许可证与你的项目代码所需的任何第三方内容(例如库)兼容。在所有源文件的标题中包含许可证的SPDX代码。
前面已经提到过几次基金会。基金会首先可以帮助你保持项目供应商中立,这将有助于采用:开源软件的魅力大多是因为采用者可以避免被某个特定组织所关注。基金会可以坚持和保卫项目的商标,建立治理模式,帮助你管理品牌,提供知识产权管理服务,并为运营成功的开源项目提供常用的帮助和建议。成为开源基金会的一部分可以提供有价值的反馈循环。基金会可以为你的开源项目提供可信度,然后,开源项目反过来可以为基金会提供公信力。
运作开源项目包含很多工作。但是,正如我们所建议的,它所需要的工作量取决于你对项目成功的定义。总而言之,开放源码开发的核心原则:透明度,开放性和英才制度。其他一切都由此衍生。
译文链接:http://www.codeceo.com/article/15-tips-run-success-os-project.html
英文原文:https://dzone.com/articles/running-a-successful-open-source-project-1
翻译作者:码农网 – 小峰
推荐阅读 免费加微信群交流
为java程序员整理的面试、编码、技巧、资源总结
从小白到全能架构师的资源都在这了
推荐阅读 免费加微信群交流
为java程序员整理的面试、编码、技巧、资源总结
从小白到全能架构师的资源都在这了
java知识和技术查漏补缺,空余时间学习碎片化知识,分享开发、运维、架构等综合性知识,助力职场最后一公里与职业进阶,每天看宝典,就选它。
长按识别二维码关注
- 成功运作一个开源项目的 15 个要点
- 如何才能运作好一个开源项目?
- 运作开源项目的一点经验
- 创建一个成功的App前要考虑的5个要点
- 成佩涛——成功做好软件项目的20个要点
- 每日站立会议的10个成功要点
- 每日站立会议的10个成功要点
- 软件项目策划成功进行的九个基本要点
- 软件项目策划成功进行的九个基本要点
- 成功进行软件项目策划的九个基本要点
- 成功进行软件项目策划的九个基本要点
- 成功接项目需要注意的几个要点
- 成功接项目需要注意的几个要点
- 成功进行软件项目策划的九个基本要点
- 成功接项目需要注意的几个要点
- 要点,成功的成
- 组织运作要点
- 项目成功的12个关键原则
- AJAX判断用户名是否已存在以及密码是否大于6位等问题
- 大规模分布式应用之海量数据和高并发解决方案总结
- 算法题-数列的前n项之和及扩展
- 前端、后端、运维技能树思维导图,你在哪个阶段,码畜or码帝?
- 任务一 Samba服务器配置任务书
- 成功运作一个开源项目的 15 个要点
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- Java堆空间:它是什么?
- win10系统同时装win7系统详细图解
- 实现select中指定option选中触发事件
- Spring思维导图,让Spring不再难懂(cache篇)
- 25岁社招进阿里,从电商到有赞新零售,他仅1年就打开了马云一直想做的新领域!
- 算法题-列出x-n之间素数并统计个数
- maven plugin develop