如何开始一个新的开源项目(3)

发表于:2013-01-14来源:开源中国社区作者:oschina点击数: 标签:开源
lhyhb 翻译于 7天前 0人顶 顶 翻译的不错哦! 对于CSS Lint, 我们选用了一个基本的 顶层目录结构: src 用于主源代码, lib 用于外部依赖, test 用于 测试 代码。

lhyhb

  lhyhb

  翻译于 7天前

  0人顶

  顶 翻译的不错哦!

  对于CSS Lint, 我们选用了一个基本的 顶层目录结构: src 用于主源代码, lib 用于外部依赖, test 用于测试代码。 src目录进一步分为子目录, 分类相关的文件。 所有的CSS Lint规则都在 rules 子目录; 所有的输出格式化都在 formatters 目录等等。 test目录划分子目录与src目录相同, 这样可以标示测试代码和主代码的关系。 随着时间过去, 我们因为需要已经添加了顶层目录, 但基本结构和开始做的是一样的。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  文档

  很多对开源项目的抱怨是由于缺乏文档。写文档往往没有写程序来得有趣,但对于开源项目成功却至关重要。如果你不想要别人使用你的软件,不想要人们贡献代码,那么只要不提供文档就行了。我们的CSS Lint一开始就犯了这个错误。项目刚启动时,我们没有提供文档,结果大家都不知道怎么用这个东西。不要重蹈我们的覆辙,在启动项目之前,一定要做好文档的工作。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  文档应该很容易被更新,而且不需要push代码就可以更新,必须能根据用户的反馈快速地修改。也就是说,不要把文档与代码放在一个仓库里。如果你把代码放在GitHub上,那么可以用GitHub内置的wiki来放文档。我们的CSS Lint就是把文档放在wiki上。如果你的代码不是放在GitHub上,那么可以用自己的wiki或其它类似的系统来放文档,以便实时地更新它们。好的文档系统应该是很容易更新的,否则你可能永远都不会去更新它们。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  最终用户文档

  无论你写的是命令行程序、应用框架、工具库还是其它什么东东,都要把最终用户深深地放在脑海里。最终用户并不是修改你代码的人,而是使用你代码的人。拿我们的CSS Lint来说,大家一开始不知道怎么用,因为我们没有给出最终用户文档。争取不到最终用户,也就争取不到贡献者。对你的代码满意的最终用户们最后会成为贡献者,因为他们看到了蕴含在代码中的价值。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  开发者指南

  即时你的代码布局合理,文档丰富,也无法保证一定会有贡献者出现。你需要一份开发者指南,让那些贡献者们快速融入进来。一份好的开发者指南应该有下面这些内容:

  如何获取源代码:你当然希望贡献者们都知道怎么check out代码,但世事无绝对。一份友好的介绍总是受人欢迎的。

  代码是如何组织的:即使你的代码和目录结构很清晰,完全能自我说明,也最好写下来,总有用处的。

  如何设置构建系统:如果你用了某种构建系统,那么应该提供一份怎么设置这个系统的说明。如果构建时的一些依赖项没有包含在你的仓库中,那么这份说明中还应该包括怎么获取这些依赖项的信息。

  如何构建:如何进行构建以及单元测试的步骤。

  如何贡献:详细列出贡献的规则。如果你需要人进行单元测试,那么写上去。如果你需要人编写文档,那么也写上去。给出一个检查表,这样大家在提交贡献之前可以先逐项检查一下。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  在与贡献者们的交流基础上,同时也参考了其它人问的一些问题,我花了许多时间来完善CSS Lint的开发者指南。我认为,开发者指南与其它文档一样,应当是一个活跃的文档,它应当随着项目的成长而不断成长。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  邮件列表的使用

  所有优秀的开源项目都会给出一个地方,让大家提问。最简单的方法是设置一个邮件列表。当我们刚启动CSS Lint时,Nicole和我很快被各种问题淹没了。比较麻烦的是,这些问题来自各种渠道。有些人在Twitter上问,有些人直接给我俩写信。你绝对不会想要面对这种局面吧。

AlfredCheung

  AlfredCheung

  翻译于 8天前

  0人顶

  顶 翻译的不错哦!

  利用Yahoo Groups和Google Groups设置邮件列表很容易,而且免费。在宣布项目上线之前,记得先设好邮件列表吧,然后主动鼓励大家用邮件列表来提问。不要忘了在你的网站上和文档里放上邮件列表的链接。

epi.clyce

原文转自:http://www.ltesting.net