[Asterisk-Dev] Client development...

Roderick Montgomery rod at thecomplex.com
Sat Sep 27 17:35:33 MST 2003


According to Boudewijn van Ingen:
> 
> Such basic coding rules should apply to any software product. No matter 
> what programming language. I apply them (and many more) stringently to all 
> the code that I sell or publish.

Boudewijn, the self-discipline in your craft is admirable, and the basic
coding rules you listed are definitely good ones. It's obvious that your
zeal for code portability is a good characteristic, incompatible with
Microsoft's typical "embrace, extend, extinguish" strategy.

Please understand that few OpenSource projects begin life as fully
architected, documented, portable code. I'm not being facetious. Often they
begin as simple hacks to solve a specific problem or to prove a novel point
("Oh cool, the TA750 *can* do backflips!") and have more and more features
bolted on later. Relatively few OpenSource projects find commercial use and
fewer still find commercial acceptance. So yes, while many of us cheer for
Asterisk to gain commercially speaking, I think we don't realistically
expect it to supplant the switch in a major telco any time soon.

Asterisk is still described as a PBX. It may take a little time for it to
take over the world.


> Considering the fact that there is apparently no documentation at all about 
> the protocols or APIs involved in Asterisk, I am forced to the conclusion 
> that indeed there were and are no formal "design goals" at all.
> 
> But indeed, I would think that basic coding standards would be the very 
> least, for a project like Asterisk. As I indicated above, apparently I was 
> expecting too much.

Possibly you were expecting too much, and I appreciate that you can say that
without sarcasm. One of the things I admire about OpenSource developers is
that they put their imperfect code, warts and all, out in the open for
you to use and/or ridicule. Nobody is under the illusion that Mark and
the many Asterisk contributors write perfect code, but we admire them for
their willingness to publish.

Admittedly, corners have been cut in the development of Asterisk. In lieu of
rich technical documentation and protocol specification, Mark writes rather
readable code, even if that code doesn't obey all your basic rules all the
time. However, the lack of a design document does not mean that there were
no design goals or that little thought went into the IAX and IAX2 protocols.
It simply means that the goals were not committed to writing; I may be
entirely wrong, but the protocol could have been planned solely using Mark's
noggin and whiteboard.

It's okay that Asterisk does not meet your customer's commercial development
timetable. It's okay that Asterisk isn't perfect right now. It's okay that
there's no design document that explains IAX bit by bit. You know why?
Because it's infinitely better than nothing, I can improve it myself
(theoretically speaking -- I suck at programming), it didn't cost me
anything but my own time to install, and IT ACTUALLY WORKS.

Please understand that your programming skills could make important and
welcome improvements to Asterisk. It seems that you are a wickedly honest
person; you call 'em as you see 'em. Just be mindful that you're not
criticizing some mammoth faceless organization when you kick around
Asterisk's implementation -- the actual people that wrote the code you're
disparaging are reading this list. You don't have to bow to their opinions
or treat their feelings with kid gloves, but you should show some respect
for their free contributions, however imperfect or inadequate for your
purposes the code may be. If you choose to begin making improvements and
additions to Asterisk, I'm sure you will come to enjoy the same respect. 

As a critical newcomer with no history of contributing to Asterisk, you can
probably see why your initial posts were met coldly. Please consider
applying your skills to building and improving this community, not to
criticizing it.

Sincerely,
rm
-------------------------------------------------------------------------
 Roderick Montgomery   rod at thecomplex.com   <URL:http://thecomplex.com/>
the fool stands only to fall, but the wise trip on grace... [Sarah Masen]
-------------------------------------------------------------------------



More information about the asterisk-dev mailing list