How can I hire someone to develop a software idea for my personal use while protecting my rights to the idea for future development as a commercial program
May 11, 2010 2:30 PM   Subscribe

I have a need for a software program that I do not believe exists. I am not a programmer and am considering hiring someone from elance to code a simple version of it for my personal use with neither bells and whistles nor a pleasing interface design. In the future, I might be interested in paying for this person or someone else to develop a professional version that I could then sell. Is there a means by which I can protect my ownership of this idea so that a programmer I might hire won't take the idea and create a professional version and sell it himself?
posted by frodoxiii to Computers & Internet (13 answers total) 1 user marked this as a favorite
It is certainly possible to hire someone to write a program for you, with the requirement that this programmer must sign a contract which assigns all ownership rights for the resulting program to you, in exchange for the specified (and presumably hourly) wage that you will pay. Of course, if you want a contract that will withstand all legal challenges, you would ideally get a lawyer to write it for you, which is expensive. But even if you compose your own contract, this should be workable. Many people create programs, inventions, or other things on behalf of employers who then own what their employees were paid to create; this happens all the time. Why would a programmer agree to such a thing? Because the programmer gets paid for his or her time, no matter how much time needs to be invested in perfecting the program, and no matter how much or how little value the resulting program actually has. You are taking a gamble. It will cost you money to obtain the program, and it may or may not turn out to be as useful or as lucrative as you expect it to be (consider, for example, that someone else may be working on a similar idea and may market it before you!).
posted by grizzled at 2:41 PM on May 11, 2010 [1 favorite]

I am not a lawyer and this is not legal advice, but from my experience writing software, sometimes on contract, here's what I believe to be true:

You cannot protect an idea. There is nothing you can do that will stop someone else from writing a similar program.

If your program involves some new mechanism, you may be able to patent it, and then sue anyone who uses the same mechanism in their program without licensing it from you; however, since you are not a programmer, it is unlikely that your concept for this software includes such a mechanism.

You can require your programmer to sign a non-competition agreement with you, with the aim of preventing them from doing the same work for themself or someone else; but many contract programmers will be unwilling to sign such an agreement, and it is not clear whether it would be enforceable.

Look up the term "work for hire". In most circumstances, the author of some created work retains copyright for that work, but if it is considered a "work for hire", then the employer has the copyright. You want to be that employer, so you should make sure that your arrangement with this contractor qualifies as a "work for hire".
posted by Mars Saxman at 2:43 PM on May 11, 2010 [2 favorites]

This post gives a healthy perspective, IMHO on the value of an idea in the abstract.

Please do not be offended if I assume that your idea is not revolutionary in the sense of a formula to transform lead to gold or to achieve cold fusion. If your idea is easy enough that it can be executed by a random joe on elance, it is probably not worth scads of money, as there will be no barriers to entry for other people to do the same thing. Whatever it is you paid the programmer to do, some other programmer, who has not signed your NDA/non-compete or whatever, will come along and clone your site/program/service.

Additionally, there is a large chance that someone you hire on elancer or equivalent sites will be from another country. Any legal document you get them to sign will be that much harder to enforce in that case.

If the product will be useful to you, have it built, but don't worry too much about missing out on being the next dotcom billionaire.
posted by mrgoldenbrown at 2:57 PM on May 11, 2010 [4 favorites]

Unless you get a software patent for your idea, there's not a way to stop this in general, in that once you put out your professional version there is nothing stopping anyone from creating a clone of it. That's why, for instance, Microsoft can't sue Google for writing their Chrome web browser and cutting into IE's market share.

For the specific case of this programmer creating a clone, you could have them sign a NDA before you have any discussions with them about the specifications, and have them sign some sort of contract with a clause saying that they can't create a competing application when they agree to write it for you. It would probably be very difficult to find a programmer who will enter into those kinds of agreements though, especially if you won't given them any details on your idea until they do. And if the programmer does agree and later breaks that contract, you have to actually sue them and spend a lot of money proving that they broke your agreement.

Honestly I think you are over thinking this. Most non-programmers have some idea for an app that they think will make tons of money, but the reality is if there is a market for it and it's technically possible to do someone probably would have written it already. The idea is not what separates a successful app from an unsuccessful one anyway, because if you do release a novel new app anyone else can relatively easily copy your idea and make a better clone. I was a shareware developer for a while and it was glaringly obvious that what separated successful apps from unsuccessful apps was a combination of execution (better features than the rest and less bugs) and marketing, regardless of who thought of the idea first.
posted by burnmp3s at 3:05 PM on May 11, 2010

one more good link on the importance of execution vs just having an idea...
posted by mrgoldenbrown at 3:06 PM on May 11, 2010 [2 favorites]

If you think there is some really money to be made (say > $1 million / year), you may wish to go the route of putting together a business plan and getting some angel or VC investment.

Get some funding, pay people to build it under contract, and then sell it.
posted by bottlebrushtree at 3:07 PM on May 11, 2010

An NDA and later a contract is everything - and the intention of the other party to obey it.

Don't forget that - besides the problem of enforcement of a contract - there are cultures that have a different understanding of contracts. It comes down to a question of trust.
posted by yoyo_nyc at 3:36 PM on May 11, 2010

Really great answers. I appreciate it.

Another way to go I suppose would be if I had friends who were programmers and partnered with them.

What would be an appropriate percentage of the sale of the program to give to them for programming and supporting and for me to have for the idea and marketing

posted by frodoxiii at 5:38 PM on May 11, 2010

If a friend came up to me with a similar proposition I would ask for an hourly wage or a flat fee upfront with a small portion of overall sales.

Most experienced developers will most likely ask for the same. Friends or no friends. I wouldn't work for a hypothetical chance of cash in the future when the person with the idea is putting up very little in the initial bargain.
posted by purephase at 6:46 PM on May 11, 2010

It's hard for me to imagine professional programmers who would be willing to work on spec. You're the entrepreneur here, you take the risk. Pay a flat fee for the program or an hourly rate. (If the former, make sure you very carefully define what "completed" means. Neither you nor the programmer will want to be arguing over whether the remaining problems are bugs to be fixed or new features.)

Programmers are expensive; if you don't have much money your cheapest option might be to hire a college student or recent graduate who's willing to work for low pay for something to add to their resume.
posted by zompist at 7:08 PM on May 11, 2010

Others have beaten me to the "ideas vs. execution" trope, but one thing you may want to do is concentrate on the business plan of this idea. Have an elancer build a prototype for you (after signing some type of contract, IANAL) for your personal use and use it. Does it turn out as useful as you thought it'd be? How could you monetize it? What would you change? What would the ecosystem look like? What do others think of it?

At worse, your idea is a good tool for you and no one else. At best, it's a jumping off point for something bigger.
posted by sfkiddo at 7:25 PM on May 11, 2010

I am a software developer ("programmer"). Speaking broadly for all programmers around the world, we don't generally respect non-programmers enough to steal their ideas. Seriously. You stand far more chance of getting laughed at behind your back than having your ideas stolen.

Or, when we do, we don't usually have the business chops to be serious competitors to Actual Business People.

Bill Gates, a guy who was first a coder and then an amazing business person, is an extremely rare exception. Steve Wozniak, a guy who really loves technical stuff and lucked into a partnership with Jobs is the far more common archetype.

Most developers will be very happy to be paid a flat fee and no %. Some may be willing to take a smaller fee in exchange fro some %.

If you think there is some really money to be made (say > $1 million / year), you may wish to go the route of putting together a business plan and getting some angel or VC investment.

A $1 million idea is a friends & family or credit card debt idea. Don't bring an idea worth less than $100 M to a VC unless you enjoy being laughed at.
posted by b1tr0t at 10:51 PM on May 11, 2010

What would be an appropriate percentage of the sale of the program to give to them for programming and supporting and for me to have for the idea and marketing

If you came up to me with a full business plan, including all of the market research necessary, which showed that it had a chance... I'd happily design the software for you so that we could shop it around to various investors. Once you had the investment, I'd happily build the software for you on a salary or contract basis.

On the other hand, if you just want the software so that you can use it (and maybe sell it), and don't want to put your life behind it... well, just friggin' pay a programmer to do it.

If the former, make sure you very carefully define what "completed" means. Neither you nor the programmer will want to be arguing over whether the remaining problems are bugs to be fixed or new features.

This is why I don't work for a flat fee. Ever. A piece of the sales is a nice bonus, but I won't work on spec either. Salary or hourly only. And I've been burned enough times that I'll demand a portion of it upfront.

Your definition of completed will always be "when the program does everything I thought it was going to do", while mine will always be "when I've completed the things I thought you said you wanted". And since I can't ever trust the client to thoroughly test things as I send them snapshot builds, we'll get to the end and I'll have every feature working bug-free (to my understanding) and the client will then pipe up and say "but the flooznabbit is supposed to scroll sideways, not vertically".

This means that, at the end of the trip, one of two things will happen: 1) I'll work extra hours I didn't estimate, which means I work more hours for fewer dollars; or 2) I'll say "this isn't worth it, keep the other installment", which means I work more hours for fewer dollars. In no scenario does the person with the money say, "Oh, shit, you're right, I totally told you the opposite of what I meant in two emails and three phonecalls, how about another $400 to fix that?"
posted by Netzapper at 11:12 PM on May 11, 2010 [3 favorites]

« Older Can you actually distract a guard dog with meat?   |   Side effects of Cymbalta and Wellbutrin SR taken... Newer »
This thread is closed to new comments.