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.