Das iPhone hat von Haus aus drei Sperren: Es lässt sich nicht ohne iTunes aktivieren, es lässt sich nicht mit Software nachrüsten, sondern kann den Funktionsumfang nur über Web-Anwendungen erweitern und es akzeptiert nur SIM-Karten von Mobilnetz-Providern, mit denen Apple Verträge geschlossen hat.
Längst hat eine rührige unter Pseudonymen auftretende Entwicklergemeinde die Funktionsweise der Sperren verstanden und Werkzeuge veröffentlicht, die alle drei Sperren überwinden – und auch wiederherstellen können, sodass ein entsperrtes und wieder gesperrtes iPhone nicht von einem unberührten zu unterscheiden ist.
Inzwischen gibt es zahlreiche Anwendungen von freien Entwicklern und viele davon gründen auf dem BSD-Subsystem, einem Gerüst aus Bibliotheken und Kommandozeilenprogrammen, das die freien Entwickler Apples Darwin-Projekt entnommen und für das iPhone verschlankt und angepasst haben. Damit, und zusammen mit dem SSH-Paket (Secure Shell), einer Software-Suite für verschlüsselte Netzwerkverbindungen, kann man auf dem iPhone eine Basis für zahlreiche Anwendungen legen. Auf diese beiden Elemente gehen wir schwerpunktmäßig ein. Alle Beispiele beziehen sich auf eine enge Beziehung zwischen einem iPhone und einem Mac. Bis auf wenige Ausnahmen funktionieren die Tipps aber auch mit einem Windows-PC.
Das in wenigen Monaten produzierte und stetig wachsende Software-Angebot überrascht, denn Apple unterstützt nur die Entwicklung von Web-Anwendungen. Ein Entwicklersystem muss man sich derzeit selbst zusammenstellen; Libraries sind in den Firmware-Updates zu finden, die zugehörigen Header nebst Dokumentation gibt es zum kostenlosen Download [1]. Für den Prozessor geeignete Compiler gibt es ebenfalls kostenlos (LLVM-Basis). Freilich ist das Material weitgehend undokumentiert, sodass man ab besten fährt, wenn man sich einer Programmiererclique anschließt (etwa iPhone Dev Team oder Nullriver).