[sugar] what matters

Albert Cahalan acahalan
Thu Apr 24 03:43:18 EDT 2008


It's clear that we aren't all here for the same thing.
Some wish to help all kids, or poor kids, or non-Western
kids. Some wish to advance freedom of speech, freedom from
EULA slavery, or freedom to learn heretical ideas.

Some of us are, assuming good intentions, extremely innocent
regarding Microsoft. The historical record shows that those
who partner with Microsoft will be betrayed in the worst way.
Read "The Scorpion and the Frog" to understand Microsoft.

To a very limited extent, I agree with the idea that we should
not be pedantic about free software. This does not mean giving
up the battle in any way. (example: my free wireless firmware)
Of particular importance is never letting proprietary software
hold your data hostage, run outside of a sandbox, or become a
platform (API/ABI) upon which you build.

The critical things I see for a kid's laptop are:

1. All security-related code is trustworthy. This of course
means an open source OS, from kernel to web browser. It most
likely means an open source firmware and boot loader as well.
Of course, "trustworthy" is to be interpreted from the view
of the user.

2. Storage of user data in open formats is easier than storage
in closed formats. The system must not encourage lock-in.

3. The user's files are protected. Untrusted programs may
be used, with the user being certain that they can not secretly
steal or corrupt his files.

4. The browser provides strong isolation. A new security partition
is created when a URL is typed or a bookmark is invoked. A web
site in one security partition does not get any awareness of any
other security partitions, EVEN IF THEY INVOLVE THE SAME SITE.
(Maybe one wishes to have multiple accounts on a web site.)

5. The browser also strongly isolates plug-ins. It is not OK for
any random browser plug-in to have full access to the memory or
files that the browser would have access to. This sort of thing
needs to be enforced at the kernel level, via the browser causing
SE Linux to do various role transitions.

6. The user can use any normal Internet connection, anonymously.

7. The user can localize. This means more than adding language
strings to an existing locale. It means creating whole new
locales and fixing any locale-related bugs which may appear.
This obviously requires open source software.

8. There are very few hardware platforms. Ideally there would be
exactly one, but it must be expected that multiple hardware
generations will be in use. Each hardware platform gets an optimized
build that includes hardware-specific image and font sizes.
It makes a huge difference to the overall experience when all
the software can assume specific hardware. It's so many little
things, like the Ruler activity knowing how big to draw itself
and the Acoustic Measure activity having correct laptop pictures.

In practice, the above pretty much requires GPL-like licensing
and widespread hardware availability. It doesn't require flash,
python, a mesh, or even sugar.



More information about the Sugar-devel mailing list