I have signed on to work on a project a good friend of mine has started to create an application for the iPhone with, if needed (we hope), matching applications for Mac and Windows desktops. Without getting into particulars, the project is to create a subscription-based, client-server pair that displays interactive materials for a variety of markets.
My friend had a solid idea of what he wanted to do, but as is typical of a project still on the ground floor, after a fit of brainstorming a straightforward iPhone project turned into a broader partnership of ideas. It’s all well and good, we’re both looking forward to working on this together, and the client’s functional spec is well on its way to being completed this week. But we both want to be sure that everyone (him, myself, and the project) has their interests protected in such a way that everyone is compensated accordingly for their work while still remaining flexible enough that we can all just get things done.
There is no money other than development tools we already have on hand, so my compensation is currently based on performance of the product. Essentially, I’m to get a percentage of the net sales, and we’re trying to come up with a fair portion based on project duties. We have sorted out who is doing what, but we were also wondering about non-compete clauses and the like.
For all intents an purposes, I am creating all of the clients wholly. The feature set, client-server communication specs, and new market strategies are being done jointly. He is taking on client and content creation as well as all of the business administrative duties (though I get unfettered access to verify various metrics related to the application’s market performance).
Questions came up, particularly, over ownership and rights to intellectual property. We think all of the code should belong to the project itself so that if anything happens to either one of us, then there is no question what is supposed to happen with all of it. But we, particularly myself, would like to be able to reuse portions of the code for other projects, if need be, without competing with the project as well. We are defining what would be considered a competitive project relative to the v1.0 feature set, but I would hate to have to re-invent the wheel if something else relevent comes up.
Has anyone been in a scenario such as this? How did you handle IP, non-compete vs independent development, etc? Is there a typical agreement framework for something like this? Is a lawyer really necessary here (because neither of us has the cash)?