Bisher wurde für die Benutzung von YaCy mindestens Java 1.4.2 vorausgesetzt. YaCy 0.56 wird die letzte Version sein, die auf Grundlage von Java 1.4.2 programmiert ist. Mit der Entwicklerversion 0.561 und der darauf basierenden Stable-Version 0.57 wird Java 5 vorausgesetzt werden.
Warum erst jetzt?
Mit dem Umstieg wurde relativ lange gewartet – Java 5 ist mittlerweile über 3 Jahre alt – , was mehrere Gründe hat. Zum Einen sollte verhindert werden, dass durch einen verfrühten Umstieg auf Java 5 YaCy auf zahlreichen Systemen, für die keine Laufzeitumgebung in der entsprechenden Version zur Verfügung stand oder installiert werden konnte, nicht lauffähig ist. Mittlerweile ist Java 5 für alle aktuellen System erhältlich, so dass beim Wechsel der Java-Version hoffentlich kein Peer auf eine alte YaCy-Version festgelegt sein wird. Zum Anderen war Java lange Zeit nicht in einer freien und zu Suns Java-Laufzeitumgebung völlig kompatiblen Version erhältlich. Da freie Alternativen sich hauptsächlich zum Ziel gesetzt haben, Java 1.4.2 anzubieten, wurde lange die Hoffnung gehegt, dass YaCy bald auf einem freien Java laufen könnte. Mittlerweile ist Suns Java zu einem Großteil freie Software und somit steht dem Wechsel nichts mehr entgegen.
Warum nicht gleich Java 6?
Java 6 ist noch nicht für alle aktuellen Systeme verfügbar. Zur Zeit ist für Apple Mac OS X kein Java 6 erhältlich und es ist noch nicht abzusehen, wann dies der Fall sein wird.
Welche Vorteile bietet Java 5?
Mit dem Wechsel von Java 1.4.2 auf Java 5 erhalten die Programmierer einige neue Werkzeuge, welche die Entwicklung vereinfachen und beschleunigen. Besonders hervorzuheben sind die Generics, die sicherstellen, dass sich z.B. in Listen nur solche Objekte befinden, für die die Liste auch vorgesehen ist. Außerdem bietet Java 5 zusätzliche Befehle u.a. zum einfacheren Umgang mit Nebenläufigkeiten. Außer dass für die Ausführung zukünftiger YaCy-Versionen die Java 5-Laufzeitumgebung benötigt wird und dass YaCy noch zuverlässiger wird, ändert sich für reine Anwender nichts.