One thing that you must think about while creating your application is how it will be licensed when you do go to sell it. The App World portal supports four different licensing models that you can use for your application. They offer some flexibility for securing your application and to prevent copying. You should understand each model and choose the right one for you before submitting your application.
• Static License: A static license model is the same as having no license key at all. The user doesn't have to do anything at all except start running the application. It is the easiest for the user, but using this method also doesn't do anything at all to protect your application once it is downloaded by the user.
• Single License: The Single License model supports the use of a license key, but uses the same license key for every user that downloads and installs your application. This model is more secure, but if the key is leaked out and the application is shared, it would be impossible to know who the responsible party is. It is easy to maintain however because you supply only a single key.
• Pool of License: This method randomly retrieves a key from a pool of keys that you had generated and uploaded previously. This model allows for each user to get a unique license key when purchasing your application. As each sale returns a new key, there is more maintenance required by you to make sure that the pool of keys is stocked with enough keys. This model is very effective when combined with a network-based registration model that returns the key along with user information back to you.
• Dynamic License: A dynamic license eliminates the need for maintaining a pool of license keys by making an HTTP request to a URL that is specified by you, each time a purchase is made and a license key is required. It requires more work in setting up the server that will be used to process the requests, but the long-term benefits may outweigh the upfront work needed for this model to work. It would also allow for the possibility of generating keys which contain a timestamp and could time-out if not used right away. Personally, this seems overkill, but the possibility is there.
There is one model which is not supported by any of these licensing models, and that is a way to create a device-specific key. By using a unique value from a specific device, such as the PIN, it is possible to create a license key that would work for that device only. This model is not supported for good reason though. A user expects to use the same software they had previously purchased each time they upgrade and get a new device. The BlackBerry App World does allow this by maintaining a list of all of the software purchased and downloaded through BlackBerry App World. A device-specific licensing model would prevent this support.
Source of Information : Packt - BlackBerry Java Application Development Beginners Guide 2010