设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

做一个优秀的开源项目需要注意哪些方面?

2014-1-26 11:12| 发布者: joejoe0332| 查看: 6449| 评论: 0|原作者: archychu|来自: 伯乐在线

摘要: 如果你想发布一个开源库,请确保它有以下特点:清晰的依赖性和安装说明;至少有一个简要的文档指南;修改日志和仓库中的标签;关于支持的语言、运行时、工具版本的信息和项目的成熟度;一个可以让用户提问和交流的邮 ...


  宣布版本发行

  在你发布一个版本字之后就是要写一个博客日志,或者在你们项目的邮件列表或更大的相关的邮件列表中发个更新(比如Clojure邮件列表或者RabbitMQ)

  确保主题是以ANN或者[ANN]开头的,这意味着这是一个通告。比如

ANN Welle 1.5.0 发布了

  在你的通告中,清楚的说明你的项目是做什么的,它是否向后兼容,并且有到修改日志的链接,可以让用户找到更多的细节。就是这样了。


  开发时使用预览或者快照版本

  你有没有曾经看到一个项目用同一个版本,比如0.2.1将近半年?你怎么知道哪一个版本才是0.2.1呢?这是一个还在开发中的版本吗?是不是有人升级后忘了修改版本号?到底怎么回事?

  这会让所有的开发者疯掉的!千万别做那样的人!在项目中用预览或者快照版本,当你快要发布一个版本的时候才揭开那个版本。然后立即升级那个版本。

  举几个开发版本的例子:

  • 1.1.0.pre1

  • 1.1.0-alpha1

  • 1.1.0-SNAPSHOT

  任何其他开发版本的命名格式是不清楚的,并且会你的用户很不愉快。


  怎么把它搞糟

如果你想完全坑你的用户,试试下面:
* 随意打破公用的API,最好巧妙地,连你的测试也不会发现API的修改
* 忘了升级版本信息
* 从不给版本加标签
* 从不宣布版本发行

使用GitHub

我和gitHub没有友好关系,也不要假设Git是“最好”的版本控制系统。但是它真的不错。最近几乎所有人都在使用GitHub。

GitHub让下面几件事变得更简单:

  • 发现你的项目

  • 浏览和搜索代码

  • 通过填问题或者@使你能够关注问题

  • 为小的改动做出贡献

可能最重要的是,GitHub对不是技术大牛的很友好。是的,它的确是,同时他们正努力让它变得更好。

使用GitHub意味着你能尤其简单地使用CI的服务(Travis CI)。

如果你不让你的用户去处理补丁、为了提交问题在网上到处找你的email、通过糟糕的3G网络复制你300M的仓库只是为了编辑一个排版错误,你将得到更多的赞赏。

@old_sound @g3rtm bitbucket毫无疑问是很好的服务。但对于使用公开代码的人开始显得有点难了。– Michael Klishin (@michaelklishin) 21 de enero de 2013

不要把事情弄得困难。

提供一个让用户可以得到帮助的地方

如果你的项目达到了一定程度的流行度,你必须回答关于它的一些问题。为了这一点,设置一个邮件列表(一个Google群)或者如果你经常上IRC的话,开启一个通道吧。

认为你没有足够的时间?使用邮件列表最好的部分就是如果你给了一个途径,用户会互相帮助。所以在你项目的README中清楚地说明可以获得帮助的途径。

在Twitter上经常搜你项目的名字,你就会发现各种各样的问题,批评和表扬的。如果你频繁地使用Twitter,为你的项目创建一个独立的帐号,就像我们的@ClojureWerkz

这可以让你创建一个社区,让你知道人们是怎么使用你的项目的、还有什么地方可以提高。最后,它会帮助你找到可以帮助你维护你项目的人。这不仅能节省你的时间,也会鼓励人们到处宣传你的项目。

如果你需要一个例子,Welle README有一节关于社区和支持的。

怎么把它搞糟

如果你想完全坑你的用户,试试下面:

  • 关闭你Github上问题的功能

  • 用开发协议,那么用户必须写纸质信到坦桑尼亚

  • 即使在README中修改了一行也要使用补丁

  • 把你的项目放到Darcs,即使它是Ruby、JavaScirpt或者Clojure的项目

  • 让人们很难找到项目在哪儿

这可以防止人们为你的项目做出贡献或者从你地方偷一点想法。

传给别人

到了一定时候,你可能对维护你的项目变得不感行却了。可能你已经换了一个新工作,或者不再使用你自己的项目了。在邮件列表中宣布这件事,让其他人来 接管这个项目。不久以后,有人会来帮忙的。在Github上对这种事是有好处的,特别是他们已经公布了一个让你转你仓库管理权的新特性。

不管你做什么,不要让你的项目变成没人负责的项目。这是最确信的方式可以让你现在或者未来的用户可以继续小猫大屠杀。

把项目移交给别人总是比之后找借口更好的。

怎么把它搞糟

如果你想完全坑你的用户,试试下面:

  • 没有解释地直接停止贡献代码,回答邮件列表的问题

  • 忽略提交请求,说他们的提交没有用,应该提交其它

  • 说你是一个一旦问题解决就没有任何兴趣的人

这样就可以确保你的项目最后会被复制至少300次,最后一个代替的项目会被创建,因为搞清楚那个复制项目解决了那个问题是很烦人的。

最后的思考

正如你看到的,让你的项目可以被接受不是那么难吧。除了文档说明,让你的用户不生气,让运维的人不讨厌你也不需要花太多的时间。

维护一个开源项目是需要时间和精力的。但是它也是有回报的。我从GitHub还在测试的时候就已经在使用它了,而且几乎可以说没有其它什么事情让我有更多的专业机会。我很高兴我能有今天而不是活跃在开源社区。

如果你不想做一些很酷的事情,可能不要在第一时间就发布它。

原文链接: ClojureWerkz   翻译: 伯乐在线 - archychu
译文链接: http://blog.jobbole.com/57767/


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部