保持大量业余爱好项目的最佳方式;开源?

时间:2009-03-08 13:05:08

标签: open-source

因为我的时间有限,我通常只关注一两个我的爱好项目,而其他人则坐在那里浪费。

我正在寻找一种能让我更好地分配时间的解决方案。是开源的,我负责指导项目的现实,还是有更好的解决方案?

就我而言,一个项目拥有一个合理规模的用户社区,但目前是封闭源代码。有人要求开源。

7 个答案:

答案 0 :(得分:12)

开源可能确实是一个好主意。如果您的项目对其他人有趣且有用,那么开发人员可能会比您想象的更快。看到其他人接受你的工作并为之做出贡献,这也是一种极大的乐趣和动力。

另一方面,如果你开源项目,不仅仅是把它扔在Sourceforge上。为了使项目对其他开发人员具有吸引力,它应该具有:

  • 您尽可能广泛使用的公共SVN,git或等效存储库
  • 网站或小型wiki(或您网站上的某些页面),包含下载和构建的所有必要文档以及任何代码
  • 代码
  • 的良好文档(最好是你可以在网站上输入的doxygen)
  • 如果您真的想激励他人处理您的代码,也许您必须清理项目及其设计
  • 在每个版本中更新的puremeat.net(如果是Unix项目)等典型网站上的列表;如果可能的话:与相关社区进行沟通,比如在其他项目的邮件列表中发布您的项目。
  • 即使没有处理特定项目,也对任何有关它的查询都非常敏感

我用我的两个项目做了这个。几个月后,它们被纳入主要发行版。又过了一段时间,我找到了一个法国人为其中一个项目写了一个完整的gui。一些开发人员对另一个感兴趣,但最终没有人真正发送补丁。

如果你只是做了一半 - 把它扔到Sourceforge然后每两年上传一个新版本 - 我不知道它会如何帮助。您投入的越多,您的项目对其他人的吸引力就越大,开发人员的收入会帮助您从长远来看获得收益。

您的案例的答案可能是考虑哪些项目真正/最值得这些努力,然后继续使用它们。

答案 1 :(得分:11)

您的项目仍将作为开源浪费。开源项目需要更多工作,因为您必须:

  • 使文档保持最新,以便其他开发人员能够理解它
  • 如果您确实让人们提交更改,请将其整合或向他们解释为何不能包含更改。
  • 保持对产品应该是什么的愿景,并阻止人们实施有损于该愿景的功能。

答案 2 :(得分:5)

使用 - 或找一个人。

只有在需要功能和修复,人们拼命解决错误或者解决“如果只是......这将解决我的问题”时,它们才能生存下来。没有需求,没有人会觉得不得不深入挖掘你的代码,你自己包括在内。

如果用户在那里并且您很难满足他们的需求,那么开源是一种可行的解决方案。

但是,向SourceForge提交项目并在其上贴上“GPL”标签将不会创建需求。您至少可以提高可见性:设置网站,添加一些口头描述,确保谷歌索引它,将其提交到“免费软件”网站。

如果是编程工具,请尝试将它们用于您的正在进行的项目中 如果它是应用程序,找出他们解决了什么问题,那么还有谁遇到了这个问题,那么他们为什么不使用它。

或者 - 即使听起来很刺耳 - 让他们安息吧。

答案 3 :(得分:4)

项目还活着,因为有人照顾他们。默认情况下,开源不是解决方案,只需查看SourceForge上的大量死亡或其他孤立产品。

如果您打开源代码,则下一步是构建一个用于管理产品的用户群。构建此用户群后,您可以远离它。

答案 4 :(得分:3)

一次只关注一个项目(最多两个)。根据项目对他人和自己的有用性确定项目的优先级。专注于(1)最有用且拥有最多用户的项目(例如,如果它做了其他程序没有做的事情),或者(2)给你最大的智力挑战的项目。如果项目都是,那就更好了。

如果您将项目保持活动足够长的时间以便收集大量用户群,那么第一类中的那些人可能能够以开源形式存在。然后其他一些开发人员也可能对项目感兴趣并加入它(对于Subversion项目,在第一个开发人员从外部加入它之前需要几个月 - mentioned in this video大约32分钟)。只有一个开发人员的项目可能随时死亡,但如果有多个有动力的开发人员,那么项目就有更好的生存机会。重要的是让一些工作得到释放。如果没有人可以使用该程序,那么它将不会聚集用户群。

后一类人主要是为了让你自己学习一些东西,但这对其他人来说可能不那么有价值。如果你对它们失去兴趣,只需将代码埋在硬盘的一角并继续前进。即使您将其作为开源发布,也没有人会继续开发它。如果您愿意,只需将其压缩到一个包中,然后将其放在您展示已完成内容的网站上,但不要指望任何人下载和使用它,更不用说继续开发它了。

http://producingoss.com/上的书籍和视频是了解如何使开源项目取得成功的良好来源。

答案 5 :(得分:2)

将项目数量保持为两个或三个,并开源。继续自己破解代码并花一些时间来指导几个项目。开源并不意味着您现在可以拥有数十个项目并完全依赖于您的同行程序员。

答案 6 :(得分:0)

对于您认为不值得花时间的项目,您仍然可以在作为OSS发布之前更改其名称,并让您的用户群知道。很明显它是别的东西,你不会参与,但它可能只是一些程序员等待着你的工作继续前进。