Getting an Independent Project Started?
nightgeometry writes "Just as everyone has a book in them, as the saying goes, maybe everyone has a software project in them. I have an idea for a project; it is something I would want, but googling doesn't find me anything similar. My programming skills are not amazing, to say the least, but I can design and QA. I'd happily learn to code, but lets face it — getting to a good standard would take me years, by which time I would be bored of the project. So, my question is: in this situation, should I set up a project on SourceForge and hope to attract some developers there? (And if so, how do I attract developers?) Should I try a rent-a-coder type of site and outsource the work, or perhaps attempt to approach developers personally and share the idea, or something else entirely? I think the project could be worth something, but I'd certainly open source the idea if it got me the app I want. Then again, I am happy to invest some cash in the idea, and thus cover said outsource costs — it isn't a huge project that I am considering, and I really think a competent developer could probably get the thing done in a week or less (I'm not in cloud cuckoo land here; I've worked in the software industry for over ten years, and I'm confident that it's a fairly simple idea). To me, the question is interesting in two ways. Once I have a specific idea, what are next steps? Then, in general, what do people do at this stage (and this isn't specifically a software question; it would apply just as well if I thought I had a good design for a new engine or a new type of beer)?"
Use Functional Programming!
The problem is that ideas are cheap; it's high-quality implementation that's difficult to achieve. That means that starting a SourceForge idea will never work if all you have is the idea. All the competent programmers who may even like your idea are already working on something else.
If you think this can be implemented by a wizard in under a week, it shouldn't take you more than a few months if you start learning now. Why not take this as an opportunity to expand your skill set. You may indeed get bored with the idea during the implementation, but the ability to force yourself to push through those times is another important thing to learn.
As a project founder of a successful project on SourceForge (EJBCA), I can at least give this advice - do NOT start an empty project and hope to attract any developer. No-one will be interested in an empty project.
First of it's a slim chance anyone will find your project amongst the thousands of other project, your project will be bottom rated since nothing is released.
Second, as a developer, even if I agree completely with your ideas I might just start my own project, since you have nothing to build on.
There are thousands of projects started as "good ideas" that never released anything. The right way to start a new project on SourceForge is to make code first, and then register the project and make the initial release right away.
I've been in IT for close to twenty years. You know what I've heard a hundred times?? It's this:
"I have this great idea. You do the work. We'll split the profits."
Of course the don't quite say it the same way. It's usually something like, "I can't pay you right now, but the profits will be huge. When it succeeds I can give you 10%."
This is invariably followed by something like, "Oh, it's very easy for someone like you. Maybe a week or so of work."
So I'm a little jaded.
Here's my suggestion. Show that you are investing your *time* and *money* (though I am being redundant since time *is* money). It should be an equal investment from the beginning. I think you're willing to do this, so attracting others should not be as difficult.
I have so many non-programmer friends that have goofy ideas for projects that they run by me on a weekly basis, so let me save you some trouble. Nobody is interested in your "unique" spin on:
1. A dating site
2. A social networking site
3. A clone of Digg
4. A recipe tracker
5. Or anything else
If only an idea was all it took. Instead, we have to suffer through contributions of time, money, determination and skill.
I'm a big tall mofo.
1. Sell the idea to a big corporation like Microsoft.
2. Have disgruntled Linux users see said idea in implementation without a free alternative.
3. Your problem will solve itself.
Ideas are cheap, and frankly if Google finds *nothing* there are two possibilities:
1. you are a genius
-or-
2. your idea stinks, makes no sense, is infeasible, or there is a better solution that solves the problem in a more efficient way.
As a programmer, I get extremely cynical whenever someone says "I have an idea, and all I need is a programmer". They almost always follow it up with "it'll only take a week to build".
The best thing to do at this point is to flesh out the idea:
1. what does it do (in 3 sentences or less)
2. who will use it
3. how will it make money (or not)
4. flowchart its high-level functions
5. sketch out a rough interface if possible
Once you have all of that, you can show it to a competent programmer, and they should be able to tell you almost instantly if your idea holds water, as well as highlight any weaknesses or failure points. If you do a good enough job of writing your plan, the programmer(s) will be much more interested in joining the project. More importantly, having a plan will make it 10 times more likely the project will come to fruition.
-Billco, Fnarg.com
So Ideas are like ***holes. Which means I have a lot of useless ***holes. I've set up a lot of sites that I thought were "great ideas". Set it up and they will come! Here's the development cycle so you can try it too:
1) Light bulb happens.
2) Register domain name.
3) Brush up on MySQL/PHP again - pay particular attention to new functions needed but never used.
3a) Drag out old projects with useful bits of reusable classes/functions.
4) Spend a few weeks hacking around.
5) Rewrite early sections of code that look bad after learning some new functions/technique.
6) Upload the site to the "production server".
6a) Make sure things are search engine friendly!
7) Buy some adwords.
8) Profit!
This model works great up till 7). Costs about $0.25-1.00 per clickthrough so budget accordingly. Used to be $0.25 bought you the fist page of search results - no longer the case.
I abandoned that model for another one:
1) Use my and/or family/friends education + experience to develop an idea to address "mundane" needs.
Boring needs are needs everyone has. i.e. the potential pool of customers is much much larger for mundane ideas than an idea that is an "agent of change" or "cutting edge" or "disruptive". Not saying you can't address mundane needs with disruptive tech - its just that the need had to have a broad potential customer base.
2) Find someone to help me.
This is where you get stuck - and the topic of the OP. Frankly I don't want an "outsider" working on the idea since once its done whats to keep you contractor from selling the idea/software himself? NDA/Non-compete agreements are useless - are you really going to invest your startup funds in suing a contractor? In many states they are unenforceable anyway.
I had one proposal to develop a basic piece of HR software using a family members 30 years experience in HR. Posted a note on craigslist (I know not the best place) to see who might respond. I actually got a response from a really experienced IT professional and he and I were quite excited about the potential collaboration. We started to sketch out some code and immediately ran into a few road-bumps, mainly time-related issues. Anyway - the lesson is that as some posters have stated - execution is the problem - and generally the downfall of many small businesses. Ideas and talk are easy - finding an energetic partner that can coordinate his/her time and energy with yours is much harder. I don't have an answer really, but wanted to relate my experience. If I come up with a good way to solve this problem I'll repost it. . .
I thought it was a good idea