Im Artikel handelt es sich nicht um eine [[Hackerspace]] an sich. Es handelt sich um ein [[Projekt]], dass die Bezeichnung [[Hackerspace]] trägt. : Alle, die sich für einen [[Hackerspace]] (im Allgemeinen) interessieren, mögen dies dem [[HQ | Artikel ''HQ'']] als Beispiel des gelebten [[Hackerspace]]s des [[C3D2]] (und seinen Unterseiten) entnehmen. ==Problem== Hacker A hat auf seinem lokalen Fileserver viele größere (> 1GB) Dateien, die Hacker B gerne hätte. Die Internet-Verbindung von A hat nicht genug Upstream die von B nicht genug Downstream, um bequem direkte Kopien zu ermöglichen. Hacker A und Hacker B kennen sich aber persönlich und treffen sich regelmäßig an einem Ort, an dem eine LAN-Verbindung möglich ist (oder WLAN) und beide ihre Laptops mithaben. ==Hackerspace== Hackerspace ist eine XMPP/XMLRPC-basierte Anwendung, die auf dem Laptops von A und B läuft. A teilt Hackerspace den Pfad zu seinem lokalen Fileserver mit (via file-, ftp-, http-, sftp-, smb-URLs) und freien Speicherplatz auf seinem Laptop mit. Im Normalfall nutzt Hackerspace die JID seines Besitzers und ist so von außen erreichbar, die Priorität ist so festgelegt, dass normalerweise keine Nachrichten an Hackerspace gehen. Sollte dies doch einmal der Fall sein, sollte Hackerspace den Absender unterrichten, dass der Besitzer die Nachricht nicht bekommen hat und/oder die Nachricht seinem Besitzer weiterleiten, wenn dieser das nächste Mal online ist. Die Ressource von Hackerspace sollte darauf hinweisen, worum es sich handelt. Hacker B kann nun mittels seiner lokalen Hackerspace-Instanz (HsB) die von A freigegebenen Dateien durchsuchen. Das Interface hierfür kann z.B. in einem lokalen Web-Server bestehen, alternativ ist auch GTK, QT etc. möglich. Wenn B eine Datei sieht, die er gerne haben möchte, bittet er die Hackerspace-Instanz von A (HsA) diese Datei auf dem Laptop von A abzulegen. Hierbei kann eine maximale Hinterlegungsdauer angegeben werden, die A von vorneherein limitieren kann. Wenn sich A und B das nächste Mal treffen und sich im gleichen Netzwerk befinden, sollten die Hackerspace von A und B dies über eine Heuristik selbst herausfinden und dann bei ihren jeweiligen Besitzern nachfragen ob der Transfer eingeleitet werden soll (dies sollte netzbasiert ausgeschaltet werden können). Ist der Transfer vollständig werden die übertragenen Datei automatisch vom Laptop von A (nach optionaler Bestätigung) gelöscht. ===Queues und Prioritäten=== Eine Hackerspace-Instanz sollte Queues implementieren, die es ermöglichen, dass Transfers vom Fileserver zum Laptop, die aufgrund mangelden freien Speichers nicht ausgeführt werden können, später ausgeführt werden. Desweiteren ist es sinnvoll, wenn Hackerspace über die Eckdaten des Heimnetzes und des LANs Bescheid weiß um so Transfers besser planen zu können. Außerdem ist ein Modus sinnvoll, bei dem Transfers im Heimnetz, erst kurze Zeit bevor A zum Treffen mit B aufbricht, ausgeführt werden. Damit ist es möglich Dateien, die von mehreren Hackern gewünscht werden, höher zu priorisieren. Selbstverständlich ist es dazu nötig, Hackerspace mitzuteilen, wann man (und evt. wohin) aufbricht. Der Besitzer einer Hackerspaceinstanz sollte stets in der Lage sein, lokal Prioritäten zu manipulieren. Wenn genug Speicherplatz verfügbar ist, müssen Prioritäten nicht beachtet werden. ==Visionen== Es ist vom Design her klar, dass Hackerspace nicht nur für 2 Hacker und nicht nur in einer Richtunge funktioniert. Bei mehreren Anfragen von mehreren Hackern sollte es jederzeit möglich sein, Anfragen abzulehnen Hackerspace kann jederzeit Kopieranfrage ==Sicherheit== Beim Verfolgen von URLs achtet Hackerspace stets darauf, dass der freigegebene Platz nicht verlassen werden kann. == Siehe auch == * [[HQ]] [[Kategorie:Projekt]]