MaddogMad Dog's Blog

Welcome to the new Mad Dog’s Blog

Jon "maddog" Hall is CTO and ambassador to the world for Koolu. Mr. Hall is a well known elder statesman of the programming community, and a leader of the open source movement. At the UK Linux and Open Source Awards 2006, Mr. Hall was honoured with a Lifetime Recognition Award for his services to the open source community. Mr. Hall holds a Master of Science in Computer Science from Rensselaer Polytechnic Institute (1977) and a Bachelor of Science in Commerce and Engineering from Drexel University (1973). Over his 35 year career, Mr. Hall has worked for such companies as Western Electric Corporation, Aetna Life and Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems and SGI.

It was during his time with Digital that Mr. Hall initially became interested in Linux, and was instrumental in obtaining equipment and resources for Linus Torvalds to accomplish his first port of Linux, to Digital’s Alpha platform He was an advocate for the use of Linux for commercial use long before anyone thought it viable and he will continue in the role of visionary with the Linux community. Jon "maddog" Hall is the Executive Director of Linux International, a non-profit organization of end users who wish to support and promote the Linux operating system. The nickname "maddog" was given to him by his students of Hartford State Technical College, where he was the Department Head of Computer Science. He now prefers to be called by this name. According to Mr. Hall, his nickname "came from a time when I had less control over my temper".Mr. Hall serves on the boards of several companies, and several non-profit organizations, including the USENIX Association. He has also consulted with the governments of China, Malaysia and Brazil as well as the United Nations and many local and state governments on the use of free and open source software. He is the author of numerous magazine and newspaper articles, any presentations and one book, [Linux for Dummies](http://www.amazon.com/Linux-Dummies-Second-Jon-Hall/dp/0764504215 "Linux for Dummies").

A recent trip to Uruguay

Recently I went to Uruguay as part of an extended trip to South America. The members of the Uruguay Linux User’s group were very hospitable to me, and introduced me to various of the local dignitaries.

For example, I met the Mayor of Montevideo. Now Montevideo is not only the capital of Uruguay, but it happens to hold almost half of the population of that country, so the Mayor of Uruguay is a fairly influential person in the country.

I showed him the FreeRunner and explained about the “openness” of the phone. At the time I was running the Debian operating system on the phone, but I could just have easily been running any one of two or three different software stacks on top of the phone. I explained to the Mayor how having this much control over the operating system could benefit the upper level applications by providing the services that the government needed, independent of what made business sense for some far-away large company or provider. The Mayor turned to his assistant and told them “I think we have several new projects that could make use of this phone.”

Later I took a tour of the “One Laptop Per Child” (nee OLPC, XO) facility in Uruguay, where they were busy deploying 1600 laptops per day to the school children of the region. Most of these schools created a challenge in communications, using a combination of satellite, WiMAX and wireless mesh networking. All of this wsa monitored constantly by people back at the headquarters in Uruguay. I mentioned to their technical leader that a lot of their monitoring software could be ported to the FreeRunner, allowing them to see the results of their actions while in the field, not after they got back to the headquarters. Because the FreeRunner supported both GSM and WiFi, they would access the Internet both ways. Again, interest was shown in buying FreeRunners for all of their field associates.

Finally I was able to talk to their Minister of Culture and Education. A former CEO of a telephony-based company, she had very deep knowledge of wireless and computing issues. What she saw in the FreeRunner was not only a phone that happened to be a computer, but a palmtop computer that could also “make telephone calls”.

Based on my trip, I think the FreeRunner has a bright future in Uruguay.

What is the meaning of Free with respect to telephony?

I travel around the world and talk to the “other 90%” (i.e. people not
in the USA and Western Europe). I also talk to people that want to use
their phone as a tool, not just a play device (i.e. not interested in
iCandy).

These people want to create applications that work in their language, to
access their data, to store information where they want to store it, to
use the networking they want to use it. These same people want to
integrate their telephone system with their IT systems. They are tired
of being telephony slaves, and desire telephony freedom.

Koolu has found that the military, government organizations, large
campus-based conglomerates, and other people with the resources to take
the base operating system and change it are very interested in the
concept of “Openness”. If you put these groups together, they represent
potential sales of millions of phones.

I also note that the vast majority of people in the world live on less
than 3 U.S. Dollars per day. Under normal circumstances they can not
afford a sophisticated cell phone in their lifetime. However, if we
extend the lifetime of a “smart phone” to ten years, while continuing to
upgrade features via software, then an aftermarket for used cell phones
will be created that will allow poorer people to have cell phones which
they normally could not afford. This will also reduce the price of new
cell phones by producing a “trade-in” value for the used phones (instead of
going to the trash heap). The end result will be a thinning of the
Digital Divide. This is part of what Koolu is about, and Koolu works
with organizations like Google to get phones into the hands of poorer
people using innovative programs.

When I say “Open” phone, I really mean three things:

o the ability to choose your service providers
o the ability to have the operating system and software you want on the
phone
o the ability to change or improve the hardware in the phone to meet your needs

The first need is met by lots of phones these days. They are sold as
“unlocked”, and are legion.

The second and third are met by only one phone (that I am aware of) these days,
and that is the Openmoko Freerunner. The second is the greater of the two needs,
and the third is a nicety.

The ability to have any operating system on the phone is met by having
the programming interfaces to the hardware documented and made
available. How the controllers work, how the registers are filled, what
you expect back from the hardware when you have set it up properly, how
one hardware component interacts with another hardware component, all of
these are important to the operating system programmer. In addition,
the programmer needs to be kept aware of changes to the hardware and
firmware as manufacturing continues (and parts are replaced by other
parts) as well as a plan for publishing “rev levels” of the hardware so
the programmer (and the operating system) can test to see what level of
hardware it is operating on.

Note that in all of this was no mention made of telling the programmer
the circuitry of the phone, how the printed circuit board was made, nor
what relationships were made by the producer of the phone with the
component manufacturers. Only the programming interfaces were
published.

Now if there are issues of pre-production prototypes or the desire to
hold certain pieces “secret” until release of the phone, software
developers can sign NDAs which have an NDA release date corresponding to
the phone release date. With the programming interfaces published the
open source community (i.e. Linux, BSD, Symbian, Android, or other OS
developers) can maintain their operating systems on the phone.

As Executive Director of Linux International, I negotiated several
successful “NDA”s between Free and Open Source developers and companies
concerned about their Intellectual Property, with the understanding that
the NDA would be retired upon shipment of the device.

In addition, all levels of code do not necessarily have to be “Open”.
Codecs and binary “accelerators” for improving the performance of phones
are often delivered in binary form, and Koolu could be instrumental in
integrating, distributing and updating those Codecs or binary
accelerators. But we do insist that the hardware functionality that the
people have paid for in their phone be supported with FOSS code and open
programming specifications.

“Smart phone” operating environments like the iPhone, Android, Openmoko,
BSD and other sophisticated systems are not like the phones of
yesterday. These modern, powerful operating systems also expose the
phones to exploitation. The ability to update the operating system over
the network and supply patches to phones that may last five or ten years
is a necessity. “Openness” in the programming interfaces and system
code will allow this.

Binary only device drivers are undesirable in many operating systems
since the lower level interfaces of the operating system may change,
causing the device drivers that worked on a previous version of the
operating system to stop working. If the company that created the
binary driver no longer exists, or has lost financial interest in
maintaining the device driver, then the operating system can no longer
be updated with bug fixes and security patches.

In order to have an open phone, therefore, all of the components would
have to have programming specifications available, with a plan to notify
developers that the components are changing. Koolu could help manage
the second part, and could help find programmers willing to sign the
type of NDA that I mentioned earlier, if so desired.

In summary of this section, Koolu would be very interested in working
with phone manufacturers if they would commit to at least the first two “openness”
issues.

Koolu’s position with Google
============================

Koolu has been working with Google for the past couple of years in
helping to support their Google Apps program. We feel very strongly
about the use of “thin client” computing and managed services,
particularly in emerging economies and we feel that Google Apps
compliment this philosophy.

Because of this relationship, we have developed programs where people
can get phones for free by having other people sign up for Google Apps
Premier. These phones (purchased by Koolu from phone vendors such as Openmoko)
act as incentives for people to buy Google Apps Premier, but
also act as “advertising” for people to buy additional phones. From
the handset perspective you could think of this as a seed program to get their
phones out into the hands of enthusiastic customers, but a seed program
that the handset provider gets paid instead of having to pay for it.

Koolu has been offering this program to people for about one year, but
as we fine-tune the program the number of Google Apps accounts that
people have to “promote” has dropped from 200 to 100 to 40. We feel
that this would spike a true revolution in smart phone usage in developing
countries. I will repeat that the handset company does not have to “contribute”
to this program, Koolu pays them for each phone, and they make revenue off them.

Koolu continues to work with Google in areas such as their “Summer of
Code”, and other programs to help publicize the interaction of the smart
phone, Google Apps and Android.