There are many circumstances in which two or more software authors may wish to collaborate in the creation of a joint program.
It may be that one author has existing software and another the idea to develop it into a new application for a specific or even wider market (as is the case in Contract 10) or that one or other has been requested by a customer to write a new program for a particular task and one author does not have the full experience and expertise in-house to perform the work.
In either case their association can be mutually beneficial in many ways, not least of which is the sharing of costs, widening of markets and the pooling of resources to develop new ideas and new software products or applications in a shorter timescale.
There are of course the associated fears of competition, poaching of personnel, customers and inventions, to say nothing of the problems of copyright ownership and unequal development contributions of each party.
Such are the pros and cons that it is essential to have a clear and unambiguous agreement governing the contributions of each party physically, intellectually, commercially and financially, and the benefits each will receive.
If the parties are developing software for general exploitation rather than for a particular customer, it is essential at the outset to provide for the terms and conditions of exploitation of the developed product, e.g. by agreeing the terms of a distribution agreement at the same time as the development agreement (as is the case in this Contract) especially with respect to the royalties each is to receive, the terms of marketing, support and enhancement and the contribution to each of these activities required by the parties.
Thus Contract 10 stresses the requirement for regular meetings, an agreed development timetable and mutually agreed acceptance test criteria. These requirements are not only important for the “developer” who, once committed to enter the market place with a new product, will want the development finished on time; but also for the supplier of the source software upon which the development will be based. Such a supplier will want to ensure that the developed software is robust before it is marketed as it will generally have the names of both parties on the software and both names will generally be in the distribution agreements which such parties may enter into following completion of the joint program so that each may benefit jointly from their co-operation.