This page explains what needs to be in a computer so it can run Sugar 0.86. It's also 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.
== Software components ==
== Software components ==
==== Python ====
==== Python ====
+
+
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.
==== 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.
==== D-Bus ====
==== D-Bus ====
+
+
Communication between processes is done with D-Bus, due to indirect dependencies, we need version 1.1.
+
+
==== NetworkManager ====
+
+
Sugar uses the API that landed in NM 0.7. Though NetworkManager is not required for Sugar to start, you lose management of network devices.
==== Metacity ====
==== Metacity ====
−
==== NetworkManager ====
+
Sugar can work with most standard-compliant X11 window managers, but these differ a lot on how they handle corner cases and thus using any other window manager would require extensive testing.
+
+
==== X11 ====
+
+
Sugar interfaces directly with X for window and session management. In order to remove this dependency, alternate implementations would need to be developed and an abstraction interface be created.