在一些同事的最终帮助下,我几乎一个人在一个小项目上工作了几年。这个项目正在脱离我的掌控,因为代码的大小正在增长(现在大约 20K 行),而且我对它的最初期望已经超出了我自己的能力和时间。所以现在我想开源它,希望能吸引一些贡献者。我开源的动机是:
- 该项目相当学术(科学计算的算法库),我对它没有任何经济兴趣。
- 这个项目太大了,我一个人无法处理,而我计划的功能数量足以让一个小团队保持积极性(我认为)。
- 它需要大量的测试,不仅仅是单元测试,而是在现实世界中测试,看看 API 是否易于使用,性能是否符合预期等。
- 我敢肯定它有很多错误,但我只能找到一些,因为它是我一个人测试的。
- 它需要适当的文档,因为 API 变得有点复杂。
除此之外,我认为该项目可以从社区中受益,以决定哪些功能是最需要的,并为未来的发展制定一套指导方针。
我正在使用 Git,所以我的第一个想法是在 Github 和/或 Codeplex 上发布它。除此之外,还有哪些步骤可以帮助慢慢发展一个用户社区,也许还有围绕它的开发人员?我需要自己的域,还是应该坚持使用 Github/Codeplex?如何建立一个平台以供可能在地理上分散的开发人员之间进行协作?我应该建立一个邮件列表吗?最重要的是,我如何吸引人们使用它并与之合作?
该项目是一个用于优化和机器学习的 .NET 库,用 C# 编写。