I've been working for several months on a project which I'll be open sourcing. There's a fully functional prototype, but the code quality of this prototype is <i>really, really</i> rough. (e.g., this was my first full-blown JavaScript project)<p>A total rewrite, which I've already started, will take 2-3 months. In the meantime I want to a) have something tangible to show for my efforts so far (e.g., I'm actually looking for work at the moment), as well as to receive feedback about the general idea of the project itself.<p>I'm strongly considering posting code for the working prototype on Github now along with mentioning that it is being rewritten. Is this feasible/recommendable, or would I be doing more harm than good by releasing with less-than-great initial code quality?
Working code is way better than broken code. And there's the aphorism of "If you're not embarrassed by your initial release, you're launching too late." I say release now; if nothing else, it should drive you to improve what you've got.
A full-rewrite might take 2-3 months, but that doesn't mean you can't release bits of it incrementally as you refactor them. Release what you have now as version 0, and then release minor version updates as you rewrite. That's what I'd do.