[Sugar-devel] Oversight Board request: Not fully bundled .xo

Aleksey Lim alsroot at member.fsf.org
Thu Mar 4 15:54:21 EST 2010


Hi all,


This is request to Oversight Board because of:

* Activity bundles (.xo files) are one of sugar cornerstones
  positive answer to this question will affect general sugar workflows
  (see background notes for examples).

* Sugar upstream (Sugar Labs) should be more friendly to existed, not
  sugar based, education software to provide sugar killing features for
  these projects instead of reimplementing education stack in sugar.
  And activity bundles are obvious tools for that but existed .xo
  format does not work well here.

* The main Sugar Labs (thus downstream agnostic) deployment instrument -
  Activity Library [1] is getting to be messy when more than a half of
  activities are binaries, it is a real problem since SL is not
  GNU/Linux distribution vendor and more over should be distribution
  agnostic and .xo are not intended to handle binaries properly.

* The matter of this request is not technical details (will be discussed
  in more regular ways) but declaring principal changing in sugar
  workflow.

* Things like poll is not so popular [3] and it is pretty unfair to make 
  critical decisions basing on 14 votes.


Request:

  Can activity bundles on Activity Library [1] be not fully bundled
  and demand additional (except having .xo) steps (that in most cases
  will demand network connection) to its launch.


Possible implementation details (is not a part of request, just info):

* Using 0sugar [4] infrastructure to handle non Sugar Platform [2]
  dependencies. 0sugar is an infrastructure wrapper around 0install [5].

* Fully bundled .xo could be preserved (it makes sense for pure network
  environments), not fully bundled activities could be in form of web
  urls for example [6] in that case they will obviously separated from
  regular .xo.

* Activity Library [1] could provide two download buttons, one (main)
  for regular fully bundled .xo and second for lightweight activities.

* Binary dependencies (if there is no way to install from native
  packaging systems) will be built on public building farm thus we can
  guarantee that they will be built properly and will keep activity
  developers out of such not trivial stuff.


Background:

  .xo idea of being fully bundled is pretty useful on its own and works
  fine in case of pure python activities.
  
  But I'm sure SL's purposes is not creating python based education
  platform thus it is more useful way to treat sugar as an education
  environment which provides useful features for the rest of education
  software instead of creating education platform from scratch in pure
  python. Distribution agnostic deployment portal - ASLO, would be
  another killing future of sugar when all education software that
  support sugar platform could be installed from one place. From that
  point fully bundled .xo don't work because bundling Java or Qt is
  pretty useless.

  Fully bundled .xo could still work in case of one deploying scheme
  e.g. OLPC - there is only one hardware platform and only one software
  platform with release cycle more then a year (2?). Another successful
  example is MacOS which is also only one software platform with long
  releasing cycle. But SL's case if different since it is trying to be
  GNU/Linux distribution agnostic and fully bundled binaries don't play
  here. Thus GNU/Linux distribution efforts should be used as much as
  possible when proper dependency will be installed from native packages
  and fallback for homemade binaries in extreme cases.


[1] http://activities.sugarlabs.org/
[2] http://wiki.sugarlabs.org/go/0.88/Platform_Components
[3] http://idea.olpcorps.net/drupal5/ideatorrent/idea/20/
[4] http://wiki.sugarlabs.org/go/Activity_Team/Services
[5] http://0install.net/goals.html
[6] http://wiki.sugarlabs.org/go/Features/Zero_Sugar_Activities

-- 
Aleksey


More information about the Sugar-devel mailing list