The wireless application field is literally exploding now with new companies, products, and technologies – a fact that has not gone unnoticed by the open source community. Before examining some of these projects, I think a brief introduction to open source software may be required. If you’re not familiar with the open source development process, it may surprise you to know that, despite its recent popularity in the press and the creation of the term “open source” in 1997, elements of the movement have been around for nearly 20 years. Building upon the early work of the somewhat confrontational free software movement, the original open source advocates realized that their community needed to work together with the business community to “sell” the benefits of high-quality, publicly developed, freely available software. The results have been staggering using virtually any metric — number of projects, number of end users, investment dollars, and innovation. Perhaps the one statistic still left to be fully proved in order to completely validate the community is the revenues of companies formed around open source products (for instance, Red Hat and VA Linux). Keep in mind, though, that the success of individual open source products is completely separate from the fate of companies founded to support these products as all code is developed in the public domain, usually without the aid of any corporate sponsorship.
One of the paradoxes associated with open source to date was that the terminology and actual definition were developed to support Netscape’s open sourcing of their browser product. Two years later, a commercial product is still not available based on the Mozilla code although a first release is imminent. For a complete definition and business case for open source software, visit The Open Source Page.
While you may be familiar with widely used software packages such as Linux, Perl, and MySQL, it may surprise you to know that there are several commercial-grade products being developed for use in wireless applications making use of technologies such as SMS, WAP, and Bluetooth. I’d like to highlight a few of these projects this week in hopes that, at a minimum, you’ll check out these incredible products offerings. If you’d like to contribute your skills (coding, documentation, testing, or even marketing) and perhaps change the world in the process, you will be welcomed with open arms as all of these projects are working with some very sophisticated technologies.
Kannel: The Open Source WAP and SMS Gateway Project
The first project I’d like to introduce you to is Kannel, which bills itself as the open source WAP and SMS gateway project. Founded by WapIT in Helsinki in 1999, the project has advanced to a stage where commercial operators such as Globe Telecom in the Philippines are currently using Kannel to serve tens of thousands of SMS requests per day. The WAP server is still under development and is not ready for industrial use, although it does work in light testing environments. The current stable version of Kannel (0.8 at the time of this writing) includes the following features:
WSP: connection oriented mode. Supports GET only, not POST. Uses HTTP headers sent by phone for the request, but does not return all headers from the HTTP server to the phone (this is a bug). Has problems with some error situations.WML compiler from text to binary form. Should be ready for production use, but only supports the ISO 8859-1 character set so far.WMLScript compiler: similarly, converts textual WMLScript source code to a bytecode format. Should be ready for production use.WTP: class 2. Error handling is not very much tested, though.WDP: Supports only UDP bearer (datacalls), no SMS bearer support yet.SMS center protocols: CIMD 1.3, CIMD 2.0, SMPP 3.3, UCP/EMI 2.0 (used by the SMS gateway functionality). Also: SEMA SMS2000 OIS protocol for SMS centers over Radiopad. These work for SMS gateway, not WAP gateway.
The development version (0.9) also has added these capabilities:
UDH support for CIMD2 and EMI.WML compiler supports ISO 8859-1 to ISO 8859-9.New bearerbox that will allow implementing WAP over SMS.
As you can see, we’re not talking about something thrown together overnight…these guys are serious! Peter Grönholm from WapIT indicates that the project truly has grand plans: “In a long-range we would like to see Kannel as an extremely efficient and easy to use WAP and SMS gateway with features that attract a wide range of users like mobile operators, corporates, universities, students, hackers etc. If Kannel would some day be as known and widely used as Apache then what could be better than that? We want Kannel to be faster and more reliable than our competitors’ products.” Considering that Apache currently runs over 60% of the servers on the Web, I’d say that this project clearly has set its sights very high, which can be nothing but a good thing if you choose to run your enterprise on their product.
Enhydra: The Open Source Java/XML Application Server
Enhydra is a Java application server project that is already enjoying widespread commercial use (WirelessDevNet uses it to run our discussion area!) Enhydra’s site is sponsored by Lutris Technologies; Lutris offers a variety of support, training, and consulting services for the product. Because Enhydra converts all content into XML before serving it out via their Java servlet framework, virtually any type of data or content can be served once the data has been converted to XML (which can actually be done on the fly by the server). One consequence of this is that Enhydra supports dynamic WML generation capabilities as well as the standard HTML output. For more information on this feature, visit our article that explains the details of how this is done.
Enhydra currently supports Servlets 2.2, JSP 1.1, XMLC, cookie-less sessions, database access, and integration with the Borland JBuilder Integrated Development Environment (IDE). An Enterprise version also adds a number of high-end features such as Enterprise Java Beans (EJBs), CORBA, and an administrative console to assist in the management of distributed applications. For a relatively new project, Enhydra features a wealth of documentation and examples. If you’re getting started with the project, be sure to subscribe to their mailing lists to keep up to date on new enhancements, bug fixes, and techniques.
Axis Bluetooth On Linux
While many may think of open source projects as loose collections of students hacking away throughout the night (not that there’s anything wrong with that!), the true power of the idea to businesses is that can help produce better products due to the public peer review process and collective pooling of some very large brains around the planet. Companies like Axis Communications help illustrate to those sitting on the fence how opening their source code up can help the entire company prosper. Axis is in the business of producing their ThinServer technology and products that go along with that. This technology allows peripherals to be connected together via a network for simpler administration and maintenance. As you can imagine, Bluetooth is a natural fit for the company. As they were also developing an embedded Linux product for use in their devices, the decision was made to open source their Bluetooth driver to assist the embedded and mobile Linux community with Bluetooth integration but to also gain the benefit of hundreds or thousands of eyeballs banging on the product, each with a unique goal in mind. The results of this decision can be found at the Axis Bluetooth On Linux developer site.
The best proof of the success of the open source process is the quality of the products produced. Clearly, the projects mentioned here are focused on building production quality, industrial strength tools that can handle virtually any customer or environment.