Working groups or individuals receive funding for the development of a good software product, documentation, test cases or whatever. Usually, the only constraints imposed by the funding entity are that funds must be used to complete the project. This is typical of large computer science projects, and the funding usually comes from universities or from national science grants. In fact, many large projects in radioastronomy, computational chemistry, and biology are funded this way. In addition, some consortiums for the development of Internet tools and technologies have (or have had) such a funding structure. It is important to notice that in these cases the funding institution is not expecting to recover the investment, or to directly benefit from it. Usually, some expectation of social improvement is the reason for the funding.