Bonobo ist ein Komponenten-Framework für die frei verfügbare Desktop-Umgebung Gnome. Bonobo soll der Erstellung von wiederverwendbaren Software-Komponenten und Verbunddokumenten dienen. Durch seine Entstehungsgeschichte ähnelt es Microsofts OLE-Technologie und ist Gnomes Analogon zu KDEs KParts.
Bonobo wurde als Lösung für Probleme und Bedürfnisse der Freie-Software-Gemeinschaft bei der Entwicklung umfangreicher Anwendungen entwickelt. Bonobo basiert auf der Common Object Request Broker Architecture (CORBA) bzw. dessen Gnome-Implementation ORBit. Über Bonobo können die Funktionen einer Software in eine andere integriert werden. So kann sich z. B. Gnumeric (Tabellenkalkulation) direkt innerhalb von AbiWord (Textverarbeitung) um in einem Textdokument eingebettete Tabellen kümmern, indem Abiword Gnumeric als Bonobo-Komponente einbindet.
Verfügbare Komponenten sind
Inspiriert von Microsofts OLE wurde es ursprünglich von Ximian (heutiger Name: Xamarin) für Verbunddokumente (wie die Tabellen in Textdokumenten beim Anwendungsbeispiel) entwickelt. In Gnome 1.2 vom Mai 2000 war Bonobo erstmals enthalten. Seit Gnome 2.4 gilt Bonobo offiziell als veraltet,[1] und Entwicklern wird geraten, stattdessen auf Alternativen wie D-Bus[2] oder die GIO-Komponente der GLib[3] umzusteigen. Im Rahmen des Projekts Ridley wird an der Ersetzung von Bonobo durch D-Bus gearbeitet; Ergebnisse sollen in GTK+ 3.0 veröffentlicht werden. Zusammen mit einigen weiteren wurden die Bonobo- und ORBit-Bibliotheken mit Version 2.22 aus Gnome entfernt.