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.