2013-03-12 72 views
-1

我一直在一个小项目上工作了几年,几乎一个人在最后一些同事的帮助下。由于代码的规模越来越大(现在大约有20K行),并且我对它的最初期望超出了我自己的能力和时间,该项目已经不在我的掌握之中了。所以现在我想开源,希望吸引一些贡献者。我开源的动机如下:开源小项目的步骤

  • 该项目相当学术化(科学计算算法库),我没有任何经济利益。
  • 该项目对我来说太大了,无法自己处理,而我计划的功能数量足以保持一个小团队的积极性(我认为)。
  • 它需要大量的测试,而不仅仅是单元测试,而是在真实世界中进行测试,以查看该API是否易于使用,性能如预期等。
  • 我确定它有很多的错误,但我只能找到一些,因为只有我自己测试它。
  • 它需要适当的文档,因为API变得有点复杂。

除此之外,我认为项目可以从社区中获益,从而决定哪些功能是最需要的,并为未来的发展制定一套指导方针。

我使用Git,所以我的第一个想法是在Github和/或Codeplex上发布它。除此之外,有哪些步骤可以帮助缓慢发展一个用户社区以及围绕它的开发人员?我需要一个我自己的域名,还是应该坚持Github/Codeplex?如何为可能在地理上分离的开发人员之间建立协作平台?我应该建立一个邮件列表吗?最重要的是,我如何吸引人们使用它并与之协作?

该项目是一个.NET库,用于优化和机器学习,用C#编写。

+0

嗯...我不认为这属于这里(因为它不是直接关系到编程),但它绝对属于其中一个堆栈交换...不知道哪一个。也许超级用户? – Xymostech 2013-03-12 22:24:54

+0

http://programmers.stackexchange.com/可能是更好的地方。在SO上看起来不太合适。 – 2013-03-12 22:24:56

回答

2

这里只给出一条建议;使用Github。这是很常见的,(几乎)每个人都知道它,它很容易使用,而你正试图吸引的社区已经在它上面了。它有很多你可能没有想过的工具,但可能派上用场。它几乎是你想要完成的完美解决方案,所以不要过度考虑它。

至于吸引人们使用它并贡献,如果它是有用的和好的东西,人们会找到它。我用简单的谷歌发现了大量晦涩的项目。如果有人用Google搜索与您的项目相关的内容(并且它适合名称等),他们很可能会找到它。尽管如此,你可以做的事情并不多,只是让它发生。至于贡献者,使用它的人可能会贡献他们的补充。只要确保积极参与管理它(监控拉取请求等)。如果没有人接受请求或管理版本,贡献者可能会开始放弃您的项目。

+0

顺便说一句,好问题。 – 2013-03-12 22:32:06

+0

谢谢。是否建议也有一个Codeplex回购?或者是管理2个仓库太多了。除了在我的桌面上之外,我对于源代码控制没有任何经验。 – 2013-03-12 22:32:54

+0

只保留一个。Github会管理你需要的所有东西,并且试图保持两者之间的一致性将会成为很多工作的一部分(老实说,如果你错过了一件事情,可能会失败) – 2013-03-12 22:36:14