1

I've been working for a couple of years on a small project, almost by myself, with the eventual help of some colleagues. The project is getting out of my hands, because the size of the code is growing (around 20K lines now) and the initial expectations I had for it have outgrown my own ability and time. So now I want to open source it, with the hope to attract some contributors. My motivations for going open source are these:

  • The project is rather academic (a library of algorithms for scientific computing), and I don't really have any economic interest in it.
  • The project is getting too big for me to handle it by myself, and the number of features I've planned are enough to keep a small team motivated (I think).
  • It needs a lot of testing, not just unit testing, but testing in the real world to see if the API is easy to use, the performance is as expected, etc.
  • I'm sure it has a lot of bugs, but I can only find a few, since its me alone testing it.
  • It needs proper documentation, because the API is getting a bit complex.

Other than that, I think that the project could benefit from a community in terms of deciding which features are most needed, and creating a set of guidelines for the future development.

I'm using Git, so my first thought was to publish it on Github and/or Codeplex. Besides that, what would be the steps to help to slowly grow a community of users and perhaps developers around it? Do I need a domain of my own, or should I stick to Github/Codeplex? How do I set up a platform for collaboration between developers potentially geographically separated? Should I set up a mailing list? And most important, how do I attract people to use it and collaborate with it?

The project is a .NET library for optimization and machine learning, written in C#.

Alejandro Piad
  • 405
  • 3
  • 8
  • 1
    step 1 choose a license, step 2 upload to internet, step3 ?, step 4 profit! – ratchet freak Mar 14 '13 at 13:28
  • possible duplicate of [Preparing to release code as open-source](http://programmers.stackexchange.com/questions/76528/preparing-to-release-code-as-open-source) and [Checklist for starting an open-source project](http://programmers.stackexchange.com/questions/51553/checklist-for-starting-an-open-source-project) – gnat Mar 14 '13 at 13:30
  • Develop a community of users? Even closed source projects have these, they're called "customers". If you don't have anyone using your project, open sourcing it isn't going to magically fix that. – Philip Mar 14 '13 at 14:20

0 Answers0