如何推广一个开源项目?


29

首先,对于这是发布此问题的网络错误部分,我深表歉意。如果是这样,请随时将其移至更合适的位置...

问题:我想听听您关于开源项目启动和运行方式的想法。我有一个开源内容管理系统项目,这里出现了一些问题:我应该如何行动?我是否可以提出一个可行的pre-alpha版本,并且先在前端和后端工作,然后再公开宣布该项目?还是我应该从头开始宣布它?作为一名开发人员,我知道应该使用像Git或SVN这样的版本控制系统,但我没有问题。单元测试的优点也是要记住的,老实说,我一点也不喜欢...项目管理-充其量我还是一个初学者。我想探索诸如敏捷开发之类的编码技术和经验...

简而言之,最欢迎对开源世界陌生的开发人员有任何想法。


1
附录:如果您有大型项目/开源项目的经验,请回答,并尽量不要提供假设/理论的想法,而是要提供经过实践证明的想法。
Shahriyar Imanov

开始编写解决问题的代码。一旦以最基本的方式解决了这个问题;找到一个共享问题的人的网络,并请他们尝试一下。 “如果你盖了,他们会来的。”
杰克·伯格

Answers:


31

我将停止写这样的事情:

附录:如果您有大型项目/开源项目的经验,请回答,并尽量不要提供假设/理论的想法,而是要提供经过实践证明的想法。

这种傲慢的态度实际上会杀死更多的开源项目。开源不是源,而是协作。欢迎每一个想要帮助的人,即使他们没有实际经验也要这样做-您可能知道,帮助开源项目获得经验是很常见的做法。

第二点是,如果您没有有效的代码,则不必担心升级。去看看sourceforge或Google Code或任何地方,看看无数的死项目,无非是几行代码和很多善意。先编码,再说。

最好的促销活动是拥有一个“客户”:让某人使用您的产品,以便人们可以看到它实际上在生产中。如果是CMS:例如,将其用于项目站点。

如果您拥有所有这一切,那么晋升的最佳选择就是口碑。例如,请朋友在其网站上使用您的项目。博客相关文章,并为Digg或Slashdot之类的聚合站点提交文章,但是,如果该项目还没有准备就绪,请不要这样做。没有人想阅读有关蒸气软件的信息。

祝您项目顺利。


那就是我的想法:想出一种可行的,坚实的东西,以便人们可以在实际操作中看到它,并感觉到真正的东西已经存在。但是,我的一个朋友建议从第一天开始邀请其他开发人员,以免日后对路线图进行大量更改。
Shahriyar Imanov

11
@Shehi为什么有人不写一行代码而只用蒸气软件就加入一个项目?我见过一些工作产品难以吸引更多开发人员的项目。我不会浪费时间来寻找没有任何东西可以展示的开发人员。
Vitor Py

4

您的问题含糊不清,但我会尽力而为。我假设您想吸引开发人员加入该项目,因此您不是唯一从事该项目的人吗?

在这种情况下,您可能希望在Github和/或Source forge上获得一个帐户,以便任何人都可以访问它并进行更改。首先,您将是唯一从事此工作的开发人员,因此您不必担心项目管理,但是只要有多个人员参与,您就需要进行代码审查,设定目标等。

可以将目标汇总到诸如bugzilla之类的问题跟踪系统中,将其添加为需要修复的bug,并允许人们将其分配给他们,或者让他们通过电子邮件将问题分配给一个中央人员。

您将需要吸引大量开发人员,因此您将需要一个描述项目的网站,并在短期和中长期内看到自己的位置,以及屏幕截图等。

一个项目博客/推特,如果有用的话,它允许用户跟踪您的位置。


回答您的第一个问题:是的,这就是意图。
Shahriyar Imanov

4

如果您还没有读过它,我建议您使用雷蒙德的《大教堂和集市》,并特别注意他在Fetchmail方面的经验。

基于此以及我的经验,我建议在解决其他人可能遇到的问题后立即发布代码。是的,您应该使用一些主流源控件,并将其发布到服务器上的某个位置。您需要选择一个许可证,这可能取决于您的目标。但是在发布内容和发布时间方面,“尽早发布,经常发布”。


我会检查一下。谢谢!
Shahriyar Imanov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.