Professional Edition does not have API support. i read somewhere that
it can be manually enabled by the salesforce user. Salesforce on the
other hand wants us to go with the ISVforce partnership program. What
is the entire picture?
Professional Edition doesn't have the API by default. Organizations can purchase the API for their own use (e.g. they need to do integrations themselves, etc). This is not an appropriate method for using certified apps in Professional Edition; ISVs that are certified can access Professional Edition organizations through the use of a "client ID," which grants access to the API even in organizations that do not otherwise have the API. This ID cannot be shared by the ISV, so if it is a cloud service, it must not expose the ID directly to the user, and for desktop applications, it must be encrypted and stored securely.
Is ISVforce necessary if all we need are APIs. We are open to purchase
more API calls if we run out of them.
ISVforce is for native (read: salesforce.com-installed) apps. While it is true that you should become a partner (and thus, have your application certified), there is no need to use ISVforce if there is no application to install. Becoming certified allows you to list your app publicly on the AppExchange, increasing your exposure to existing clients. Generally speaking, when using a "client ID," your app has a number of API uses equal to the organization's rolling 24 hour window (if this is wrong, community feedback would be appreciated). Abusing your limits can have your client ID revoked, usually temporarily, until the issue is resolved. There shouldn't be any need to "purchase additional API calls," since your total API calls effectively scales with the number of clients you service.
The application has our own cloud as the backend. We distribute it for
Android and iOS. To feature on the app exchange, what package shoud we
provide them? Both?
You can provide links to both apps on the same listing. Since there's nothing to install within salesforce.com, there's generally no need for separate listings, although you could do so if you desire.
Salesforce charges 15% of net revenue. What does this imply? What is
the fine print? Say i have 100 paid users and out of them only 20 use
the salesforce integration. So 15% of 100 or 20?
You should contact the partner program directly for clarification. The understanding that I have is that you are paying 15% for any licensing fees for salesforce.com access. So, if your organization charges a one-time setup fee of $1000 for salesforce.com access (i.e. in addition to whatever costs you charge for your service), then you would pay $150 to salesforce.com for this one time setup.
If you do not charge any extra for salesforce.com access, you may not owe anything at all. However, keep in mind that you should be salesforce.com security certified, which is currently $300/year, so you should try to place your fees at a level that covers this fee plus the extra amount that you'll incur supporting salesforce.com specifically (e.g. time spent training support personnel that would otherwise be used for supporting clients). It's usually worth charging something to help offset costs.
You can charge per-user, per-company, either recurring or one-time. You will be liable 15% of the amount the client was charged for salesforce.com access. Specifically, this means that if you do use a per-user licensing model, and a portion of that fee is for salesforce.com access, you will be liable for 15% of that fee, even if those users never log in or access salesforce.com.