<< Themensammlung Netzwertig

Unter netzwertig veröffentlichen wir in unserem Blog Einschätzungen zu aktuellen digitalen Geschäftsmodellen und IT-Trends, Meldungen, Analysen, Reviews und Specials.

03.06.08

Facebook fbOpen:Wir basteln uns ein Social Network

Jetzt geht's rund im Kampf der Social-Network-Plattformen: Unter Druck durch die Konkurrenz von Googles Open-Social-Allianz öffnet jetzt auch Facebook den Kimono. Heute wurde Facebooks Applikationsplattform als Open Source freigegeben. Damit kann sich theoretisch jede Website an die wunderbare Welt der Facebook-Applikationen anschliessen.

So schnell kann es gehen in diesem Geschäft: Vor kurzem noch hütete Facebook seine Plattform wie seinen digitalen Augapfel, weil man sich im Kampf der Social Networks dank der vielen Applikationen (derzeit 27'000), die es für dieses API inzwischen schon gibt, besonders im Vorteil sah. Bekanntermassen sind die meisten Facebook-Anwendungen eher dem zweckfreien Zeitvertrieb gewidmet, aber trotzdem (oder gerade deswegen?) spielten diese kleinen Funktionsmodule beim Aufstieg von Facebook eine wesentliche Rolle. Und natürlich wollten Mark Zuckerberg und seine Mitstreiter sich diesen Vorteil erhalten.

Die Konkurrenz, um Suchmaschinenriese Google geschart, bastelt aber schon seit Monaten an einer Gegenoffensive: Dank Open Social ist es (theoretisch) möglich, eine Social-Networking-Applikation nur einmal zu schreiben und dann für MySpace, Hi5, LinkedIn, XING und etliche weitere Plattformen anbieten zu können. Zwar ist Open Social nach Ansicht vieler nicht so leistungsfähig und ausgereift wie Facebooks Plattform, aber die geballte Marktmacht all dieser Player spricht für sich.

Um einen Vergleich zu wagen: Google spielt sozusagen die Microsoft-Windows-Strategie. Jeder darf mitmachen, auch wenn die resultierende Plattform eher Stückwerk ist. Facebook fühlte sich hingegen zunehmend in die Rolle des guten alten Mac in den 80er Jahren gedrängt: Zwar viel eleganter als die Konkurrenz, aber dank der selbstgewählten Isolation zunehmend auf der Verliererstrasse.

Aber die Facebook-Manager haben offenbar aus der Geschichte gelernt und halten jetzt mit gleichen Mitteln dagegen. Heute veröffentlichte Facebook einen wesentlichen Teil seiner Plattform-Software als Open-Source-Produkt zum freien Download unter dem Codenamen fbOpen.

Damit kann sich jeder programmierwillige Website-Inhaber prinzipiell die volle Funktionalität basteln, die man für das Einbinden von Facebook-Applikationen braucht. Endlich können so auch auf anderen Websites Vampire geworfen und Schafe gebissen (oder umgekehrt) werden.

Zwar liefert Facebook nicht gerade ein "Social Network in a Box", aber aus der Datenbankstruktur und dem umfangreichen PHP-Code kann man doch lernen, wie es die Profis machen -- und sich dann eben seine eigene, Facebook-kompatible Networking-Plattform zusammennageln. Aus der sehr spärlichen Dokumentation ist nur schwer zu entnehmen, was für einen Prozentsatz seiner gesamten Funktionalität Facebook mit diesem Paket nun veröffentlicht hat. Fast alles, was die eigentliche Website angeht, also der ganze Presentation Layer, fehlt natürlich. Dafür gibt es FBML, FQL, viele lustige AJAX-Sachen sowie ein Datenbankinterface.

Nach oberflächlicher Durchsicht einiger Code-Module kann man feststellen: Stellenweise ist man froh, dass die Facebook-Entwickler eine Social-Networking-Site programmieren und nicht, sagen wir mal, Steuerungssoftware für Atomkraftwerke. Als vormaliger Cobol-Programmierer weiss ich noch, was echter Spaghetti-Code ist, und das ist teilweise echt welcher. Manches ist aber auch durchaus hübsch gelöst.

Das mitgelieferte Datenbankschema wird ebenfalls keine Preise für herausragende Verdienste um die dritte Normalform erhalten. Das haben wir früher irgendwie mal anders gelernt. Beispielsweise werden Standardwerte wie "In A Relationship" gespeichert als ... Volltext. Redundant. Da würde es plötzlich nicht mehr so überraschen, dass Facebook ein paar Probleme beim Werbetargeting hat, wenn das wirklich alles so holprig strukturiert ist. Kann aber natürlich sein, dass das nur in der Open-Source-Version so ist.

Zwischendrin kann man auch etwas eigenwillige Kommentare im Code lesen, beispielsweise so was:

// These can either terminate a comment, confuse the hell out of the parser,

// make MySQL execute the comment as a query, or, in the case of semicolon,

// are quasi-dangerous because the semicolon could turn a broken query into

// a working query plus an ignored query.

"Confuse the hell out of the parser"? Ist das ein offizieller technischer Ausdruck? Und was genau wollte uns der Programmierer damit sagen?

Aber egal, dass PHP-Code selten Rekorde für guten Programmierstil aufstellt, ist ja auch nichts Neues. Auch recht originell ist, dass beim Download des Pakets der komplette Sourcecode (36 MB gezippt) von Firefox mitgeliefert wird, weil eine Facebook-Library offenbar gewisse Elemente daraus verwendet. Aber das braucht einen ja in der Praxis nicht gross zu stören.

Jedenfalls ist Facebooks ausgelieferter Plattform-Code deutilch reichhaltiger als das, was man bei der Konkurrenz von Open Social kriegt. Da ist die Serverseite nämlich bisher im Apache Shindig-Projekt erst arg dünn ausgestattet.

Auch wenn Facebooks Open-Source-Strategie im Moment noch arg hinkt (Dokumentation ist praktisch inexistent, die Lizenzsituation ziemlich seltsam), ist das Rennen um die dominierende Plattform für Social-Network-Applikationen wieder weit offen. Betreiber von Social-Network-Sites können sich jetzt mit relativ überschaubarem Aufwand beiden Applikationswelten anschliessen, Facebook und Open Social. Und Facebook ist durch die grosse Zahl fertiger Anwendungen sowie die ausgereiftere Plattform derzeit recht klar im Vorteil.

Förderland-Newsletter

Wissen für Gründer und Unternehmer