初期经过一段时间的试错, 项目最后进入正轨, 现在也时常获得CSS Lint用户和CSS Lint贡献者们的赞许. 其实在你经过思考确定目标之后创建一个成功的开源项目并没有想象的困难.
( Smashing’s 注: 如果你喜欢阅读我们的文章, 你可能会喜欢 Smashing eBook Library(Smashing的电子书库), 以7折优惠获取所有Smashing的电子书并且给你想深入学习的话题投票. 我们会为你准备最适合你的电子书! 现在订阅!)
你的目标是什么?
这一段时间, 好像很多人写了一代代码加上一段开源软件协议, 再把它发布到GitHub, 然后就说: "我把它开源了". 创建一个开源项目并不仅仅是让你的代码可以自由的被访问获取. 所以, 在向世界宣称你开源了那么些除了你自己在空闲时间使用而还没有其他人使用的东西之前, 停下来问一下你自己, 对于这个项目, 你的目标是什么?
首要的目标通常是: 创建点有用的东西. 对于CSS Lint, 我们的目标就是为提升CSS 代码质量,创建一个易适应各开发者开发流程且易扩展的工具. 而不论这开发流程是否是自动化的. 另外, 通过找寻做类似项目的人, 并且想清楚你面向的用户基数有多大来确保你所提供的东西是有用的. 在那之后, 应该被放在第一位的是 决定为什么你要开源这个项目. 仅仅是因为你想分享你完成的东西? 你有打算持续开发这些代码还是仅仅只是把他们扔到外界再也不管? 如果你没有打算持续开发这些代码, 那么这篇文章剩下的部分不适合你. 确保在你代码库中的readme文件里面清晰的声明了你会持续开发这一点以避免找到这个项目的人对此感到困惑. 如果你准备持续开发你的代码, 你考虑过接受别人的贡献吗? 如果答案否定, 再一次, 这篇文章不适合你. 如果答案肯定, 接下来你就有些工作要做了. 创建一个接受外界贡献的开源项目的工作量比它表面上看起来需要做的多. 你不得不创建一个环境, 这个环境可以让那些不熟悉这个项目的人都能很快上手并应用此项目迅速提高他们的开发速度和生产能力, 要做到这点需要一些计划.这篇文章是让你了解如何开始一个开源项目并达到下面这些目的:
选择开源许可证
在发布你的代码之前,最重要的一个事情就是选择一个开源许可证。选择不同的开源许可证会影响你项目的参与者。所有的开源许可证都会保留你个人作为代码创建者的版权。虽然许可证的授权概念有点复杂,但一些常用的许可证和基本的东西还是要了解的。(如果你的开源项目属于公司性质,在选择许可证之前先咨询一下公司的法律顾问)
GPL
GNU公共协议是为GNU项目而创建,并且随着linux作为一种可变的操作系统已被大家所接受,GPL许可要求任何使用基于GPL授权的组件也必须要在GPL下可用。简单而言之,任何使用基于GPL授权的组件在任何方式下都必须在GPL许可下开源。GPL授权的程序没有在使用上限制,这个限制仅仅和派生作品的修改和发布有关
GNU宽通用公共许可证是一种GPL更加宽松的版本。基于LGPL授权的组件可能关联到程序,但是程序本身并不必开源或者基于GPL或LGPL授权,换句话说,LGPL和GPL相似,因此任何派生作品也必须开源。 本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务