6

Possible Duplicate:
Is it OK to push my code to GitHub while it is still in early development?

I've been working on a hobby project for a few months now; it's clocking in at over 15000 source lines of code. A number of people have expressed interest in joining development, and I have full intentions of going open source, since it would not be feasible for me to complete the project alone. I'm just not sure when to open-source it.

For context, I've notice many successful open source projects, such as the Linux kernel, had considerable work done before they were open-sourced.

In my case, I'd been planning on open-sourcing it after I complete all the underlying libraries and overall architecture. Is this a mistake; should I just release it right now?

I'm worried that since certain critical underlying components haven't been finalized, if people build a large codebase around them, it will be very difficult to change or fix things later. On the other hand, it's a very large project that will require multiple developers to complete in a reasonable time.

So when is the right time during development to go open source?

Preferably, I'd like to hear from some folks who have started their own projects.

0

3 Answers 3

9

I'm going to go against the consensus here and suggest that now is not a good time for open-sourcing this project.

The reason why is that the project is quite clearly not yet in a "fit for stated purpose" condition; if you open-source it now you will be inundated with requests along the lines of "component XYZ is not working, fix it please". It doesn't really matter if you've stated this up-front, you're still going to get these, and they're going to detract from whatever work you're currently completing on it.

Other requests you're going to get will be of the "plz send codez" variety, as well as a fair mixture of "your project is great but it would be better if it included component ABC and this is so easy to implement it'll only take you 5 minutes and everything will be better then" (ha!) - you'll get these anyway even after you release a full product, but they will be especially annoying now.

None of this is denying that open-sourcing early is a good thing; just that for your project where it's currently at, that boat has already sailed. So if you're already past the point at which you can open-source as early as possible, then it's better to hold off a little more.

Options available to you now would include battening down your hatches and bringing things to a reasonable working state before going public (but be careful this doesn't take too long), doing some source-code-only releases, or inviting interested parties (and you've already got some - that's great!) to join in a private development effort until such a time as it's ready to go public.

2
  • +1, I completely aggree. Once a piece of software works, other developers can reasonably improve it (fix bugs, write extensions, etc.). But while it is still in an early stage, it's very unlikely that anybody but the original developer(s) can and will provide useful input. In the worst case, there is even some ambiguity where the project is heading (do we work on a SAP or a Quicken replacement?).
    – user281377
    Commented Nov 12, 2012 at 15:11
  • Thanks, that's great! I hadn't even considered other options like private development. Commented Nov 12, 2012 at 20:01
2

I started JStock - Free Stock Market Software few years ago. My advice is, Open source when you get started. Don't wait!

By open sourcing it early, you will have the following expectations.

  1. You are given chance to publish your project at a high traffic website like SourceForge.net. (I would recommend SourceForge over GitHub, as it focuses on publishing open source project. GitHub is more focusing on code collaboration) It helps to gain visibility. Your project starts to attract more end users, without too much cost.
  2. End users will be more forgiving, and trust your software, if it is open source, compared to closed source. With that, you will attract more end users.

There are some catcha. Open source early doesn't mean you will attract more contributors. Working on open source doesn't have direct monetary reward. What open source contributors are really looking for is

  1. A software platform, with good number of end users, which can demonstrate their software development skill. Open source developers don't work for free either. They need something in return. If not monetary, they need recognition and honor. An open source project with good number of end users able to deliver those.

Hence, attract end users first with a reasonable good product, then attract good contributors to build amazingly great product.

2
  • Thanks. There is a demand for the software, and I already have some volunteers. I'm more worried about the design/architecture not being ready yet, and then being locked in to flawed design for some components, since much of the code is still prototype. Commented Nov 12, 2012 at 3:17
  • Then, this is not about open sourcing the code. It is more how you design the software. Don't worry for showing the world even you know the code is ugly. Because... no one will care :) People are more concern on end product, not code. Commented Nov 12, 2012 at 3:21
0

You should open source early (yesterday) and commit often.

4
  • +1. But note that this alone will not help with "not feasible for me to complete the project alone". You'll somehow need to attract other people's attention. (Open sourcing it seems like a necessary precondition)
    – Thilo
    Commented Nov 12, 2012 at 2:46
  • why do you think so?
    – gnat
    Commented Nov 12, 2012 at 13:46
  • -1. At least give a small motivation.
    – jgauffin
    Commented Nov 12, 2012 at 15:21
  • I think that an edit did not make it over with the transition; oh well. Commented Nov 12, 2012 at 22:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.