A technical assessment of porting "Sugar" to Windows.
Aaron Konstam
akonstam at sbcglobal.net
Fri Apr 25 11:02:35 EDT 2008
Below is exactly my attitude about getting in Bed with Microsoft. They
are not in the business of helping to distribute OPEN Software.
On Thu, 2008-04-24 at 15:00 -0700, Edward Cherlin wrote:
> Thanks, Scott, for taking us away from the direction of flamage to
> many of the real issues. I have nothing to add about the difficulty of
> the actual technical issues that you discuss, but I have some comments
> on the significance of the technical issues for corporate strategy and
> marketing.
>
> The first point here is that the Windows kernel and API work can only
> be done by Microsoft itself (details in Scott's message snipped). I
> would argue that OLPC should leave all of the Sugar on Windows work to
> Microsoft (except for GPL audits), unless we get the kind of financial
> commitment from Microsoft that Red Hat and others have made. In that
> case, we could discuss it, but I still wouldn't automatically agree to
> it. I would also consider, as an example, trading a seat on OLPC's
> board for seats on the boards of both Microsoft and The Gates
> Foundation. If the proposed contract is published in advance and
> passes public scrutiny. Maybe.
>
> But consider the effects of GPL auditing of Microsoft Windows kernel
> software, or rather the implications of Microsoft using any GPLed
> software in its kernel. I don't see any chance of it, which means that
> Microsoft will have to reimplement everything. And we would still want
> to do the audits to make sure that nobody cheats. Given Microsoft's
> ferocious opposition even to escrowing Windows source code that nobody
> should ever need to look at, I don't see an audit happening. In which
> case I don't see Sugar on Windows happening, and especially not Sugar
> on XP/XO.
>
> It's funny. Before the IBM PC and PC/MS DOS, Microsoft took out ads
> saying, "Microsoft is pleased to announce that there will be no 16-bit
> software crisis." That was about their original AT&T Unix license,
> which they later spun off to The Santa Cruz Operation (not in any way
> the current SCO). But now we are actually having a 64-bit software
> crisis and an XO software crisis. Welcome to the future.
>
> On Thu, Apr 24, 2008 at 11:32 AM, C. Scott Ananian <cscott at laptop.org> wrote:
> > This document will give a technical overview of the challenges facing
> > any "Sugar on Windows" project. Mary Lou Jepson of OLPC was proud of
> > the fact that the XO did "seven new things" when most hardware
> > projects try to limit themselves to only one "new thing" per product.
> > I will outline the "new things" which the XO system intends to
> > accomplish, and discuss the feasibility of each of them if/when
> > reimplemented on a Windows substrate.
> >
> > I will start by addressing nomenclature. What do we mean when we say
> > "Sugar"? Is it the activities? The zooming UI interface? The
> > complete system? What do we mean when we say "Sugar on Windows"?
> >
> > For this document, I will assume that "Sugar" means the "new things"
>
> Understood.
>
> > 3. Window manager: Mesh/Friend/Home view, frame, etc.
> >
> > This is a more difficult task than merely porting the standalone
> > activities; this feature entails replacing the existing Windows file
> > and application chooser mechanisms with ones which mimic that of
> > Sugar/GNU/Linux.
>
> Augmenting, I think you mean, rather than replacing? But we know what
> you are talking about.
>
> > It is possible to imagine Sugar/Windows without a fully-functioning
> > datastore implementation. It is likely that the Journal in such a
> > port would be replaced by a Windows Explorer window which
> > would allow straightforward manipulation of files using the
> > traditional metaphor.
>
> Some people love the journal, and some hate it. I assume that they
> would evaluate this possibility differently. I like the Journal in
> principle, but it needs a lot more work. Basically, it doesn't scale
> to a year's work or more yet. If the children like it, then not having
> it can be a deal-breaker. I know lots of people who hate hierarchical
> file systems because they don't know where to put things or how to
> find them again.
>
> > 5. Collaboration.
> >
> > Note that this feature is distinct from mesh networking (item #6
> > below). Collaboration is simply implementing the APIs used by activity
> > authors to "share" activities, and the corresponding features in the
> > UI (item #3) which allow users to find friends and shared documents
> > and publish or join shared activities.
>
> Right. All of this works over ordinary Internet and local networks, so
> it does not affect decision-making for us or Microsoft. Unless they
> decide to go for obfuscation of these distinctions in their marketing.
>
> > 6. Mesh networking.
> >
> > Aside from collaboration, the XO also supports 802.11s mesh
> > networking. I have been told that the basic driver support for the
> > Marvell device we are using has been ported to Windows. The Marvell
> > device we are using is also used in the XBox 360, although without the
> > mesh networking features and with a different firmware interface and
> > I/O configuration. On its face, it looks straightforward to enable
> > mesh networking on Sugar/Windows.
> >
> > However, in practice Sugar/GNU/Linux has required changes throughout
> > the software stack to accommodate 802.11s, from the kernel all the way
> > up to the applications. We are continually finding areas which
> > the 802.11s standard is inadequate or buggy, necessitating tweaks to
> > over-the-air formats and protocols.
>
> I am a firm believer in requiring reference implementations for
> software and combined software/hardware standards. But that doesn't
> affect the discussion with Microsoft, as far as I can see.
>
> > Application protocols on top of
> > the 802.11s implementation have also required modification; standard
> > DHCP and mDNS on an 802.11s network display pathologies not present in
> > standard 802.11a/b/g networks, and broadcasts used in our
> > collaboration stack have interacted poorly with 802.11s networks.
> >
> > In reality, therefore, getting mesh networking functional and
> > interoperable with Sugar/GNU/Linux requires a significant amount of
> > on-going effort, including effort by Windows kernel developers with
> > access to restricted Windows source code. Maintaining compatibility
> > with the networking stacks of two different operating systems would
> > complicate this task.
>
> This is a serious obstacle for the whole concept. Not having mesh
> would limit Sugar on Windows to fully connected regions in developing
> nations, mainly in cities. Well, maybe Microsoft can steal from the
> rich and we can give to the poor. %-]
>
> > 7. Power management.
> >
> > The XO hardware is capable of sub-200ms resume-from-suspend, which
> > allows suspending between keystrokes or mouse movements to pursue an
> > aggressive power management policy. This has proven extremely
> > difficult to achieve even on Sugar/GNU/Linux, requiring extensive
> > kernel changes. For example, the USB reinitialization path on resume
> > requires refactoring the USB subsystem, and the kernel scheduler
> > needed to made tickless and able to invoke suspend during scheduling
> > in order to properly integrate with application-level timers.
> >
> > This is extremely unlikely to ever work on Sugar/Windows. The changes
> > to the XP kernel are too extensive, and the XP product has already
> > reached its end-of-life point, making the return on investment very
> > small.
>
> I wouldn't count on that. XP on the desktop has a little more life in
> it as long as Vista won't let people play content that they own, lacks
> many drivers, and continues to have other deal-breaker gotchas. Also,
> XP/XO, with a potential market of hundreds of millions of units, would
> amply justify the engineering effort if Microsoft could pull off both
> that and the marketing. I include the network effect of potentially
> locking in those hundreds of millions of users to Windows for life,
> which is by no means a sure thing for Microsoft. (I think it quite
> unlikely.)
>
> > 10. Bitfrost: activity isolation.
> >
> > Sugar/GNU/Linux has an innovative security model called Bitfrost
> > (http://wiki.laptop.org/go/Bitfrost). Among other goals described by
> > the Bitfrost specification are activity isolation and sandboxing,
> > which render safe the "click everywhere" behavior of child users.
>
> An essential part of the discovery model of education. Children will
> discover the function of every button and icon if left to it on their
> own. Not having that safety means that schools have to take up class
> time teaching them what they are allowed to do and what not.
>
> > Our implementation of activity sandboxing is tightly tied to the Unix
> > security model. Equivalent constructs exist on non-XP versions of the
> > Windows platform, but it is fair to say that sandboxing on Windows XP
> > is extremely challenging. It is not likely that activity sandboxing
> > will ever be implemented on Sugar/Windows XP.
>
> Though not for lack of trying on Microsoft's part, I expect.
>
> > Conclusion
> > ----------
> >
> > Discussions of Sugar/Windows are made difficult by varying
> > definitions. I hope that this itemized list of Sugar/GNU/Linux
> > features helps clarify discussion of Sugar/Windows proposals,
> > which have ranged from simple (item #1, "Design Guidelines", or a
> > minimal form of item #2, "Activities") to infeasible (a Sugar/Windows
> > indistinguishable from Sugar/GNU/Linux). By better defining the
> > features we intend to accomplish in Sugar/Windows, we can more
> > rationally assess the costs and benefits of such investment.
>
> I think you make a strong case that it would take Microsoft several
> years to implement Sugar on Windows fully, and that OLPC should have
> nothing to do with it. Certainly it isn't the express bypass that
> Nicholas has been looking for.
>
> > --scott
> >
> > --
> > ( http://cscott.net/ )
> > _______________________________________________
> > Devel mailing list
> > Devel at lists.laptop.org
> > http://lists.laptop.org/listinfo/devel
> >
>
>
>
--
=======================================================================
Work without a vision is slavery, Vision without work is a pipe dream,
But vision with work is the hope of the world.
=======================================================================
Aaron Konstam telephone: (210) 656-0355 e-mail: akonstam at sbcglobal.net
More information about the Devel
mailing list