Typically, joint development agreements have three categories of IP that should be addressed in the agreement:
Background IP - this the IP that each company brings to the table (code, know-how, methodologies);
Background IP Derivatives - this would be any enhancement of a company's background IP developed specifically for the project covered in the joint development agreement;
Joint Derivative IP - this includes all the IP in the end product. It may include background IP and background IP derivatives.
Generally, you will want to retain ownership of your background IP.
Background IP derivatives is where the discussion can become heated. The best position for each company is to retain ownership of the derivatives and license it to the other two developers for limited use as an intrisic part of the end product. Consider adding a provision that limits use of the derivative IP in competing products for a period of time, maybe a year.
Joint derivative IP - if you all own the end product equally, it will be considered a joint work under the Copyright Act. Thus, you will each have the unlimited use and licensing rights to the joint derivative IP provided that such use and licensure does not diminish the value of the IP. Unless otherwise agreed, you will owe pro rata proportion of your royalties to the other owners.
Key Points: a) if the other parties are using your background IP or retained derivates thereof, address that in the agreement and provide a license for this use for the limited purpose of developing the end product; b) if you choose an ownership model other than equal shares in the end product of background IP derivatives, you will want to be clear about what rights you have to use your derivative IP for the purpose it was created. For example, if you come up with software improving search engine speed, that would be commerically valuable. If you have no control over the marketing or licensing then you will want to try to reserve your own use and licensing rights; c) set out in the agreement ownership of IP developed for the project should one or more parties terminate the agreement of if you want to replace them.
Good luck!