Development Team/Prerequisites: Difference between revisions

Tomeu (talk | contribs)
 
(9 intermediate revisions by 4 users not shown)
Line 2: Line 2:


This page explains what needs to be in a computer so it can run Sugar 0.86. Also are mentioned ways in which the dependency could be weakened.
This page explains what needs to be in a computer so it can run Sugar 0.86. Also are mentioned ways in which the dependency could be weakened.
A diagram can be seen in [[Development_Team/Architecture]].


== Software components ==
== Software components ==
Line 9: Line 11:
Almost all of Sugar is written in python, small bits of C are used to interface with libraries or to improve the performance of computationally intensive operations.
Almost all of Sugar is written in python, small bits of C are used to interface with libraries or to improve the performance of computationally intensive operations.


Some language features and extension modules from python 2.5 are used, but reducing the dependency to 2.4 should be possible without much effort.
Some language features and extension modules that appeared at Python 2.5 are used, but reducing the dependency to 2.4 should be possible without much effort.


==== Gtk+ ====
==== Gtk+ ====


We depend on Gtk+ 2.18 but should be possible to fall back to 2.16 or even 2.14 with relatively little effort.
We depend on Gtk+ 2.18 but should be possible to fall back to 2.16 or even 2.14 with relatively little effort. Gtk+ is used all around Sugar so in order to drop this dependency we would need to rewrite pretty much all.
 
==== Telepathy ====
 
Presence of contacts and collaboration between activities is implemented using the Telepathy framework.


==== D-Bus ====
==== D-Bus ====


Communication between processes is done with D-Bus, due to indirect dependencies, we need version 1.1.
Communication between processes is done with D-Bus. Due to indirect dependencies we need at least version 1.1.


==== NetworkManager ====
==== NetworkManager ====
Line 56: Line 62:


==== Persistent storage ====
==== Persistent storage ====
Sugar itself requires only about 40 MB of disk space. Its dependencies will require more or less space depending on the distribution used, OLPC's needs less than 500MB. For Sugar activities, 10-100 MB would be reasonable, plus some hundreds of MB for user data. A backup server is recommended, so users don't need to keep all their data locally.