On Friday, May 9th, I was involved in the weekly VoIP Users Community Conference on Talkshoe, organized by Randulo. The topic for this week, “3rd Party App Licensing: How can we do it?”, was organized by Dean Collins of Cognation.
Digium has a licensing, sales and fulfillment mechanism in place for their G.729 codec, and one of the goals of this call was to discuss the mechanics of Digium’s licensing schema, and determine if this vehicle might be suitable for 3rd party application developers to sell and license Asterisk related plug-ins such as Snap Dialer.
Dean Collins came up with a few preliminary questions to be addressed on the call.
Should commercial software applications like SNAP Dialer even be encouraged for the Asterisk community – or is this the slippery slope?
Should this license schema model be centrally managed by Digium – what are the alternatives?
Is a centrally managed approval process like Salesforce.com / i-tunes appropriate for the Asterisk user community, or should it just be a “published document schema,” but all sales are handled by each individual company?
In the G.729 model and appropriate solution (NIC address registration)?
Are there alternatives that should be considered instead?
What are the limitations of NIC licensing over server IP address, etc.
How does this affect client applications running on “client” machines?
What type of applications would you like to see licensed via this 3rd party ecosystem model?
What do we do from here?
Is this something Digium should be developing internally and present to the Asterisk community as a “suggested working model?”
Is this something that can be developed by the community and presented to Digium for their approval and adoption?
Who on this call wants to be involved and what do you want to do from here?
Turns out, the idea of creating a central portal where developers could showcase applications designed for use with Asterisk Open Source PBX is something Digium has been thinking of doing. Steve Sokol from Digium mentioned the possibility of having a standardized base Asterisk platform, with a simple user interface…that would allow developers a starting point for creating apps.
I have always like the idea of Asterisk evolving as more of a “Voice Operating System”…a standardized and documented base platform for which developers could create countless applications. Having been on the call, my personal thoughts regarding such an initiative are as follows:
A – Having a somewhat standardized platform base (as suggested by Steve Sokol) would certainly ease the support burden (consumer support) and limit the variables for developers.
B – In order to reach its maximum potential, any such base platform would need to be constructed in a “developer agnostic” fashion, such that Digium could not subvert it in any way or insert overt protection mechanisms to safeguard their own commercial interests. Not suggesting that Digium would do this, but I think it would concern developers.
C – Long term, you might even be able to integrate a cloud-based development environment using tools like Adhearsion, that would facilitate participation from would-be developers with no specific telephony background. Providing tools to level the playing field would foster maximum potential in terms of innovation.
D – In terms of the revenue derived for Digium or whomever would potentially administer the developer portal…I think you could incorporate several schemas that would not only operate on a “per channel” basis. If I were a consumer, I might want to simply pay a single price for a feature pack that I could use in production regardless of the number of trunks I have. Perhaps a flat percentage of profit share would make more sense? Ex: 20/80 split (portal administrator/developer) for sales tickets of $250 or less. 15/85 split for transactional sales from $251-$500. 10/90 split for transactional sales of $500 or more. This is a simplified example.
E – In order to accommodate OSS purists types who do not seek to profit from their creations, you could have a section of applications that are free for consumers to use. You could also offer free single-channel versions of certain applications to promote increased usership from a trial/evaluation standpoint.
F – The Asterisk community is extremely fragmented…and that is to our detriment in the sense that it creates confusion for non-technical consumers of Asterisk-based products. I have seen many terrific applications which will fail commercially because the developers do not have the wherewithal to properly market their products. The ability to distribute my product through a well established venue gives me instant visibility and will allow me to compete with other developers who have an advantage from the standpoint of marketing capital. It is not always the best application that succeeds, but rather the loudest voice which is heard IMO.
G – You could also potentially build in vehicles for the developers to provide their own support mechanisms in order to participate. You could have a chat interface, a WiKI, bulletin boards, etc…that are specific to each application being offered. The developers would bear some of the responsibility of supporting their products, but would be provided with vehicles to make it easier and less costly for them interface with consumers from a support standpoint.
H – For that matter, you could build in some type of user feedback system. Developers who do a good job of documenting and supporting their products would maintain a higher level of overall user satisfaction, and would be given preferential placement in the portal for their efforts.
What do you think? If you are involved in Asterisk development, or have experience with 3rd party application development for things like Salesforce.com or Apple’s iPhone, I’d love to hear from you.