Hi, rant, thank you for taking the time to read my diary entry and post a response to it. You make some good points, but I think you also miss some points of mine.
First of all, Vocal is released under a BSD-style license. Your comments don't make it clear whether you understand this--you write as if Cisco were expecting help with a closed application. I think you got the point, but I figured I should repeat myself just in case you didn't. I'll elaborate below.
Second, Vocal runs on Linux. You can sniff its communications using ipgrab and Tricorder. You don't need any dedicated hardware to run a Vocal installation. Cisco route rs are useful for peering to the "public" phone system, but that's not necessary. You can route calls exclusively over the Internet.
The last major point is that I'm more frustrated more with lack of adoption than with lack of development. I didn't really expect the free software community to start fixing bugs in Vocal, adding features to it, or otherwise contributing code. However, I'm a disappointed that no one took the code and tried to make a running installation--i.e. set up a server that would let people make free phone calls. For various reasons, a Vocal installation would be more flexible and offer a higher coolness factor ;) than other no-cost telephony resources like Dialpad.
Explaining all those reasons would entail a medium-sized marketing campaign, which is part of my frustration: Cisco has chosen to market to companies and not to the community. That strategy probably makes good business sense--what volunteer-run free Vocal installation is going to buy 200 3660s with voice modules? The business point of Vocal is, again, to sell routers. Then again, it may not be such a great strategy: Cisco may be underestimating the long-term uptick in sales that widespread adoption would bring. When Vovida started, our business people were talking about being "the next Apache", the de facto standard that dominates the market. Apache got where it is was by scoring many, many installations by lovers of free software.
Anyway, sound or flawed, the Cisco strategy has not helped solve the problem that the community does not use Vocal. Few people have even heard of it; fewer know the benefits of using it. As I wrote in my earlier entry, it gives you all the flexibility that software gives you over hardware, applied in the realm of telephony. That's probably the best way to sum it up. If you can imagine doing something with voice communications over the Internet, you can implement it in Vocal. In many cases you don't even need to hack C; you can just write VXML.
Having clarified the point about installations versus code development, I'll switch to talking about code development, since that seems to be the point of your comments:
Qbert: There are may reasons why "the community" doesn't pick up such stuff: Why should people work for free for Cisco or another company? All too many companies think free software developers are idiots. If a company wants to have that stuff maintained, they should use their own resources.
Well, Cisco is definitely not standing still waiting for free software hackers to do its work. It is using its own resources. The current Vocal release is about 12 MB, all of which was written by developers at Vovida who now work at Cisco (modulo layoffs), except for a couple of included libraries like libxml.
I'm not sure what you mean by stating All too many companies think free software developers are idiots. Are you saying that Cisco views free software developers as idiots? If that's the case, why would Cisco solicit their help?
Maybe you mean that companies view free software hackers as suckers rather than outright idiots, because they will work on code for free. I think it's pretty obvious to Advogato readers how contributing to a free project can benefit you in the long run, so I won't belabor the reasons. How do those reasons change if the free software was produced by a company? It's still free, as are the changes you contribute.
In fact, you don't have to contribute your diffs to Cisco. The Vovida Software License is a nearly verbatim BSD license, so you can keep you changes to yourself, share them with others but not with Cisco, or even sell a closed product based on them. When we made the decision to adopt the BSD license, we reasoned that people would ultimately find it in their own interest to contribute back changes. That way Vovida (now Cisco) maintains the changes for free, keeping them in sync with every new version; the onus of ongoing development is removed from the contributer. We felt no need to coerce people into contributing their changes by, e.g., licensing Vocal under the GPL.
The telecommunications world is a closed world. Most of the dino companys in that business would rather go bankrupt, than sharing knowledge with each other. Free software is alien to them, and doesn't fit into their culture. As a consequence, they don't give anything back to the community. Why should the community give something to them?
You're right, the telecommunications world is largely closed. It's a problem. I don't see why you should make the situation worse by penalizing the one company that is trying to do things right by offering a major open-sourced codebase.
If you're saying that this is part of the reason no telecom companies have worked on Vocal and given changes back to Cisco, you're right. If you're saying we should punish the telecom industry at large by refusing to contribute to a application even though it's open-source, I don't understand you. It's comments like this one that make me wonder whether you missed the fact that Vocal is free software.
There is no incentive in working at that code. No fame to gain, no recognition, no itch to go away.
That may be true. On the one hand, there's a large codebase already. No is going to become famous for writing Vocal; it's already been done. Hmmmmmmnn. I think you may have hit on one big reason free projects by commercial companies receive so little developer attention. On the other hand, it doesn't explain why people continue to make small contributions to Linux and FreeBSD. Maybe we're dealing with two different kinds of fame-seekers here. One kind wants to write a major project with relatively little help. The other is content to contribute to an already- famous project (which is almost always much more useful). Neither kind would want to contribute to Vocal, since it's not famous. Maybe if more free software developers worked on Vocal it would be more famous, but we have a chicken-and- egg problem with these particular coders who are motivated by fame.
On the other hand, I do think the first free Vocal installation could cause a stir. Imagine the coolness value of announcing, "Here's a server you can use to talk with your friends long-distance. It's free, like IRC. Oh, by the way, it's based entirely on open-source software."
I also think there are itches to scratch with free voice over IP applications. How about the ability to talk to relatives in other countries for free? Hmmmnn, that sounds pretty appealing to me. Sure, you can do it with Dialpad et al., but you can also serve HTTP with Cern or one of these. You can do it better with Vocal, just as you can do it better with Apache.
People in need for such stuff are usually working for the competition.
Ay, there's the rub. We hoped that we could widen the interest to include people who don't write telecom software for a living. So far, we've failed. We also hoped we could convince competitors or partners to use our software, since it's free, standards-compliant, already written and tested, and high-quality. If we could get them to use Vocal, we would know that we had systems that were compatible with Cisco's SIP- running routers, which would mean we might be able to sell some routers. Hardware competitors would want to use their SIP-running routers instead, but software competitors... Well, they'd have to add some value to compete with our free product, but if they could do that, they could keep that value proprietary and buy our routers. It remains to be seen how well this strategy will work.
They have their own systems and implementations to take care of. Which is already difficult and tedious, even if you have full control over the development process. Why should people work on competetor's stuff?
Well, it depends. If you're using your own legacy codebase, you'll probably find it easier to build on that, instead of using Vocal. On the other hand, if you're starting from scratch and you need the functionality of one of the many protocols for which Vocal provides stacks, or if you want a softswitch, why would you not use Vocal?
You see, part of our strategy was to enable new service providers to rise and challenge the "dinos" of circuit- switched telephony, as you rightly call them. We wanted to create "disruptive" software. In this respect, we've been moderately successful. At least one company is offering professional services for Vocal (among other voice over IP software). We also hoped that ISPs would adopt our software and use it as a competitive edge, since vanilla Internet service is so commoditized.
Voice over IP Signalling Protocols
Telecommunication protocols are huge, complex, and described in fscking pervers standards.
I don't know, what's so bad about telecom standards? H.323 is admittedly pretty gnarly, since it depends on ASN.1 encoding. (H.323 is also not an open standard by my standards ;) , since you have to pay the ITU to view the specs, let alone to contribute to their definition). SIP was invented partly as a fix to these problems. It uses text, so it's human-readable on the wire. In fact, it's designed to mimic HTTP for maximum readability and ease of implementation. It's an IETF standard, so it's as open as you can get. Try reading the specification; it's remarkably simple. I read it during my first week at Vovida and grokked it right away, with no experience in protocol design or telephony (just a general programming background from college).
It's no accident that Cisco chose SIP as its preferred standard for voice over IP. Around mid-1999 the industry at large made the same choice, for the same reasons.
Why should people expose themself to that pain without at least getting paid?
Why should people write any software without getting paid? Do you think that the W3C standards Mozilla uses are less "perverse" than SIP? Yet Mozilla gets a lot more attention from hackers and users than Vocal. Something else is going on.
You don't get most of the standard documents for free. Why pay a fortune for this horrible stuff out of your own pocket?
Well, that's an excellent point. It's a pity that H.323 is not free. On the other hand, MGCP and SIP are. You need just one to implement a full soft switch; they're competing protocols. (You know, the great thing about standards is there are so many to choose from. ;) ) As I mentioned before, SIP is winning, largely because it is the easiest for humans to understand.
People just don't have the equipmment to test or make use of the protocols. When was the last time you build your own terminals or switches? How many real time protocol analysers do you have at home?
Anyway, thanks again for reading my diary and responding. It's good to have feedback; it's certainly stimulated me to add some detail about Vocal, and it's helped me see where I omitted information I should have included (e.g. the bit about VXML.) If nothing else, at least one more person is paying attention to Vocal now! ;)