1. A method of making a learning application, said method comprising: providing a content database comprising reusable digital objects, wherein at least a portion of said reusable digital objects are deposited to said content database by a registered contributor and said portion is identified as contributed by said registered contributor; registering a user as a developer user, thereby providing said developer user with access to said content database, wherein said developer user withdraws one or more of said reusable digital objects from said database, wherein at least one reusable digital object was deposited by said registered contributor; forming said withdrawn reusable digital objects into a learning application; depositing said learning application into the content database for use by another user; calculating a compensation value for said registered contributor; and compensating said registered contributor based on said calculated compensation value wherein at least one of said withdrawn one or more reusable digital objects comprises a learning application that the developer user modifies.