代码之家  ›  专栏  ›  技术社区  ›  Daan van Yperen

保持大量业余爱好项目的最佳方式;开放式采购?[关闭]

  •  3
  • Daan van Yperen  · 技术社区  · 16 年前

    因为我的时间有限,我通常只能专注于我的一到两个业余项目,而其他人却在那里浪费时间。

    我正在寻找一个能让我更好地分配时间的解决方案。我担任项目指导角色的开放式采购是现实的,还是有更好的解决方案?

    在我的例子中,有一个项目有一个相当大的用户社区,但是它目前是封闭源代码的。有人请求打开它的源代码。

    7 回复  |  直到 9 年前
        1
  •  12
  •   ypnos    16 年前

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

    另一方面,如果您打开一个项目的源代码,那么它不仅仅是通过将它扔到sourceforge来完成的。为了使项目对其他开发人员具有吸引力,它应该具有:

    • 尽可能广泛地使用自己的公共SVN、Git或等效存储库
    • 一个网站或小维基(或你网站上的一些页面),包含所有必要的文档以供下载和构建,以及任何代码
    • 良好的代码文档(最好是您可以在网站上添加的doxygen),
    • 如果你真的想激励别人去做你的代码,也许你也必须清理项目和它的设计。
    • 一个典型网站的列表,比如新生网(如果是一个Unix项目),你会在每个版本中更新它;如果可能的话:与相关社区的交流,比如在其他项目的邮件列表中发布你的项目。
    • 即使不处理特定的项目,对有关它的任何查询都会做出很好的响应。

    我做了两个项目。几个月后,它们被包括在主要发行版中。过了一段时间,我发现一个法国人正在为其中一个项目编写一个完整的图形用户界面。几个开发人员对另一个很感兴趣,但最终没有人真正发送补丁。

    如果你只是半途而废——把它扔到sourceforge上,然后每两年上传一个新版本——我不知道它会有什么帮助。你在IT上的投资越多,你的项目对其他人的吸引力就越大,开发人员的收入就越能帮助你从长远来看获得收益。

    您的案例的答案可能是思考哪些项目真正/最值得这些努力,然后继续进行。

        2
  •  11
  •   Steve Hanov    16 年前

    您的项目仍然会作为开放源码浪费掉。开源项目需要更多的工作,因为您必须:

    • 使文档保持最新,以便其他开发人员能够理解
    • 如果你真的让人们提交变更,整合他们或者向他们解释为什么他们的变更不能被包括在内。
    • 保持一个关于你的产品应该是什么的远景,并且防止人们实现那些偏离远景的特性。
        3
  •  5
  •   peterchen    16 年前

    使用它们 -或者找一个这样做的人。

    只有当对功能和修复有需求,人们拼命地处理bug,或者想“如果……这可以解决我的问题……”时,它们才会存活下来。没有需求,没有人会感到被迫去挖掘你的代码,包括你自己。

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

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

    如果是编程工具,试着把它们运用到你正在进行的项目中。
    如果是应用程序,找出他们解决的问题,然后是谁遇到了这个问题,那么他们为什么不使用它。

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

        4
  •  4
  •   Michael Stum    16 年前

    项目是活的,因为有人在照顾它们。默认情况下,开源不是解决方案,只需查看sourceforge上大量死掉或孤立的产品。

    如果您是开放源码的,那么您的下一步就是建立一个用户库,来管理产品。一旦建立了这个用户群,您就可以远离它。

        5
  •  3
  •   Esko Luontola    16 年前

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

    如果您保持项目的活动时间足够长,使其能够收集大量的用户群,那么第一类中的那些人可能能够作为开放源码生存。然后其他一些开发人员也可能对这个项目感兴趣并加入它(对于颠覆性项目,第一个开发人员从外部加入它需要几个月的时间- mentioned in this video 32分钟左右)。一个只有一个开发人员的项目在任何时候都可能死亡,但是如果有多个有动机的开发人员,那么这个项目就有更好的生存机会。最重要的是让一些工作的东西释放出来。如果没有人能使用这个程序,那么它就不会收集用户群。

    后一类人主要是为了你自己学习一些东西,但这对其他人来说可能没有那么重要。如果你对它们失去兴趣,就把代码埋在硬盘的一角,然后继续前进。即使您将其作为开放源码发布,也没有人会继续开发它。如果你喜欢的话,把它压缩到一个包里,放到你的网站上,在那里你可以展示你所做的事情,但是不要期望任何人下载和使用它,更不要说继续开发它了。

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

        6
  •  2
  •   Frank    16 年前

    将项目的数量保持在2到3个,并将其开源。继续自己编写代码,花些时间指导几个项目。开源并不意味着你现在可以有几十个项目,完全依赖于你的同行程序员。

        7
  •  0
  •   Vieira    15 年前

    对于您认为不值得花时间的项目,您仍然可以在作为OSS发布之前更改它们的名称,并让您的用户群知道。很明显,这是另外一件事,你不会参与其中,但这可能正是一些程序员在等待的事情,让你的工作继续下去。