Tag Archive for 'open source'

Open Everything in Government

I attended the Open Everything (Cape Town) event on Friday.  Apart from being a masterfully facilitated workshop and an excellent opportunity to talk to other “openly” minded folk, it also featured a great interview with Aslam Jaffee, CIO of the Department of Science and Technology in the Government of South Africa and the current chairperson of the GITOC Open Source and Open Standards working group of the Government IT Officers Council (GITOC).  Matthew Buckland and I interviewed Aslam on his experience of establishing an Open Source, Open Standards, Open Content policy for the South African government.  Mark Surman has blogged about it and has posted a podcast of the interview that you can listen to.

Does Open Source Need To Be Government Policy?

I was somewhat skeptical of the idea of enshrining Open Source as a mandated policy in government.  It seemed a bit like mandating the eating of spinach.  You know it’s good for you but there is a natural resistance to implement something you’ve been ‘ordered’ to implement especially if it means a change from the status quo.  It also seemed to me that good policy follows practice and not so much the other way round.

Having said that I was impressed by Aslam’s presentation and it may be that in the case of South Africa at least, that having an Open Source/Standards/Content policy is a good thing.  The policy states that the government will use Open Source unless there is a compelling reason not to.  This obviously provides a lot of leeway as it is conceivable to write a software specification to suit almost any particular piece of software.  However, it does ensure that at the very least a dialogue needs to take place in each case as to the merits of Open Source.  This alone is a very positive step.

It is interesting that Open Source, Open Standards, and Open Content have been bundled together in the policy.  I am in two minds as to the wisdom of having all of those issues in a single policy document.  On the one hand, I can see how, given the opportunity, one might want to pack as much openness into a policy as possible.  On the other, they are each complex issues in their own right and deserve treatment on their own merits.  In particular, I think Open Standards deserves to be the absolute, non-negotiable backbone of procurement policy whereas I think the dialogue-driven tone they have struck with Open Source is probably about right.  Open Content is a different kettle of fish again and appears to be directly at odds, at least in spirit, with the Intellectual Property legislation currently being tabled in parliament.

Flavours of Openness

What does Open Source in government really mean?  Aslam mentioned at least three broad categories.  Open at the server, open at the desktop, and open at the application level.   He pointed out that the South African government has been using Open Source software for its mail and web servers for many years.  Further, there is work underway by a couple of departments (the CSIR and the Department of Science and Technology) to roll-out Ubuntu on user desktops.  However, in the area of large scale corporate applications not much has happened yet.

While I think there are compelling reasons to deploy Open Source desktops and mail and web servers, I think the real opportunity for Open Source in Government lies at the application level.  Governments around the world face similar challenges at the national, provincial, and local levels.  As the trend towards e-services grows within government, one cannot help but wonder how much duplication is taking place around the world in the development of applications to deliver services, whether government-to-citizen, government-to-business, or government to government.

The Frontier for Open Source in Government

Many initiatives claim to be Open Source but fail in significant ways.  The Brazilian government’s Department of Health is a great example of this.  They have developed a comprehensive health information management system which is theoretically Open Source but only available through governments i.e. the Brazilian government may privately offer the software to the South African government.  This strategy may give the Brazilian government a comforting sense of control but it substantially reduces the chances that any other government will ever implement this software.  Perhaps this is not a tragedy from a Brazilian perspective but think of all the lost opportunities for Ministries of Health around the world.  What this strategy misses out on are the many health information system developers around the world who could potentially contribute to this project.

Consider by comparison, an initiative such as OpenMRS.  OpenMRS is a community-developed, open-source, enterprise electronic medical record system framework.  Thanks to its modular design and a robust, open API, OpenMRS lends itself to flexible extension into a variety of more specific applications.  Government support for flexible core applications like OpenMRS could transform the way that applications are developed to support government services.

A powerful step any government could take would be to get behind independent, transparent, community-driven Open Source initiatives like OpenMRS to support the development of common, open applications for effectively delivery of government services.

Open Hardware for Development

In my last post I wrote a bit about what kinds of information and communication technologies are needed by the poor.  I have also written about the importance of tinkering and tinkerable technologies as a catalyst for innovation.

My previous experience has led me to believe that tinkerable technologies like Linksys WRT routers running open firmware like OpenWRT can play an important role in spurring the development and deployment of appropriate connectivity solutions in developing countries.

The Linksys WRT54G and its successors are remarkable in that they surprisingly rugged and difficult to “brick“.  They can run on anything from 5 to 20 volts and have a surprising amount of processing power for a simple access point.  People have adapted these routers to become, among other things, small PBXes, firewalls, and traffic shaping tools.  With a little bit of effort these devices can be tuned to draw less power making them more suitable for use with solar power energy sources.

So for the last few years I have been quite taken with the idea of finding and re-purposing commodity information and communication technologies developed for wealthy, consumer markets and adapting them as appropriate communication infrastructure.  Now, however, my point of view has changed somewhat, partly as a result of meeting David Rowe and in particular in conversations with him and others at the Village Telco workshop. David pointed out that wonderful as the Linksys routers are, we put up with numerous constraints e.g. limited memory space, limited interfaces, higher than desired power consumption, lack of surge protection on some interfaces, non-ruggedised housings, etc. where perhaps we don’t have to.

This took a little mental digestion on my part and, at the time, I was reluctant to give up the beloved Linksys.  However as things turned out the workshop led us to look at other technologies such as the Ubiquiti Nanostation and even to the point of coming up with plans to design our own hardware, the Mesh Potato.

Until I met David, I would have said that designing and putting customised hardware into production was a beautiful idea but not very practical.  Indeed, at first glance the OLPC appears to be a direct cautionary tale about the dangers of trying to do just that.  However, David has already done it successfully on a small scale.  He has designed and put into production an embedded Asterisk IP PBX.  One of the things that is most interesting about his project is that, as a result of publishing the hardware design and schematics under an open license on the Internet, manufacturers in Shenzen found David, not the other way round!

I think we are at the confluence of a number of trends:

  • the trend towards standardisation in manufacture and chip design;
  • the increasing integration of functions into single chips;
  • the move toward placing more and more hardware functionality in the ’soft’ firmware of devices;  and,
  • the increasing commoditisation of design tools.

In addition, because Open Source firmware is becoming increasingly common and the community of developers is growing, this means that a lone developer such as David Rowe can develop a fully functional hardware PBX whereas in 1978 it would have taken 20 or more engineers.

I believe this means that it is conceivable for appropriate, useful communication hardware for poor communities to be designed and put into production on a small but sustainable scale by small groups of experts but not necessarily experts employed by Nokia, Intel, etc.  I think this opens the potential for innovation of new technologies for markets not currently served by large corporations.  Ideally, these innovations would then be picked up and improved upon by large corporations, a bit like what has happened with the OLPC.

With one significant difference.  The OLPC chose to patent the new technology it developed and use the revenue gained from licensing those patents to fund further development.  There is a case to be made for this strategy.  However, it does not appear to have helped them make friends with the likes of Intel, Microsoft, and others.  One cannot help but wonder whether a focus on core innovations needed in a developing country context and an Open Hardware approach might not have helped them partner more successfully.

It is interesting to note that Pixel Qi, the company spun off by former OLPC CTO Mary Lou Jepsen, are also basing their success on standardisation of manufacture.  This from their products page:

“Pixel Qi is a fabless ASIC company that specializes in screens.  The screen is just a big ASIC chip - we work closely with the large LCD factories.  The trick - we use their standard processes and materials and can produce new screens with radical new performance in about a year.  We are not a demo in a year,  but rather we can get all the way to high volume mass production in a year.”

Pixel Qi are licensing OLPC’s patents.  I wonder how many “Pixel Qi”s might exist if designs for that technology were published under an open license, open to contribution from universities and companies around the world interested in developing technology for the poor?  I’d sure like to find out.  Stand by for news of the Mesh Potato.

Dabba and Village Telco: Getting to Alpha

Here is a short note on where things stand with Dabba and the Village Telco. The Shuttleworth Foundation is planning to fund the hacking/adaptation/development, to at least alpha version, of an Open Source “Village Telco” integrated suite of applications. This will be developed based on the business model established by Dabba in Orange Farm and aimed at facilitating the replication of that model.

Dabba brainstorming with Internet SolutionsA lot of the detail written below came out of a half-day brainstorming session that I participated in earlier this month. Rael hosted myself and a three very cool business development / technical / entrepreneur folk from Internet Solutions. Internet Solutions have informally supported Dabba in exploring low-cost telephony and data business models from the very early days. They have an interest since businesses like Dabba are a potentially natural complement to Internet Solutions. I hope in my meeting with them that I also convinced them that there was a useful and important place for an Open Source VillageTelco project which could speed the replication of Dabba-clients and Dabba-like enterprises.

So, as currently planned, the first iteration of the Village Telco will include:

  • mesh network provisioning and management
  • pay-as-you-go billing and management
  • wireless access / captive portal setup and management
  • SIP/VOIP server and client management
  • least cost routing solutions

subsequent iterations will include:

  • an integrated web-based management interface to the Village Telco
  • content server
  • customer relationship management (CRM)
  • caching proxy for web content
  • multicast streaming video

So here is a little more detail on what is required to get each of those components off the ground.

Mesh Network Provisioning & Management

open-mesh.netOpen-mesh.com and Meraki have the slickest mesh network provisioning and management interfaces going. Both are based on the deployment of Meraki wireless routers which run a version of the B.A.T.M.A.N. mesh protocol called RO.B.IN (ROuting Batman INside). Both Open-Mesh and Meraki have very similar interfaces which is not surprising as Open-Mesh was developed as a reaction to Meraki’s decision to close the change to their End User Licence Agreement to preclude anyone from changing any of the software that they install on their units. So now you can buy a Meraki mini router, flash it with Open-Mesh’s more open firmware and connect up your mesh without being locked into Meraki. Pretty cool although you still have to use the OpenMesh site for network management. It would be much better for a Village Telco to have its own network management software that was as cool as Open-Mesh. Happily a group of students at UNC Chapel Hill are developing an Open Source mesh deployment server called OrangeMesh that is compatible with Open-Mesh. This would be a great place to start developing a provisioning interface for a Village Telco, one that would ideally handle both OpenWRT/LinksysWRT54Gx routers running B.A.T.M.A.N. and Meraki Mini or similar devices running RO.B.IN.

Pay-as-you-go Billing and Management

A2Billing appear to have the most robust Open Source voice billing solution for Asterisk that supports pay-as-you-go billing. The goal here would be to create a customised A2Billing configuration particularly geared to the Village Telco environment.

Wireless Access / Captive Portal Setup and Management

Image from CoovaChilli siteThere are a few great Open Source captive portal applications. Coova, ChilliSpot, and WiFiDog are probably the best known although Chillispot ceased development some time in 2007 and has morphed into CoovaChilli and there are other hybrids such as CoovaAAAwithWiFiDog. WiFiDog has a great captive portal and customised/localised content for users but relies on a standard password file for authentication which probably means that it will not scale well. Both Coova and WiFiDog have versions of their captive portal software that are designed to run on wireless access points (APs) such as the Linksys WRT54G series. While the Village Telco will use Linksys APs, because the APs will be meshed together, there is no need to run authentication on the local AP. It can be handled at the server. Something like CoovaChilli makes more sense because it authenticates with Radius but it would be nice to also have some of WiFiDog’s captive portal features as well. It sounds like CoovaAAAwithWifiDog should do that but CoovaAAA is a service not a software provided by Coova. For anyone who read my earlier post, you will note that authenticating from the server versus the AP represents a change of strategy.

SIP/VOIP server and client management

AsteriskThe two big applications for SIP authenticating and managing VoIP traffic are OpenSER and Asterisk. In my earlier post, I wrote about running OpenSER on a Linksys AP. Once again, in a mesh environment, it seems that this is not necessary either. OpenSER’s chief advantage over Asterisk in this domain is that it is comparatively very efficient and would be able to route calls within the AP’s coverage area without leaving the AP to authenticate at the server. There are even some very cool OpenSER distributions designed for the Linksys AP such as Milkfish. However, the downside of this is that those calls would not get tracked or would at least be much more work to track. Having a central authentication for calls makes sense as tracking usage patterns will be quite important to managing service delivery and growth. In the end, it probably makes more sense to have a single Asterisk implementation that handles authentication. Once again, because the network is meshed, this should be relatively seamless across APs.

Least Cost Routing Solutions

Least Cost Routing (LCR) refers to the set of tables, software, appliances that ensure that a call is made for the least possible cost. So, for a Village Telco, you would first want to make sure that calls within the WiFi mesh were routed directly to another user within the mesh. Next, if the call were leaving the VillageTelco coverage area, then you would want to have direct connections to all the major networks in order to avoid paying additional interconnect charges. This means having the SIM cards and hardware to route calls to the GSM networks and having the facility to interconnect with the Publicly Switched Telephone Network (PSTN) e.g. Telkom. There is a host of hardware and software for achieving this and part of the challenge will be choosing the right technology. Equally if not more important will be deciding where in the connectivity chain to break out to other networks. In some cases, an isolated Village Telco would have to solve all of these problems by themselves. However in the case of Dabba in South Africa, Dabba can solve many of these problems for local Village Telcos by offering LCR services (among other services) to Village Telco operators. This is particularly important in a place like South Africa where Telkom insists on having carrier-grade interconnection equipment which is typically very expensive.

Customer Relationship Management

Vtiger The above covers most of the basics of the Village Telco but thinking further forward, it would be great for the Village Telco operator to have the tools to manage relationships with his/her customers. Customer Relationship Management (CRM) tools like Vtiger could offer marketing and support functions to a Village Telco operator that would help them expand their range of services, provide better support, and generally understand their customers better. However, one step at a time and much will depend on how easy it is to integrate something like Vtiger with the other elements of the Village Telco.

That’s a start. Obviously much more to come. Please feel free to post comments, observations, suggestions on the above as this is definitely a work in progress. Also, I’m learning in this space as well so if I have misrepresented issues, forgotten issues, or left out an amazing piece of Open Source software, let me know!

For more software and hardware possibilities, check out the list compiled by Sebastian Beuttrich for the CSIR’s Wireless Africa initiative.

In Praise of Taking Things Apart

The Economic Value of Taking Things Apart

In the Concise Encyclopedia of Economics, Paul Romer writes:

“Economic growth occurs whenever people take resources and rearrange them in ways that are more valuable. A useful metaphor for production in an economy comes from the kitchen. To create valuable final products, we mix inexpensive ingredients together according to a recipe.”

Patak’s Madras Curry To take the analogy a little further, if I have a jar of Patak’s Madras curry paste there are a fairly limited number of tasty recipes that I can come up with. However, if I were able to disassemble or reverse-engineer that jar of pre-made curry, I would have a range of ingredients turmeric, coriander, cumin, cinnamon, etc from which I could create an almost unlimited number of recipe variations. This is obviously pretty unlikely with something like curry paste. However, not so with technology.

In The Origin of Wealth (to date the only book on Economics I have ever felt gripped by), Eric Beinhocker also explores what I am tempted to call the fractal nature of technology:

“each invention creates both the possibility of, and the need for, more inventions”… Why does technology have this exponential, bootstrapping quality? How does technology feed its own growth? Physical technologies have a modular building block quality to them. Any physical technology can be thought of as coding for both components and an architecture. A house has components (e.g. rooms, plumbing systems, windows) as well as an overall design (e.g. Mock Tudor)”

It seems fairly self-evident that understanding and being able to dissassemble technology into its constituent parts exponentially increases the opportunity for innovation, for hybridising, improving, cross-pollinating technologies into new forms of value.

The Trend Towards Un-takeapartable Technologies

In the context of the above, it is curious that technology has steadily become more and more difficult to disassemble. We have gained in push-button convenience but lost the learning and innovation opportunities that come with taking things apart and tinkering with them.

John Seely-Brown is particularly passionate on the topic of “tinkering” and argues that it is a critical strategy for learning. He argues that Open Source software has become an important place where technology (in this case software) can be taken apart and tinkered with. In the same Steve Hargadon interview with him that I mentioned in a previous post, John Seely-Brown says:

“A huge amount of the learning that a lot of us do, that formed the foundations of all the formal education that we got afterwards, could be called “tinkering.” Because of changes in electronics and cars, a whole generation couldn’t tinker. In the last ten years, these participatory architectures have introduced tinkering again. It is virtual and social tinkering, not necessarily mechanical, tinkering. And what is interesting is that it is relatively non-gender-specific. You are going to find women tinkering as much as guys do.”

This recognition of the importance of taking things apart and its role in learning has grown to the point where now in California, you can send your kids to a Tinkering School which builds the confidence of children to take technology apart and to be creative with technology. I can recommend a short, entertaining TED talk by the school’s founder Gever Tulley.

In industry, the notion of opening up technology to customers in order to facilitate innovation, Open Innovation, has been gaining traction for a number of years. The Economist has a good summary of this trend.

Taking Things Apart Not Things Falling Apart

From my perspective, this is a particularly important issue in places like Africa where history of technology transfer has often been a particularly disempowering one. The two-fold potential of empowering learners and fostering innovation make a compelling argument to encourage a culture of taking technology apart in Africa.

It is why I am so inspired by the innovation that is happening with wireless routers and the exploration of their potential as an alternative communication infrastructure for parts of Africa not well-served by existing telecommunications carriers.

Make Magazine - TshirtMake Magazine, a publication for people who like to take technology apart, have a great motto on one of their promotional T-shirts: “If you can’t open it, you don’t own it”. It strikes me that that is a pretty good motto for African technologists. Opening technology opens innovation and teaches skills that are difficult to learn any other way.

Dabba: Open Source Components - Access Node

Dabba relies on a variety of Open Source software application to enable their network. Here is a profile of some of those applications.

Wireless Access Point

Anatomy of a Community Mesh Access PointEvery local connection starts with a wireless access point (AP) that connects phones and computers alike to the Dabba network. These APs rely entirely on a suite of Open Source programs. I should point out that what I am about to describe is the latest in an evolution of strategies for access points for Dabba. In this latest iteration, a clever antenna enclosure made by poynting.co.za harbours a Linksys router.

OpenWRT home pageEach Linksys router has had it’s firmware (its internal operating system) replaced with an Open Source alternative called OpenWRT. This software expands the range of control that a user has over the device and offers the potential for installing additional software. A large developer community has developed around initiatives such as OpenWRT and there are many similar initiatives such as DD-WRT, Tomato, and others.

B.A.T.M.A.N. logoNow that the router has a flexible, adaptable Operating System, the next installation is B.A.T.M.A.N. This is a mesh networking algorithm developed by the Freifunk community. B.A.T.M.A.N. which stands for “Better Approach to Mobile Ad-Hoc Networking” is an improvement on the OLSR protocol developed by the same community. It allows wireless nodes to seamlessly and automatically configure and re-configure themselves into a cohesive network. This is transparent to the user connected to the network. Meshing offers the potential to dynamically deploy wireless networking by simply and transparently adding nodes to a wireless network.

OpenSER logoNext there is OpenSER (Open SIP Express Router) is a high-performance, configurable, Open Source, SIP ( RFC3261 ) server which can connect, authenticate, and route calls from SIP phones. It has the advantage of having a very small footprint and being quite efficient which makes it ideal for use on Linksys routers. It also means that each wireless node can route local calls directly from phone to phone without needing to refer them to a central server.

Coova logoFinally, there is Coova. Coova makes captive portal software which allows each wireless access point to authenticate data users i.e. people who connect to the network with a laptop or smartphone browser. The portal ensures that users authenticate via pay-as-you-go data cards. SIP phones are passed through directly and authenticated via a separate system. More about that later. One of the challenges of automating and simplifying the function of these wireless nodes is to have voice and data systems authenticate against a common database of users so that clients can have both voice and data credit in a single account.

Antenna and Solar Panel It is remarkable to think that all of these Open Source applications can reside on a single inexpensive wireless router like the Linksys WRT54GL or GS. You can see here at the left Rael is demonstrating how the antenna with embedded router can be connected to a small solar panel to create a completely self-sustaining wireless access node.

In a future post I’ll talk more aobut the software that runs on the back end of Dabba’s systems.