Nerd Vittles had been lamenting the fact that the "Asterisk 1.6 development seemed to be on a collision course with the dinosaurs because of developer insistence on deprecating and removing commands from the application programming interface (API) in the name of technology enhancement."
Nerd Vittles then explains why this is a bad idea.
> The problem this poses is that
> applications and dialplans written for previous versions of Asterisk
> no longer function even though the code is barely a year old. In the
> corporate and government sectors, this would mean major, costly
> (annual) rewrites of code just to keep a functioning phone system.
> And, as we noted, these organizations buy phone systems to last a
> decade so such a development strategy would all but rule out use of
> Asterisk in the Fortune 500, medical, and government sectors.
>
True that!
Nerd goes on to sound the
> alarm regarding the future of Asterisk.
class="my-blockquote">Today we want to share the Digium response and
> address some of the new issues that have been raised. For those of you
> that haven't met him, Jared Smith, who co-authored the terrific
> [1]Asterisk: The Future of Telephony books, now serves as
> Digium's Community Relations Manager. Jared sent us a
> thought-provoking response which you can read in its entirety
> [2]here. For ease of understanding, we're going to quote a number
> of sections of Jared's response and address them below so that you get
> the full picture of how dangerous the Digium development approach is
> to the future of the Asterisk project.
Go read Nerd
> Vittles [3]entire post.
The main premise of Nerd
> Vittles post is that it would seem that Asterisk, the "Incredible Hulk
> of Open Source Telephony" is "breaking" the cardinal rule when it
> comes to programming - namely don't break your existing applications
> and be backwards compatible.
But apparently, the
> programmers at Digium have been breaking existing
> applications. I contacted Digium creators of the "Incredible Hulk of
> Open Source Telephony" for comment... Their spokesperson The Hulk was
> nice enough to comment.
Me: Hulk, I'd
> just like to say that I love open source Asterisk, which was created
> in the good ole' USA!
[4]
> Hulk: Hulk like USA except when USA Army tanks and
> helicopters shoot Hulk. Hulk like open spaces so Hulk jump high. Hulk
> like open source too.
Me: What are your
> thoughts on Nerd Vittles claiming Digium is breaking existing Asterisk
> applications in the new Asterisk 1.6?
> Hulk: Me hate puny Nerds. Nerds weak.
> Me: Yes, but what about his claim you are breaking Asterisk
> applications?
Hulk: Me Hulk. Me like
> break things.
Me: Yes, but if you break
> Asterisk, you will no longer be the "Incredible Hulk of Open Source
> Telephony"
Hulk: You threaten Hulk. You
> make Hulk very angry.
Me: Whoah. Calm
> down there big guy. I'm just sayin'
Hulk:
> You no say! You not make Hulk angry.
> Me: Digium's Jared Smith said the following, "APIs change
> when major versions of the software are released. (APIs are
> Application Programming Interfaces -- think of them as building blocks
> inside of the Asterisk code that both Asterisk and third-party
> programs can use to do various things.) The problem is, when we make
> Asterisk better, we often have to change those APIs to do so. What are
> your thoughts?
Hulk: I like building
> blocks. Hulk like smash blocks of buildings!
> Me: So you like breaking the building blocks of programming?
> That's not a good idea. Do you know that proprietary PBXs often
> "locked you in" forcing you to use their solutions?
> Hulk: Hulk no like being locked in. [5]Thunderbolt
> Ross try capture Hulk. Make Hulk very angry.
> Me: Nerd gave an example of how the new version of
> Asterisk (1.6) breaks existing dialplans and why that's a bad thing.
> He writes: We defy anyone to explain why "making Asterisk better"
> required breaking every dialplan on the planet because some developer
> thought Set(TIMEOUT(digit)=timeout) was a code
> improvement over DigitTimeout(timeout).
> Hulk: You confuse Hulk. Me no understand.
/> Me: Exactly. Nor do the programmers that wrote
> code & APIs one way and now have to rewrite their code.
> Hulk: That not good?
> Me: No it isn't. Nerd Vittles succinctly explains:
/> Asterisk developers can't and
> won't be responsible for making sure they don't break existing
> applications and dialplan code, and Digium won't do anything to
> migrate existing code to new platforms. I'm not sure I understand how
> development of a piece of migration application code requires a
> knowledge of every third-party application in the universe.
> Presumably, the Asterisk development team does know when it changes
> the syntax of some command in the existing API. Why then would it be
> so difficult to provide another application that translated the "old
> code" into the "new syntax?" That doesn't require that any third-party
> apps be reviewed. And it doesn't stymie future development. Just
> provide the tool to fix stuff that you broke!
Any comments to this Hulk?
Hulk: Digium broke stuff? Only Hulk break stuff. Hulk mad!
Me: You should be. Only the Hulk should be breaking things. In fact, I know you only want to "break" the competition. You want to smash Cisco, Avaya, Nortel, don't you, Hulk?
Hulk: Yes! Hulk crush Cisco, Avaya, Nortel! HULK SMASH!
[6]
Nerd Vittles has some valid points about Asterisk 1.6.0 breaking existing APIs and I myself as a programmer am at a bit of a loss as to why Digium would do that. But to be fair to Digium, you should read Jared Smith's entire response posted on [7]Nerd Vittles' article, which presents Digium's point of view on why they did what they did. What are your thoughts on Digium changing APIs - often a simple syntax change - that breaks existing applications?
[1] <http://downloads.oreilly.com/books/9780596510480.pdf>
[2] <http://nerdvittles.com/wp-content/jared-response.pdf>
[3] <http://nerdvittles.com/index.php?p=211>
[4] <http://blog.tmcnet.com/blog/tom-keating/images/hulk-american-flag.jpg>
[5] <http://en.marveldatabase.com/General_Thaddeus_%22Thunderbolt%22_Ross>
[6] <http://blog.tmcnet.com/blog/tom-keating/images/hulk-smash.jpg>
[7] <http://nerdvittles.com/index.php?p=211>
[8] <http://blog.tmcnet.com/blog/tom-keating/tag/api>
[9] <http://blog.tmcnet.com/blog/tom-keating/tag/asterisk>
[10] <http://blog.tmcnet.com/blog/tom-keating/tag/asterisk160>
[11] <http://blog.tmcnet.com/blog/tom-keating/tag/digium>
[12] <http://blog.tmcnet.com/blog/tom-keating/tag/hulk>
[13] <http://blog.tmcnet.com/blog/tom-keating/tag/incrediblehulk>
[14] <http://blog.tmcnet.com/blog/tom-keating/tag/nerdvittles>
[15] <http://blog.tmcnet.com/blog/tom-keating/tag/opensource>
[16] <http://blog.tmcnet.com/blog/tom-keating/tag/voip>
[17] <http://blog.tmcnet.com/blog/tom-keating/asterisk/top-10-reasons-why-i-love-asterisk.asp>
[18] <http://blog.tmcnet.com/blog/tom-keating/asterisk/digium-reaches-1-million-download-milestone.asp>
[19] <http://blog.tmcnet.com/blog/tom-keating/asterisk/astfin-announces-asterisk-appliance-based-on-blackfin.asp>
[20] <http://blog.tmcnet.com/blog/tom-keating/asterisk/digium-acquires-switchvox.asp>
[21] <http://blog.tmcnet.com/blog/tom-keating/asterisk/digium-wins-infoworld-best-of-open-source-software-award.asp>
[22] <http://blog.tmcnet.com/blog/tom-keating/asterisk/digium-the-showstopper.asp>
[23] <http://blog.tmcnet.com/blog/tom-keating/asterisk/digium-podcast-of-mark-spencers-new-role.asp>
[24] <http://blog.tmcnet.com/blog/tom-keating/asterisk/phonefromherecom-digium-ink-5-year-deal.asp>
[25] <http://blog.tmcnet.com/blog/tom-keating/gadgets/asterisk-usb-hub.asp>
[26] <http://blog.tmcnet.com/blog/tom-keating/voip/sangoma-technologies-offers-lifetime-warranty.asp>
[27] <http://imageads.googleadservices.com/pagead/imgclick/080416120703?pos=0>
[28] <http://services.google.com/feedback/abg>
[29] <http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&client=ca-pub-8317963745003590&channel=0771188340&output=png&cuid=080416120703&url=http%3A%2F%2Fblog.tmcnet.com%2Fblog%2Ftom-keating%2Fasterisk%2Fhulk-smash-asterisk-16.asp>
[30] <http://blog.tmcnet.com/blog/tom-keating/index.xml>
[31] <http://www.rssfwd.com/rssfwd/unsubscribe?id=341891&email=stvoipsolution%40gmail.com&genpass=0697c0009ab0de21735c72a2c76cfa29>
[32] <http://www.rssfwd.com/rssfwd/opml/stvoipsolution%40gmail.com;0697c0009ab0de21735c72a2c76cfa29>
[33] <http://www.rssfwd.com/>
[34] <http://www.blueskyfactory.com/>