Digium CEO Discusses Open-Source Balancing Act

Danny Windham on the challenges of staying true to the open-source model while achieving commerical success.

Asterisk is an open-source telephony platform, but the for-profit company Digium is practically synonymous with the software. Digium has built its business by selling pre-packaged versions of Asterisk, as well as offering support, training and telephony accessories to those wanting to deploy the technology. Digium also has strived to spur further development of the core Asterisk platform-continually walking the line of what is best for the company and what is best for the open-source Asterisk community.

eWEEK Labs Senior Technology Analyst Andrew Garcia recently spoke with Digium CEO Danny Windham to discuss this balancing act and about Digium's plans to spur development on both the core Asterisk telephony platform and the phalanx of applications built to leverage Asterisk.

Click Here to Watch the Latest eWEEK Newsbreak Video.

You came to Digium from the networking company AdTran. What are the differences in running a company using proprietary technologies and one trying to capitalize on open-source technology?

The thing that is primarily different in the open source world is the way products are developed. The open-source models allows people of similar interest and passion all over the world to come together to create a product. To me, that is a much more powerful development model--assuming that the project that is being worked on is something around which you can develop a community.

Asterisk has proven that there are enough people around the world that have some interest and some passion in voice over IP--and in communication platforms in general--that we've been successful building that community around Asterisk. There is a critical mass going there.

To contrast between a proprietary model and an open-source model, there are at any given time hundreds of developers who are making some level of contribution toward Asterisk, and that is equivalent to a relatively large engineering organization in a proprietary company making that associated level of contribution. But the big difference revolves around how to create a company a for-profit entity around an open-source project and do that in a fashion that doesn't wind up alienating the community.

It is very much a balancing act between those two, and that is a concern that you essentially don't have in the proprietary world, where you go paint a bulls-eye on the back of a handful of competitors and you go try and compete with them. In the open-source world, there may be people you can paint bulls-eyes on, but you are never free from competing with the open-source version of what it is you are supplying. That inherently requires companies to be very efficient about adding value, or else people won't pay you--they will just use the open-source version of the project.

Trixbox is a very popular distribution of Asterisk and owned by Fonality, which recently signed a distribution deal with Dell. Given your twin roles of shepherding Asterisk development and trying to run a for-profit business, how would you qualify the importance of that type of deal for the community and for Digium?

I think the Fonality and Dell deal is good for Asterisk. Obviously, the for-profit entity of Digium might not have the same view. But within the management team of Digium, we truly believe that broad adoption and success of Asterisk is important for Digium to have a chance to succeed.

One of the foremost missions we have is to make decisions around Asterisk, the open-source project, that are going to result in broad adoption. If you are trying to build a for-profit entity around an open-source project, occasionally decisions that you have to make are in conflict--what's in the best interest of the project versus what's in the best interest of the for-profit entity. So we work really hard to try to balance the way we make those decisions, with the goal of erring on the side of keeping the community happy.

For one, it is good when Asterisk is being adopted. For all of the organizations that are out there who are building something off of Asterisk, particularly those that are building something and then selling it, the people who do that and are actively contributing back to the project and making the project itself better are actually enhancing the entire ecosystem.

At least in the case of Fonality, they are not active in contributing back to Asterisk. In fact, they make a big point that what they have done is a modified version of Asterisk that existed some time ago. Obviously we'd like to see them, if they are truly making those modifications to Asterisk, contribute them back to the project for the benefit of all people using Asterisk.

What is the current status of Asterisk 1.6? Who controls that decision on when it goes from beta to gold?

1.6 is the latest and greatest version of Asterisk--it is open-source-available, it is the cutting-edge thing, and it is primarily a community edition. At some point, it will move beyond a beta stage into a release stage, and that would kick off what might at that time be called Asterisk Business Edition D.1, and we'd go through the interoperability testing and release process.

The co-maintainers of Asterisk include Mark Spencer and Kevin Fleming, to identify the most influential voices in making that decision [to go gold]. But to tell you the truth, I have not been through the process of how the community comes to some composite decision. I would probably be looking to the guys who are the leaders of that community. They would do that as a group, and I don't really know how to predict when that will happen.

Spencer, the original creator of Asterisk and Digium's CTO, is on record saying that Asterisk is boring and that applications are the truly exciting part of the telephony space. What is Digium doing to help enable or develop the type of applications that he is referring to?

I believe, going back two years ago, that Mark had the opinion that Asterisk was THE application, and that the world and the community would spend energy expanding that application to do whatever you would want to do with IP telephony. Over the last two years, I believe, Mark's view has changed, and both he and Digium now view Asterisk as an engine upon which we would expect other people to be developing applications. I don't think the intent of the message was that Digium would necessarily be the one that is creating the cool applications, but rather that we need to make modifications into Asterisk such that they compel people and make it easier to build these really cool applications out of Asterisk.

I happen to believe that Asterisk needs a more stable API. To the degree we have any influence over where the community takes the open-source project, I would be lobbying that we need to do a better job of abstracting an API so that we can continue to enhance Asterisk going forward. There is so much going on in the area of mashups and Web 2.0, I would like to encourage the hooks and the ties into Asterisk that would make it easier to live in that environment as well.

What can Digium do to attract more developers to Asterisk, both for the main platform and for applications?

We have been going through a series of discussions inside the company about what we need to do to ensure that we do a good job of nurturing and growing the Asterisk community. We have an Asterisk community relations manager, and he has helped to identify a number of things that Digium can do to help promote growth in Asterisk. These include things like making it a lot easier to train people how to be Asterisk developers and sponsoring Asterisk user group meetings all over the world.

The type of community that would be drawn to developing core Asterisk might be a little different than the type of community that would be drawn to develop applications on top of that core Asterisk. To date, we haven't done a lot to help develop and grow that Asterisk application development community, but it is a topic today that we are discussing and saying, "How could we do that?" I don't think we know the answer, but it is on our radar screen of things we are worrying about.

How would you describe the influence that both the open-source movement and Asterisk have had the telephony industry?

I came here because I believed that open source represented a fundamental sea change in the way commercial software was going to be developed. I've been here over a year, and I now believe that more strongly than I did when I got here. Open source is disrupting the way proprietary software solutions have been developed in the past, and we're in a trend where IP telephony is disrupting traditional telephony. Digium is the company that is sitting at the spot where those two trends intersect.

Asterisk is a project that is gaining momentum worldwide, as the project was downloaded more than a million times last year. We speculate that there are 3 to 4 million servers out there running Asterisk today. I think that we could see a large percentage of the world's communications systems being built on Asterisk or Asterisk derivates five years from now.

I think there are some traditional telephony companies that at this moment are scratching their heads, trying to decide what they would do to react or respond to what Asterisk is doing in the marketplace. I believe that there are a handful that will look at it and say, "No response is necessary," and long term that will be a strategically incorrect conclusion to come to.

There are some that will see Asterisk as a way to enable their own business, and they will embrace Asterisk and integrate it into certain elements of their product offerings. I also see Asterisk as being a tool that allows companies whose products today are really not telephony-oriented, but are in a very complementary space, to be able to enter that telephony space with a very low barrier to entry by utilizing Asterisk as the way they get there.

In addition to selling Asterisk software and appliances, Digium sells accessories such as analog and digital trunk cards. What is your vision for that side of your business?

The portion of Digium's business that is driven by what I call ancillary products--things that companies will need to be able to use Asterisk--is significant and growing. We want to provide the services that are necessary or the products that enable Asterisk to be delivered to the entire world. Think about potential end users of Asterisk along an axis where, on the left side, you have companies with no technical competency and, out to the right, you move to people who are technically very sophisticated. Our mission at Digium is to provide implementations and accessories or ancillary products across that spectrum, so that all of those users can benefit from Asterisk.

The technically sophisticated customers might be able to utilize the open-source software. These users might need training, some level of professional services, a place to call for support questions. Or they might need to buy analog telephony cards or platforms upon which to run Asterisk. We would like to supply all of those things to that segment of the market.

As you move back down to the technically unsophisticated customers that couldn't really benefit from the open-source version, we would like to package Asterisk into a product that these customers could benefit from. Last year, Digium made an acquisition of Switchvox, which essentially packaged Asterisk as a really easy-to-use small-business PBX. Because of its open-source heritage, [Switchvox] comes to the market with a very competitive position--it is very feature rich at a very low cost.

What has Digium done to improve Switchvox since the acquisition?

Since the acquisition, we've been trying to meld Digium's go-to-market model with Switchvox's to position all of the products from the combination of the two companies so they can flow through the same model. It involved changing the reseller program--going to all the resellers and trying to explain to them what the mission is, how the programs are changing and what the benefits of doing that are.

We have encouraged Switchvox, and they have responded by including some new features and functions in the product that allow the product to be more easily implemented by a larger end user. The product was probably focused on 50-users-and-below scenarios when we acquired the company, and now it easily fits into 400-and-below scenarios.

We have also announced that we will be migrating Switchvox so that it will run on the commercially licensed version of Asterisk-Asterisk Business Edition. In order to do that, we are porting a number of enhancements that Switchvox had made back into the open-source version of Asterisk that is the basis from which ABE is actually tested and then released.

Switchvox will technically be running on a version of ABE that is derived from Asterisk 1.4. So we'll advance the basis upon which Switchvox is built, and we'll port the improvements Switchvox made to basic Asterisk into the open-source version so those improvements are available for everyone.

Asterisk open source is the fundamental basis upon which everything is built. And, at any given point in time, we will create a cut of the Asterisk open-source version and we'll go through our interoperability and regression testing and produce a version of ABE that is based off that Asterisk open source. And then, after testing is done, we will release a version of Asterisk Business Edition, and then Switchvox is really an application that runs on top of that ABE release.

Periodically, that entire sequence starts over again with a new set of releases. The open source will always be the latest and greatest cutting-edge thing. ABE will probably be a little bit behind that, such that testing and interoperability can be done. And then Switchvox will run on top of the ABE release.

What is the status of the AsteriskNow distribution? Has the community embraced this turnkey version of Asterisk so far, and what niche do you expect it to fill going forward?

AsteriskNow really is a version of Asterisk that has a graphical user interface available in it. The GUI in AsteriskNow is not the same one available in Switchvox, and Switchvox doesn't take advantage of the GUI that is available in AsteriskNow. If you think of AsteriskNow as a project, as opposed to a product, it is an available distribution that reduces the technical skill that is required for an end user to utilize Asterisk. It is distributed on an RPath foundation, so that you don't have to be such a Linux expert, and it has pretty easy setup and a GUI, and it has a basis from which you could do enhancements through scripting and could maybe more easily integrate with other applications.

I don't think I would say the community embraced it, and I don't think that is surprising because the Asterisk community--the people who have been involved in building the Asterisk engine--are probably not the same group of people that you would expect to embrace extending that GUI framework that was created in AsteriskNow. We probably haven't been very successful in promoting and attracting the type of developer that would be interested in coming in and doing that, even though we are getting contributions on the GUI, although probably not at the rate we would have hoped.

Digium is dedicating some amount of resources to continuing to improve that GUI in the AsteriskNow distribution. I wouldn't say it's one of the prime focuses of the company going forward, but we are funding that effort and we are managing the contributions we are receiving from the community and continuing to process those.

Unified communications is a term bandied about all over the place right now. What is your definition of UC?

When I think of unified communications, I think of the ability to not have to interact with a half a dozen systems to communicate with people. [It's] the concept that e-mail and voice mail and chat and SMS messaging, among other types--that there is a mechanism for me to go to one spot and manage the way that I interact with people across all those channels.

Maybe even more importantly, I can define rules around how people can interact with me. So I would like to be able to define a list of people that can get me anytime, anywhere, and then have one number they use to reach me. And the system is smart enough to understand that this person is someone on that list, and what is the right method to use to communicate with me at that given time. To me, that is the basis of what we are trying to accomplish with unified communication, and I think there will be a bazillion different implementations and really wonderful improvements and features along the way.

What are some of the most compelling uses of Asterisk you've seen?

There are a series of applications that are very interesting because they are serving a niche or a humanitarian need in the marketplace.

There are villages in Africa today whose communications are enabled by Asterisk systems powered by bicycles. So, if the community needs to communicate, somebody goes in and jumps on the bicycle and spins up the generator to bring up the Asterisk system to make VOIP calls. The application may not be a gee-whiz thing, but it is a very interesting application because of what it is accomplishing.