2

Are developers actually likely to receive significant help by open sourcing a work in its unfinished stages, or are open source consumers more likely to want something ready to use?

This is frequently cited as a benefit of open source, but I haven't been able to find evidence of it outside of already established products.

gnat
  • 21,442
  • 29
  • 112
  • 288
j riv
  • 135
  • 3
  • I'd argue to say "yes" in most cases, however I'd like to give a HUGE "YES" to if you are writing something that will be used or consumed by other programmers (APIs, tools, etc) – Earlz Apr 04 '13 at 15:35
  • possible duplicate of [To Open Source or Not to Open Source, that is the question](http://programmers.stackexchange.com/questions/61091/to-open-source-or-not-to-open-source-that-is-the-question) and of [Reasons NOT to open source not-for-profit code?](http://programmers.stackexchange.com/questions/152654/reasons-not-to-open-source-not-for-profit-code) – gnat Apr 04 '13 at 16:23
  • 1
    Meta discussion [here](http://meta.programmers.stackexchange.com/q/5821/3965). – Karl Bielefeldt Apr 04 '13 at 19:39
  • "`Are developers actually likely to receive significant help by open sourcing a work in its unfinished stages...?`" -- This depends on a large number of factors (technical skill of the code's target audience, marketing success, etc.), but certainly the odds are better than if you *don't* open-source it. – apsillers Apr 04 '13 at 20:06

3 Answers3

8

It probably has to be very close to be ready for general use, and already usable by some, in order to get help. That's the quid pro quo of open source. You contribute to code that is already more valuable to you than the time it would take you to start from scratch.

For example, my wife used to use Microsoft Money, but we wanted to move our home computers to Linux, so I started evaluating open source alternatives. One promising alternative could import QIF files from Quicken, but MS Money added some weird proprietary quirk (naturally) that the open source software choked on. I found the problem. It was a one-liner fix, which I submitted to the mailing list.

If that software had been unable to import QIF files at all, requiring me to write an entire module just to evaluate it, I would have passed on it without a second glance, unless no other project had that feature. In other words, you have to pass a certain point of usability if you want to receive help.

Karl Bielefeldt
  • 146,727
  • 38
  • 279
  • 479
3

Yes and yes.

Problem is: depending on what your work is, the chances that someone has

  • exactly the same problem
  • and the same constraints (including licensing - GPL is a big road block there)
  • and the time to browse around to find someone having already solved it
  • and the time to review that solution and figure out if it's an unmaintained piece of questionable code, or if the owner wrote high quality code and will be responsive to pull requests/patches
  • and the time to contribute (see point above - it they need to contribute, then it's probably not a good solution for them to start with, unless it solves a complex problem, then see first points)

... is pretty slim. Your best bet is small simple modules (apache commons-* being a excellent example). Too bad that's also the kind of code that any half decent developer can reinvent any time for little additional cost.

ptyx
  • 5,851
  • 2
  • 22
  • 21
2

(Note that this answer applies mostly to game development)

I worked on a non-commercial open-source game development project.

There are many people interested in doing game development as a hobby, but do not yet feel ready for doing it for a living. We noticed that when a project is open source, it makes it a lot more attractive for volunteers who want to contribute to development.

  • They can actually see the code they will be working with before approaching us and asking if they may take part. This greatly reduces the entry barrier for new developers.
  • They can fork the code and work on their own. Then we can merge their improvements into our original versions (this only works with a copyleft license like GPL).
  • They know that an open source game is hard to monetize, so they don't need to worry about being exploited for profit.
  • When players annoy you with their unrealistic wish lists, you can just tell them go, code it! :)

I believe that doing the project open source was a very good decision. As a closed source project it would have never been as successful as it was.

Philipp
  • 23,166
  • 6
  • 61
  • 67