[Mac-telephony-list] Asterisk vs. OpenPBX
Benjamin Kowarsch via List
mac-telephony-list at mactelephony.net
Thu Dec 21 05:32:43 JST 2006
On Dec 21, 2006, at 4:29 AM, Colin Anderson via List wrote:
>> There are simply too many people who share the same views on what is
>> wrong with the Asterisk code base for you to come along and dismiss
>> this as a mere "scratch an itch" or ego thing.
>
> Whoa, touched a nerve there. All I meant to convey was that OpenPBX
> is a
> fork (it is) and it came about largely because of Digium's
> recitience to
> change (it did). I didn't mean to say openpbx is crap (it's not) or
> openpbx
> developers are buttheads (they aren't) and actually the personality
> comment
> I directed at Digium and specifically Mark, who seems to have a 400lb
> gorilla approach to new ideas (a good example: his hatred of XML
> has hobbled
> the retarded Manager interface until finally XML support was added
> in 1.2 -
> now Asterisk can communicate with heterogenus platforms and it is
> possible
> to expose the Manager API with SOAP or XMLRPC or XML$FOO without a
> shim -
> but apparently it was tough to convince Mark that this was a good
> way to go,
> even though it was blatantly obvious that this was a good feature)
>
> Sorry didn't mean to offend.
Fair enough. No offense taken ;-)
To be honest, the reason I jumped on this is the public record in the
list archive. I felt it was important to prevent any possible doubt
that this defection of former asterisk developers was about window
dressing and peanuts.
Many people instinctively assume that this is about features, but it
isn't.
Asterisk has very serious issues. Most of it is implemented in such a
naive and sloppy way that it is frightening.
By naive I mean that when you study the choice of algorithms used,
you will all too often find text book example algorithms and methods
that are described in the text book only to introduce a concept, they
are mostly educational-only. Nobody in their right mind would
actually use them for real in scenarios where Asterisk uses them.
Most prominent example of this is the use of singly-linked lists as a
universal storage mechanism for everything Asterisk needs to keep
track of. That is just insane and there is no excuse for this
insanity. You wouldn't pass any exam at any university or college if
you presented this as a solution.
Anthony Minessale who used to be one of the top contributors to
Asterisk tried to change this particular bit simply because it is so
wide ranging, having a negative impact on everything else. He wrote a
custom hashtable storage library specifically for Asterisk to replace
the linked-list nonsense. It was rejected like so many other things
that would have made a huge difference. He did have a disclaimer on
file, so it wasn't a licensing problem.
This is one example, there are many other such issues. This is not
about some pet feature somebody liked and somebody else didn't. These
are major issues. If you ignore these issues, experienced developers
will want to address them. If you ignore those developers, then many
will leave your project and either join another project or fork or
start a new one.
Anthony eventually left the Asterisk project and started Freeswitch.
One year on, Freeswitch handles 3000+ concurrent phone calls
(signaling and media) on a vanilla Intel server while Asterisk starts
getting into trouble at about 200+ concurrent calls. How did
Anthony's crew do it? They simply avoided all that which they had
criticised Asterisk for. The results they are getting shows that
their criticisms were spot on.
The OpenPBX.org community shares these criticisms. All of them. Lock,
stock and barrel. The difference is the approach taken how to get
from here to there. Freeswitch is being developed from scratch.
OpenPBX.org is about gradual change which should provide a smoother
migration path, at least that's the idea.
The lessons to be learned from both projects are that Asterisk is
broken. Unfortunately, Digium doesn't acknowledge that. And that is
why there are defectionsand for as long as Digium continues on this
path there will continue to be defections.
rgds
benjk
More information about the mac-telephony-list
mailing list