[sugar] A philosophical question

Marco Pesenti Gritti mpg
Sun Feb 11 18:43:59 EST 2007


On Sun, 2007-02-11 at 10:06 -0500, Greg Dekoenigsberg wrote:
> So as I look at the many options for building and running Sugar, all of 
> which have their various trade-offs, I'd like to ask the Sugar developers 
> one question, which I think is key:
> 
> Which development environment should we be targeting for activity 
> developers?
> 
> If you go to the OLPC wiki right now and surf around a bit, you get 
> instructions for all kinds of different ways to run Sugar.  Try running 
> the latest build in QEMU!  Try the Live CD image!  Try building Sugar for 
> distro X, Y or Z!
> 
> For developers, what's the best choice?  Any opinions?

Hello,

I think the two options we have considered so far are the following.

1 Build from sources

This is what sugar-jhbuild currently does, some facts about it:

* I'm convinced it will be the primary development environment until the
platform stabilize, which will not be too soon.
* We need to decrease the number of packages we build and to make the
build more reliable for the packages we own (i.e. be careful to not
break the build). When FC 7 and equivalent distributions will be release
I hope we will be able to skip building the base.
* It will never be a completely reliable environment, that's the nature
of compiling from sources.

2 Binary SDK

* It could be implemented and run in different ways. QEMU, some other
virtualization, running on the real machines, the chrooted environment
John proposed (maybe that's something intermediate between 1 and 2
though).
* It will be easier to get running and maintaining.
* It will be way more reliable and near to actual target environment, it
might even emulate hardware.
* It will probably have to include the whole set of development tools,
up to IDE. I think this it most uncertain and challenging point.

Right now we have 1, with the problems everyone has noticed. Development
of 2 has not really started yet, and I think that's not a good thing. I
think ideally we should gradually move from 1 to 2, and I'm sure it will
take time.

I have a big doubt about 2 though. Will it ever a good enough
development environment?

* QEMU is way too slow and virtualization will require more resources in
any case.
* If we want to fully emulate the real machine we will not have lot of
screen space to use.
* Developing in the same environment you are using to do all your work
on feel just more handy.

Maybe if we want the development environment to be really usable we
should bring it to developers desktop.

3 Build binary packages for popular distributions.

* This will require development distributions (rawhide and whatever is
the Ubuntu equivalent).
* It will require some stability in the shared component of the
platform. For example, if we depend on a development version of gtk we
are screwed.
* For Fedora we can reuse the packages we build for the images.
* It will require quite a bit of maintenance but maybe we can find
volunteers for it.
* It would be possible to run sugar inside Xephyr or in a different X
screen (in that case with his own IDE probably).

Just brainstorming. I don't have a clear idea of what is the way to go
yet.

Marco



More information about the Sugar-devel mailing list