Getting an Independent Project Started? 229
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)?"
Next steps...? (Score:5, Insightful)
Tell people the idea. Starting here, today...
Ideas are cheap (Score:5, Insightful)
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.
To start an OS project you need to be a programmer (Score:1, Insightful)
I think you'll have a hard time starting an open source project if you're not a programmer. As far as I know, most os projects get started by someone who provides the first code and a working alpha system, then if all goes well other people join. Or not. Also, the project needs a person who's willing to put in almost all of their time in order to keep it going. :-)
You'll have to find a programmer who is as thrilled about your project as you are
Just start it (Score:4, Insightful)
People do not instantly jump onboard a project without seeing some benefit themselves.
If you cannot code, discuss it with some of your coder friends, write a blog about it, ask slashdot (you could have told us what it was about).
GET PEOPLE INTERESTED.
I also have lots of ideas and have spent the last 6 months picking up my c skills and learning about Linux. I did not sit down waiting for someone else to write the code, I got off my ass and learnt how to do it.
Its been a hard slog and often I've wondered whether its worth it, but lots of nice things are starting to become possible with my code.
If you do not put in the hard work you cannot expect others to.
Additionally, if you think you will get bored of a project partway through then is it really such a good idea?
Think about most of the successful products over the years: :)
they exist for a long time and I would hope the original visionary was still there to guide the process for a long time
Never start an empty project (Score:5, Insightful)
As a project founder of a successful project on SourceForge (EJBCA [ejbca.org]), 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.
Unfortunately (Score:5, Insightful)
I have relatives / friends / acquaintances come to me several times a year with "the next great idea in software" and "all they need is someone to build it."
It's
a) Rarely a brand new idea.
b) Never fully thought out
c) Never has a business plan behind it
d) Not really funded.
e) not something I'm interested in.
Software is really hard to get right. Writing code is only a small part of it. If you partner up with a great coder, the project is probably still a failure.
The commando gnomes... (Score:5, Insightful)
How to not get a project started:
(1) Get on the front page of Slashot in front of tens of thousands of programmers
(2) Not say what the project is
(3) ???
(4) No profit!
-
Have you been approached?? (Score:5, Insightful)
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.
No offense but sick of hearing this (Score:5, Insightful)
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.
Re:I'll help (Score:1, Insightful)
Confucius say, "Never hire coder sight-unseen who will work on project sight-unseen."
Re:Ideas are cheap (Score:2, Insightful)
I returned, and saw under the sun, that
the race is not to the swift, nor
the battle to the strong, neither yet
bread to the wise, nor yet
riches to men of understanding, nor yet
favour to men of skill;
but time and chance happeneth to them all.
http://biblebrowser.com/ecclesiastes/9-11.htm [biblebrowser.com]
Re:The commando gnomes... (Score:5, Insightful)
(1) Write about the project you want to get started, how you need programmers, and include your contact information.
(2) Get perceived as having a story without broad applicability and/or pandering for help.
(3) Have your story rejected.
(4) No profit or help, same as yesterday.
Most large projects... (Score:4, Insightful)
...start off with creator pouring himself into the work. Alienate your friends, put another 40 hours a week into it, etc.
It sounds like you have a good idea, but it doesn't seem as though you have the necessary level of obsession to pull it off.
Re:Next steps...? (Score:4, Insightful)
Tell people the idea. Starting here, today...
And then they'll tell you why it is stupid and will never, ever work in a million years*.
*unless of course you use one or more of the following: Linux, GPLv2, GPLv3, GNU toolchain, FOSS, C, C++, D++, assembly language, Forth, APL, Modula-2, FORTRAN, Prolog, Python, Ruby, Ruby-on-Rails, Apache, a Beowulf Cluster, emacs, vi, Natalie Portman, hot grits, Underpants Gnomes.
Re:Have you been approached?? (Score:5, Insightful)
I agree, Idea people seem to ever heard of the phrase: "10% Inspiration 90% perspiration".
They also believe the idea phase is worth 90% and the work worth 10%.
I think people overestimate the importance of... (Score:4, Insightful)
code and the process of coding. OK, code is like air, you got nothing without it, obviously. And bad code is certainly a minus for a project, but less of a minus than no code at all...
What I mean is if you go to SourceForge and poke around you'll find that there are a really large number of nascent projects that are basically no more than a name, a description of an idea, and nothing else. Rare is the instance where such a project attracts any attention. People are usually looking for solutions, not so much ideas. If I need something those empty projects really don't offer me anything. There is precious little motive for OSS developers to 'join' such a project, they can simply set up their own project, one that DOES have whatever code they came up with, and at least that project will offer some sort of technical starting point.
You'll also find that the process of implementation itself often serves to help focus and refine a raw idea. Even more valuable in that regard is the input of other people who are actually working on the implementation and the idea with you.
Projects succeed or fail for a wide variety of reasons, most of which, especially at the beginning, are not really technical in nature. Just as in the commercial world. For every Linux Kernel, or Apache, or whatever there are or were probably a 100 people who set out to build a POSIX compliant OS kernel or a high performance web server. Again the same sort of examples can be drawn from the commercial software world. Success comes from timeliness, luck, savvy promotion, political/managerial skill, determination, quality, technical excellence, and probably many other factors.
To focus more on the question at hand, I would say that producing a mediocre initial implementation of an idea yourself is not necessarily a bad idea. If, as you say, it is not really a highly difficult idea to implement then chances are you CAN produce something yourself. Maybe it isn't great code, and maybe your prototype won't much resemble the eventual mature project down the road, but it will provide some kind of starting point. Something people can look at and play with and improve on, and something they can use to get a handle on the concept and understand what it is you ultimately want to do.
I don't know what your idea is, and I don't know how fully formed it is. Thus I can't really say whether or not it would make sense to pay someone to work on it. Very few software projects are successful when the customer has less than a precise idea of what they want code to do. If you can articulate the goals of the project, what the code needs to do, and some vision of what it should look like from the perspective of various stakeholders (users/admins/developers/business/etc) then it might be worth paying someone to do it. But if you go that route really make sure you go through the process of articulating all these things, write them down, try to discuss them with others who might be interested.
If you can't articulate things at that level, then chances are anyone you hire to work on the thing will at best end up spending a lot of extra effort, time, and money, and chances are slim that the results will be satisfactory.
The other issue with say using a 'rent-a-coder' is that you really have little idea of the sort of quality of person you will get. They may well not be any more skilled at coding than you are yourself. Maybe worse. Sure, you can check their past work history and talk to them and maybe look at samples of their work, but if it were simple to pick out the good developers from that crowd then everyone would have crackerjack dev teams. Also I think you'll find the really good people you CAN find that way are either booked solid, or they quickly end up permanently attached to some team someplace and what is left in rent-a-coder land are the ones that aren't so great. Plus a lot of those type guys ARE good in the sense that they are quite skilled at quickly knocking off bits of code that do some little task, but they mostly aren't good
Re:Have you been approached?? (Score:3, Insightful)
Especially when the mock-up convinces the CEO that the work is half done.
Re:Ideas are cheap (Score:4, Insightful)
i disagree. i think there are a lot more competent programmers out there than there are visionary individuals. programming is a technical skill, but with most non-menial trades, it takes more than just technical prowess to succeed. you also need to be inspired or possess a little more creativity than the next guy.
look at it this way; there are tons of great artists out there who can draw or paint photorealistic scenes without any effort. however, most of these people will still be limited to lackluster careers selling personal portraits at the mall, teaching figure-drawing/painting/etc. to high school students, or perhaps make a decent living selling those kitsch paintings you see decorating the walls of fast-food restaurants, but doomed to live in relatively obscurity, nonetheless.
conversely, many of the most well-known artists in history, like Jackson Pollack, Mark Rothko, Picasso, etc. did not demonstrate particularly exceptional technical skill in the conventional sense. but their artistic talent and creativity are still undeniable.
someone who uses the computer a lot may not know how to code in C or Assembly, but that doesn't preclude them from having good ideas for new applications. the implementation may have to be done by someone else, but it's a lot easier to find someone who can write code than it is to find someone with a truly brilliant idea.
someone trained in programming is a lot more likely to be able to realize their ideas because they have the tools & skill set to put their ideas into practice. but there are probably tons of great ideas for applications that are thought up by non-programmers which simply go to waste because they don't know how to implement the concept.
Re:Next steps...? (Score:5, Insightful)
Well, I think you may want to be a little more guarded in your approach. If it is a really good idea and you tell a forum filled w/capable programmers, there is some risk that someone will take the ball and run with it, excluding you from the benefits.
However, you do need to start talking about it with a few people that you trust. Pick some geeks, but also some non-geeks (provided your idea has a non-technical target user base). These conversations will help you flesh out more of the details - both technical and non-technical - that are important before a single line of code is written.
Re:Hire a programmer. (Score:3, Insightful)
Well, this is slashdot, many of us are involved in open source projects as a hobby and/or professional applications to earn a living. I'm sure some are even really good programmers.
Yet how many of our incredible projects or ideas are succesful, even once they are functional?
I think this guy needs a lot more than a programmer:
- A good business plan, if he intends to make money at some point.
- If he doesn't really expect this to make money he doesn't need a programmer - he needs a marketing guru that can get a programmer excited about the idea. He also needs to understand that a programmer working for free does whatever the fuck he wants to do. So the OP can forget about 'designing' shit.
- Assuming his stuff needs an internet connection, there are other costs. How's going to pay for the server(s), bandwidth, etc? The free programmer that is already working for free?
Honesty, what the OP needs is not a programmer, is Santa's email address.
PS. While we are at it, here's a damn good open source project that needs a decent marketing guy [sourceforge.net].
Re:No offense but sick of hearing this (Score:4, Insightful)
He's right though. Ideas are cheap. Anyone can have them and so everybody does. I'm sure quite a few monkey-men 40,000 years ago thought "hey why don't we stop flinging crap at each other in trees and walk upright on the ground?" but then went back to crap-flinging because going down amongst the non-tree-climbing predators was too scary.
I think this misconception that ideas are inherently valuable comes from the high school system. In school all children do more or less the same amount of work - the amount needed to pass. Obviously that's a broad generalisation, there is some scope to differentiate yourself by amount of work. But generally nobody will respect you for it, except maybe your parents. Your peers certainly won't. And there certainly isn't as much scope for differentiation as there is in real life.
The result of this is that children learn to differentiate themselves by what they do rather than how much they do. Producing a piece of art or an essay which has a novel take on the assignment, or an elegant solution to a maths problem - this is valued and will win the pupil high praise. Producing something merely twice as long as somebody elses submission, even if the quality is not compromised and thus value is doubled, typically won't.
The life lesson taken away is clear - novel ideas are valuable and should be appreciated. They should win praise and, as people mature financially, be rewarded with money.
But this is the inverse of reality, in which the thing people are ultimately judged by is the work they produce, and often the major differentiator is the amount of effort involved. If I'd written a 2 page essay describing a revolutionary platform game in which the player bends time [braid-game.com] I'd indeed win some praise for this, but it probably wouldn't get me anywhere. But if I actually built said game and turned it from abstract idea into concrete product, now that's the stuff reputations (and hopefully bank balances) are made of.
All this is kinda off topic though, as the OP didn't imply he (she?) was trying to make money off being an ideas guy. He even said open sourcing it was an option. But I too have been approached with "great ideas" before .... I tell you what I want, you make it actually happen, and we'll split the proceeds. These people are asking to have their idea "stolen" and then feel stiffed when somebody else goes onto become big on the backs of their idea. I've never actually done that but it seems some of the problems surrounding Facebook boil down to this.
All I need is a programmer... (Score:5, Insightful)
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.
Re:Hire a programmer. (Score:5, Insightful)
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. . .
Re:Ideas are cheap (Score:1, Insightful)
Re:All I need is a programmer... (Score:4, Insightful)
All projects are 'learning' projects. (Score:3, Insightful)
If you don't know a better way to do something when you have finished it that proves is that you have stopped learning.
In rare trivial cases that might mean you have learned all there is to learn. If that happens more then once you should seek out more challenging work.
I say that with 20 years+ as a professional programmer and engineer (with a couple of genuine engineering degrees).
Everybody who slings code worth anything once started a project they were in no way equipped to complete. If nothing else the 'learning' project done by the barely competent will help clarify the final apps design. It will also possibly show the original poster that his 'great idea' isn't so great after all and in fact may not be implementable. Being truly over your head at least once is also invaluable. You ether sink or swim. If you are a sinker better to know it sooner rather then later and plan accordingly.
I don't expect that 10 years in software but no coding at all amounts to sufficient experience to write a tight application spec or reasonable time estimate (anybody else have experience with PHBs and their 1 week projects?). I could be wrong. I don't know the original poster. In my experience the only people that can write really tight specs and truly grind the analysis to the fine points have strong coding backgrounds on similar projects. Analysts with strong business understanding are needed for a team working complicated problems, but if they personally don't have appropriate technical skills (coding, database, network etc) they always need lots of help to get to a tight spec.
Week Long Software Project (Score:4, Insightful)
1) Any software project which can be written in a week by "any competent developer" is not going to be worth anything, so you may as well spill the beans on your idea.
2) No competent developer is going to blindly agree to a project that falls into (1) above.
3) Any project that falls into (1) has probably already been done a billion times, so you may as well spill the beans so someone can tell you where to get the software that already implements your idea. It will save you a lot of time.
Re:Have you been approached?? (Score:3, Insightful)
Re:All projects are 'learning' projects. (Score:3, Insightful)
I completely agree with this--but the OP's goal wasn't to become someone who could code. If it was, then I'd echo the suggestion to try it himself. But his goal is to get a working piece of software--and the best way (IMO) for him to do that is to hire someone to write it for him.
If I want a model airplane built, then the best way for that to happen, if I'm not interested in becoming a model airplane builder, is to hire somebody who's experienced at building model airplanes. That might look silly from the perspective of someone who builds lots of model airplanes, since they know that after a few smaller, simpler models, I'll have the skills to build the model I'm interested in. But if I'm just after the final creation (for whatever reason), and I don't care about gaining those skills, I'll have an easier and faster (and probably cheaper) time hiring somebody who already has those skills.
While I agree with you that the OP's "great idea" may not be such a great idea after all, and may not even be implementable, he'll find that out just as well (if not better) by trying to hire someone else, than if he tries to do it on his own. If he tries it on his own, he may end up failing spectacularly, whereas someone with experience in that area would have succeeded easily. He has no way of knowing whether his failure was due to a lack of coding expertise, or whether it was due to some fundamental problem with the idea itself.
You're only half right (Score:2, Insightful)
To quote Calvin Coolidge -
'Nothing in this world can take the place of persistence. Talent will not, nothing is more common than unsuccessful people with talent. Genius will not, unrewarded genius is almost a proverb. Education will not, the world is full of educated derelicts. Persistence and determination alone are omnipotent. The slogan 'press on' has solved and always will solve the problems of the human race.'