Facebook tut einen gewaltigen Schritt in die richtige Richtung und veröffentlicht seine Entwicklerplattform f8 als Open Source. Mit einem unbeschränkten Zugang zu den Sourcen haben die Entwickler die Möglichkeit die Plattform besser zu verstehen und weitere Anwendung zu integrieren.
Facebook stellt neben dem eigentlichen Portal auch andere Teile unter die Open Source Lizenz. Das sog. Open-Platform-Paket umfasst komplette APIs der Facebook Markup Language (FBML), Facebook Javascript (FBJS) und die Facebook Query Language (FQL). Das ist schon eine ganze Menge und nach Aussagen von Laut Facebook werden später weitere Teile freigegeben.
Wer jetzt denkt: OK, herunterladen und auf dem Webspace installieren, der irrt!
Ich habe mir die Sourcen mal genauer angesehen und bin dabei auf viele Stolpersteine gestoßen, die es dem durchschnittlichen Strato Kunden unmöglich machen ein eigenes Facebook im Internet zu hosten.
Der Download der ca. 40MB großen Datei fb-open-platform.tar.gz ist schnell erledigt. Das Archiv enthält 275 Dateien. Eine Datei libfbml.tar.gz ist selbst wieder ein Archiv. Es enthält die libfbml für die Facebook Markup Language. Diese Bibliothek ist in C/C++ geschrieben und steht unter der Common Public Attribution License Version 1.0 (CPAL).
Hier kommt man mit einem normalen Webspace schon nicht weiter. Mindestens ein VServer muss her, da man für die Installation entsprechende Rechte benötigt. Das Makefile läuft bei mir auf den Fehler „js/jsbit.h:173: Fehler: Feldgr”osse von >>js_static_assert_line_173<< ist negativ“. Ein configure script sucht man vergebens. Ist auch kein Wunder, da man für die Installation das /build-all.py Sckript ausführen soll ;-).
Gesagt getan:
tar (child): pkg-config-0.20.tar.gz: Kann open nicht ausführen: No such file or directory tar (child): Nicht behebbarer Fehler: Programmabbruch. tar: Child returned status 2 tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler. Attempt to decompress "pkg-config-0.20.tar.gz" failed. Aborting... Traceback (most recent call last): File "/cygdrive/d/Downloads/facebook/libfbml-1.2.0/build-all.py", line 112, inchdir(subdirectory); OSError: [Errno 2] No such file or directory: 'pkg-config-0.20'
Auch nicht viel besser. Die Datei pkg-config-0.20.tar.gz gibt es auch nicht. Da ich jetzt auch keine Lust habe die Abhängigkeiten aufzulösen und mich mit C/C++ nur sehr oberflächlich auskenne habe ich diesen Teil erst mal als gescheitert abgehackt. Die restlichen 274 Dateien teilen sich wie folgt auf:
173 PHP Files.
43 JavaScript Files
1 SQL File (MySQL)
2 README Files
34 LICENSE Files
1 HTML File
1 XSD File
und noch ein paar andere.
Evtl. Versuche ich mal das Facebook Portal auf einem Webserver zu installieren. Ich werde dann natürlich hier wieder darüber berichten. Wer es schon mal probiert hat bitte hier einen Kommentar mit Link hinterlassen