Why will proprietary software will eventually die?

Last night I met with a friend of mine, Mr. Doron Ofek. For those of you not familiar with the Open Source market in Israel, Doron is the one person most affiliated with RedHat in Israel, as Doron championed the adaptation of RedHat Linux servers in various enterprises and government offices in Israel. Doron is currently heavily involved in the OpenMoko project and its adaptation and promotion in Israel.

We spent a great deal of time last night, talking about the various aspects of Open Source training in Israel – as both us provide various training services to this market sector. While I’m mostly focused on Asterisk Training, Doron is focused on Linux and XEN training. Both of us have some our training routes knee deep in Israel’s computer/IT training companies, namely Matrix, Hi-Tech College and John Bryce. We both talked about our discontent with their inability to promote and market Open Source training courses, simply because they have no idea what these are.

For example, while Hi-Tech college were incapable of signing up a single person for an Asterisk Bootcamp course, I had signed up 10 people to a my first bootcamp – without any marketing or sales budget, simply by putting out the word in the right places. Now, Hi-Tech college has a list of over 5000 people who studied Linux and other Open Source and networking subjects in their college – should have they been able to gather up at least 10 people as well (less then 0.5% of their entire customer base)? the answer is a definite yes, why were they unable to do so? simply because they have no idea what Asterisk is, how it can be marketed, how it can sold and how the customer should be approached.

Doron had indicated a similar issue with both John Bryce and Matrix – however, due to other reasons. However, Doron had managed to sell quite a few training courses for Linux on his own – without any help from the big boys – how did that happen? how is it possible that Doron and I succeeded where the other colleges had failed? how can that be? – then we both realized why eventually, proprietary software will die and the Open Source movement, over the course of time, will simply negate the presence of proprietary software – simply because Open Source people provide for better marketing strategies and methodologies.

Did we learn how to do marketing on school? are we marketing people by nature? the answer is NO – we learned how to market our belief in the Open Source initiative over the course of time. We championed Open Source in various enterprises, events, public speakings and other places. We were the “soap box” speaker at Hide Park’s Speakers Corner, we were that crazy man on the street screaming: “The world is coming to an end, repent!” (well, you know what I mean) – but all in all, as time progressed we learned how to market the Open Source initiative and our belief – the large enterprises are stuck in their own belief and stagnant marketing strategies and plans. As time progressed, the various “champions” left the large enterprises, simply because they got fed up with the wrongful methodology of these and followed their own path – and doing so with moderate success.

In my belief, as time will progress, the large enterprises will surely migrate to the Open Source, and I won’t be surprised if within a period of 5-6 years Microsoft will be shipping out a version of Windows that is based on the Linux Kernel – or another Open Source distibution methodology. Call me crazy, call me chaotic, call me a dreamer – but mark my words – this will happen.

Being a successful Asterisk Consultant (Part 2)

Last time, I’ve contemplated upon the various aspects of being an Asterisk consultant, mainly judging these from the Asterisk/Open Source point-of-view. Today, I’d like to contemplate upon a different approach of being a consultant, mainly, the various aspects that are usually not associated with Asterisk consultancy, however, can increase your overall perception by your prospective customer.

Be Targeted, Don’t be Limited

Most Asterisk consultant tend to restrict themselves to the Asterisk arena, at best, they will expand their knowledge into the realms of SIP and networks – but never beyond that point. It is true that telephony makes for over 80% of the Asterisk consultancy world, however, Asterisk isn’t limited to telephony only. More than 40% of the people using Asterisk are utilizing it for something completely different. Ranging from simple IVR to complex Micro Payment systems, Asterisk is there. Surely you can consult about Asterisk, but imagine the benefit your customer will gain if you are able to advise about other issues as well?

You are most probably saying: “I’m an Asterisk expert, I can’t be a **** expert as well!’ – you’re not being asked be one. You are being asked to expand your horizons beyond the Asterisk realm, being asked to be able to answer preliminary questions about various subjects. Over the course of my work I’ve been asked about subjects as: Google Adwords, Business Models, possible business partners, applicability of solutions and many more. Surely, there are people more qualified than myself to answer each of these, however, being able to answer my customer in a short time yielded something interesting, my customer became more at ease consulting with me about other matters as well – sometimes surpassing the realms of VoIP and Networking. When I was unable to answer I always replied with: “I’m not an expert about this, but I can check it out”. If I had an answer I would reply: “Per the information that I have, the answer is ………., however, I do suggest talking to someone more skillful than I on these matters”. This approach yielded an interesting response from my customers, mainly, their appreciation at me being able to supply a form of preliminary answer for a question – while on the other hand admitting at the same time that I’m not the best at this field.

Subjects that are fairly close to Asterisk include: GPL compliance, programmatic approach, platform design, billing considerations, scalability and redundancy and more. Again, always target your knowledge to Asterisk and VoIP, but don’t be limited to these.

Advocate for GPL compliance

As a consultant, you’ll be asked to perform various projects – some of these will most probably clash with the GPL spirit. If you encounter such a request, turn down this project immediately. There is no use or advancement by doing a project that violates the GPL code of conduct. No matter if you’re violating GPL v1, v2, v3 or any other of the Open Source license variants, at the end of the day, it will creep up behind you and bite you in the behind.

An Asterisk consultant who doesn’t advocate for GPL compliance is an outbound liar and a con-man. Consulting for the Asterisk market is prmoting the usage of GPL and Open Source software. Performing projects that violate both put you into the position of being perceived as a consultant without any code of conduct and no personal believes. You will be perceived as only being interested in money, thus, you will attract the type of customers you don’t want to attract.

Business Partners

The business partners you choose tell much about yourself. Sometimes, the big partners, which you really want to put their logo on your website as a partner is the wrong partner for you. Since the Q4 2008, my company had been approach by multiple companies wishing to become partners with my company – many have been declined. They were declined due to a simple reason – they were the wrong partners, even if they were companies generating over 25M$ of income per year. Does it make me sound stuck up and elitist, maybe, but there is no use partnering with a company that may clash with your own business model. Just like customers, partners tend to attract one another. Team up with the wrong partners, you’ll start attracting the wrong partners all over.

Being a successful Asterisk Consultant

A while back, John Todd from Digium, had posted an entry on the Digium blog web site, regarding how to be a successfull Asterisk consultant. While I completely agree with John’s views on the matter, from obtaining a dCAP certificate to the involvement with the community – there are a few points missing from that post, at least in my view. I will try to add some additional information here, in the hopes that it may help you build your business.

Point 1 – Stay Focused

Most of us Asterisk consultants come from diversified areas of expertise. Most of us are plain old IP sysadmins or network managers who got thrown into the Asterisk world due to a requirement – got hooked on it and simply continued onwards. Some of us are developers, some web oriented, some core oriented, but developers yet. The diversity of most Asterisk consultants skill set can easily side track them.

When I say side track, I don’t meant that they don’t know what they are doing, I mean – it’s easy to try and swallow more than they can chew at one time. For example, example a sysadmin turning into an Asterisk consultant, after installing over 200 Asterisk systems. Now, a customer comes to him and says: “Well, I’m gonna give you the work, but I want you to also take over the various IT management aspects of the system.” – If at this point you will say: “YES” you are more of less dooming your business. You are an Asterisk consultant, no matter how a talented IT sysadmin you are, going about and taking both roles on your self would render you in a situation where you, at some point, will be in a situation where you are handling an extreme IT condition at that customer, rendering completely incapable of rendering services to your other customers. Remember, stay focused on what you do, you won’t run into a situation where you will be forced to hurt a customer.

Point 2 – Earning more is sometimes loosing money

This point relates directly to the previous one. Let us imagine that I’m an Asterisk developer with a background of Web development. When confronted with a project that may include both Asterisk and Web Development – the most logical answer would be “YES” – however, web developers tend to forget that they are working autonomously. Most web developers are backed up by teams of graphic artists, database developers, database managers and IT managers. Thus, a web application is much more than the web logic involved with it. Are you an all encompassing developer, capable of cater to all aspects of a web development project and an Asterisk project? if you have your own in house DBA and other resources, you should be fine, however, if you don’t – at some point in the project – you will be forced to outsource the work to a 3rd party – thus, lowering your net income on the project. So, by taking such a project you believe you will be earning more money, while in fact, at the end of the project you may end up in debt to 3rd party sub-contractors you hired.

Point 3 – Be true with yourself

Always be true and honest with yourself and always ask yourself: “is this really a deal that will advance me? or may it actually set me back?” – failing to answer these two questions for every project you are about to take on will end up with some disappointment. Remember, you can fool all people some of the time, you can fool a few people all the time – can you can’t fool yourself! You are your own worse judge, jury and executioner. If you end up doing a project that doesn’t feel right for you, or something with the various aspects of the project troubles your no a moral ground, at some point in time, it will creep up on you and bite you back in the ass.

Point 4 – Use it, don’t abuse it

We all deal with various aspects of the Asterisk project, an Open Source project at its core. It’s very easy to become side tracked by large sums of money, in order to either violate a GPL code or doing something which is completely negated to the Open Source spirit or the Asterisk community. Sure, you will abuse Asterisk and/or other Open Source Asterisk related projects, however, at some point, it will be discovered and your name will be smudged. For example, if you integrate ViciDial to a customer, tell them it’s ViciDial and don’t change its logo to something else. Same applies to FreePBX, A2Billing or other Asterisk related packages – at some point your customer will find out you integrated Open Source – and you will be branded a cheat.

For example, 2 weeks ago I was at a call center, where one of Israel’s leading Asterisk integrator had built a dialer platform for the call center. The call center manager told me that they paid a sum of about 120,000 Israeli Shekels (approx 30,000$) for that dialer. I was really interested to see the product, while the only thing I saw was a “logo” modified “ViciDial” with a couple of hooks into FreePBX (that also had its logo changed to the company logo). The customer was sure he was getting a personalised job, while actually, the entire amount of work done can be amounted to about 12-16 hours of work. Ok, so the hardware costs about 8000USD – still, 22,000$ for installing and modifying two pages on ViciDial – you can’t say that is right – is it?

Conclusion

Always be true to yourself, to your customers and to the community – you’ll never loose.

Copyright Enforcement in Israel – you gott’a be kidding me…

A few weeks ago I had posted one of my usuall “Open Source License” rants, where I explained and ranted about the state of Open Source license enforcement in Israel. A recent study by the IIPA (International Intelectual Property Alliance) had positioned Israel as the number 1 copyright piracy country in the world!

When you think abuot it, it’s a little strange, as Israel is fairly small. However,  in relation to the number of Internet connected users in Israel, the number of downloads of pirated software or other copyrighted material in Israel is of the highest percentage in the world. Sure, we all download a movie or episode here and there, but, some people in Israel go about and completely utilize pirated material only. Sure, I like watching my weekly episode of Fringe, but what can I do that no network in Israel is broadcasting it. So, I download the episodes via Bittorrent and watch them as they are published. However, on the other hand, I do purchase Microsoft licenses for my PC’s (yes, I have a Windows XP and a Windows Vista box – running Windows and Office), I did purchase a Mandriva PowerPack package for my Linux destktop and notebook and yes, I did purchase my books about DOJO, PHP and AJAX – so, I can honestly say that my utilization of pirated material is that for things I can’t obtain in Israel at all.

One would argue that it is still piracy, well, there is a certain point in that – however, if there is no one to pirate from where you are located, how can you pirate something? according to the dictionary, the noun priate means:

  1. One who robs at sea or plunders the land from the sea without commission from a sovereign nation.
  2. A ship used for this purpose.
  3. One who preys on others; a plunderer.
  4. One who makes use of or reproduces the work of another without authorization.
  5. One that operates an unlicensed, illegal television or radio station.
Ok, let’s take a look at the above and examine:
  1. Considering the fact that I’m not at sea nor am I attacking from the sea, I don’t qualify for item 1.
  2. I won’t even consider number 2.
  3. I don’t prey on others to take something, the airing of a TV show in the US is well published. Hell, the TV stations even publish their content online – only available in the US however – according to item 3.
  4. Ok, I do make use personal use of another persons work without authorization, however, as there is no local representation for the show that I’m watching – that point is somewhat muted in my view – according to item 4.
  5. I don’t operate an illegal or other wise unlicensed TV or Radio station – according to item 5.
So, taking all of the above, I can be considering a small time pirate – I only pirate the shows that I like watching. What’s available here I watch on TV.
Nonetheless, I’m not arguing that copyrighted material piracy is OK – the simple reason is that people in Israel even pirate the things that don’t need to be pirated. For example, Open Source software is being exploited and resold in Israel as proprietary software. Actually, people in Israel have no idea what Open Source really means, thus, people can push whatever lame story to people.
For example, this week I went to a meeting at a small Contact Center. I went there to discuss the installation of a Recording System for the installed PBX system (I have developed one of the most robust CRM/ERP aware recording systems for Asterisk). In any case, I go to the meeting and sit down with the CEO and owner of the Contact Center. I start explaining that I’m using Asterisk, he suddenly stops me and says that he met with the CEO of a certain company, who claims that they developed Asterisk. Actually, he said that the CEO claimed that the initial idea for Asterisk was his. I was pissed off! I started explaining to the man that Asterisk is developed by Digium and it’s an Open Source product and basically, apart from Asterisk Business Edition, no-one, not even I, can sell Asterisk as is. We can create a product based on Asterisk, but we can’t sell Asterisk, nor claim it is ours. After showing the man some websites and various videos of Mark Spencer discussing Asterisk he asked me: “How can that man claim that he developed Asterisk, when it is clear that he didn’t?” – and I responded: “Because people in Israel don’t give a damn and remain ambivalent to the truth”.
I guess that is the same reason why Internet Piracy is so big in Israel. Much of the stuff we want isn’t available here in shops, so go ahead and pirate it. Once you’re used to pirating something, pirating anything simply becomes a second nature to you. I suggest that the IIPA do a better statistic and check the actual pirated content being downloaded, out of which, check how much content isn’t available in Israel in normal distribution channels – and then remove that information from the statistics. I’m confident that while the number will still be high, Israel will no longer be number 1 in the list.

Read my words – 3500 concurrent channels with Asterisk!

One of the biggest questions in the world of Asterisk is: “How many concurrent channels can be sustained with an Asterisk server?” – while many had tried answering the question, the definitive answer still alludes us. Even the title of this post says “3500 concurrent channels with Asterisk” doesn’t really say much about what really happend. In order to be able to understand what “concurrent channels” really means in the Asterisk world, let us take a look at some tests that were done in the past.

Asterisk as a Signalling Only Switch

This scenario is one of the most common scenarios in the testing world, and relies upon the basic principle of allowing media (RTP) to traverse from one end-point to the other, while Asterisk is out of the loop regarding anything relating to media processing (RTP). Examine the following diagram from one of the publicly available OpenSER manuals:

Direct Media Path between phones via a SIP Proxy

Direct Media Path between phones via a SIP Proxy

As you can see from the above, the media path is established between our 2 SIP endpoints.

This classic scenario had been tested in multiple cases, with varying codec negotiations, varying server hardware, varying endpoints, varying versions of Asterisk – no matter what the case was, the results were more or less the same. Transnexus had reported being able to sustain over 1,200 concurrent channels in this scenario, which makes perfect sense.

Why does it make sense? very simple, as Asterisk doesn’t manage or mangle RTP packets, Asterisk performs less work and the server also consumes less resources.

Asterisk as a Media Gateway

Another test that people had done numerous times is to utilize Asterisk a Media Gateway. People used it as a SIP to PSTN gateway, SIP to IAX2 gateway, even as a SIP to SIP transcoder gateway. In any case, the performance here varied immensly from one configuration to another, however, they all relied on a simple call routing mechanism of routing calls between endpoints and allowing Asterisk to handle media proxy tasks and/or handle codec translation tasks.

Depending on the tested codec, I’ve seen reports of sustain over 300 concurrent channels of media on a single server, while other claim for around the 140 concurrent channels mark – this again mostly relied on various hardware/software/network configurations – so there is nothing new in there.

These tests tell us nothing

While these tests are really nice in the theoretical plane of thinking, it doesn’t really help us in the design and implementation of an Asterisk system – no matter if it is an IVR system, a PBX system or a time entry phone system for that matter – it simply doesn’t provide that kind of information.

The Amazon EC2 performance test

In my previous post, Rock Solid Clouded Asterisk, I’ve discussed the various mathmatics involved in calculating the RoI factors of utilizing Cloud computing. One thing the article didn’t really tell us, did it really work?

Well, here are some of the test results that we managed to validate:

  • Total number of Asterisk based Amazon EC2 instances used: 24
  • Total number of concurrent channels sustained per instances (including media and logic): 80
  • Average length of call: 45 seconds
  • Total number of calls served: 2.84 Million dials
  • Test length: approximately 36 hours

According to the above data, each server was required to dial an approximate 3300 dials every hour. So, let’s run the math again:

  • 3300 Diales per hour
  • 55 Dials per minute
  • As each call is an average of 45 seconds, this means that each gateway generates 20 calls
    per second, and within 4 seconds fills the 80 channels limit per server.

According to the above numbers that we’ve measured, each of the Amazon EC2 instances used was utilized to about 50% of its CPU power, while consuming a load average of 2.4, which was mostly caused by I/O utilization for SIP and RTP handling.

Conclusion

When asking for the maximum performance of Asterisk, the question is incorrect. The correct question should be: “What is the maximum perfromance of Asterisk, utilizing X as the application layout?” – where X is the key factor for the performance. Asterisk application performance can vary immensly from one application to another, while both appear to be doing the exact same thing.

When asking your consultant or integrator for the top performance, be sure to include your business logic and application logic in the Asterisk server, so that they may be able to better answer your question. Asterisk as Asterisk is just a tools, asking for its performance is like asking how many stakes a butcher’s knife can cut – it’s a question of what kind’a steaks you intend on cutting.