Wie Redwerk zu Open-Source-Projekten beiträgt: Beispiel Freenet

Open-Source-Projekte waren schon immer ein wichtiges Diskussionsthema unter IT-Fachleuten weltweit. Im Laufe der Jahrzehnte hat sich Open-Source-Software von kostenlosen Anwendungen, die von passionierten Enthusiasten programmiert wurden, zu weltweit angenommenen Unternehmenslösungen und einer sich rasch entwickelnden Multi-Milliarden-Industrie entwickelt.

Heutzutage gibt es kaum ein Unternehmen, das in seinem täglichen Betrieb keine Open-Source-Produkte einsetzt, vor allem wenn es sich um IT-Unternehmen handelt. Programmiersprachen, Bibliotheken, Frameworks, Datenbankverwaltungssysteme, Inhaltsverwaltungssysteme – der größte Teil des technischen Stapels, den Sie für die Entwicklung hochwertiger Software benötigen, ist Open Source.

Die Mitarbeit an Open-Source-Projekten war in der IT-Gemeinschaft schon immer Ehrensache, und es gibt viele Möglichkeiten, dies zu tun. In diesem Artikel sprechen wir über Open-Source-Software, warum Unternehmen in Open-Source-Produkte investieren, welche Dienstleistungen Redwerk den Open-Source-Sponsoren anbieten kann und wie Redwerk durch Sponsoring zum Open-Source-Projekt Freenet beiträgt.

Was ist Open Source Software?

Kurze Geschichte

Die Open-Source-Bewegung entstand schon lange bevor sie ihren offiziellen Namen und ihre Definition erhielt. Ihre Ursprünge gehen auf die 1950er bis 1960er Jahre zurück, als die meiste Software von Akademikern und Software-Ingenieuren von Unternehmen in Zusammenarbeit entwickelt und über das Public-Domain-Modell verbreitet wurde. Letzteres beinhaltet keine Urheberrechts- oder Lizenzbeschränkungen und gewährt der Öffentlichkeit vollständigen Zugang zum Quellcode mit der Möglichkeit, diesen zu verändern, zu verbreiten und zu verkaufen, ohne den ursprünglichen Entwicklern Anerkennung zu zollen. Mit der Weiterentwicklung der Technologien stiegen jedoch die Kosten für die Softwareproduktion, was die Grundlage für die Auferlegung proprietärer Lizenzen für neue Softwareentwicklungen bildete. Mit der Entscheidung der US Commission on New Technological Uses of Copyrighted Works, Computerprogramme als urheberrechtsfähig anzuerkennen, gewann dieser Trend noch mehr an Dynamik.

Offensichtlich war eine solche Entwicklung nicht förderlich für den Wissensaustausch und die so genannte „Hackerkultur“, weshalb viele Software-Ingenieure die weit verbreitete Verwendung von Closed-Source-Software ablehnten. Richard M. Stallman gehörte zu den Ingenieuren, die ihr Fachwissen nicht nutzen konnten, um lästige Software-Probleme zu beheben, weil die Software-Lizenzen proprietär waren. Da er wusste, wie man das Problem der ständigen Papierstaus im MIT-Labor lösen konnte, aber keinen Zugang zum Quellcode des Druckertreibers hatte, beschloss Stallman für sich selbst, dass kein Benutzer der Möglichkeit beraubt werden sollte, zu verstehen, wie die Software funktioniert. Sein GNU-Projekt, ein Betriebssystem für freie Software, und die Free Software Foundation legten den Grundstein für die Open-Source-Bewegung.

Da der Begriff „freie Software“ insofern zweideutig war, als sich „frei“ eher auf die Freiheit als auf den Preis bezog, wurde ein besserer Begriff benötigt. 1998 war Christine Peterson, eine amerikanische Prognostikerin und Mitbegründerin des Foresight Institute, die erste, die die Frage nach einem neuen Begriff aufwarf, und ihre Alternative – Open Source – wurde von den Teilnehmern des Foresight-Treffens sehr positiv aufgenommen.

Was genau ist also Open-Source-Software im modernen Sinne? Open-Source-Software ist eine Art von Software, deren Quellcode der Öffentlichkeit zugänglich gemacht wird, mit dem Recht, ihn zu nutzen, zu verändern und gemäß der Open-Source-Lizenz, unter der er veröffentlicht wird, weiterzugeben. Die Open-Source-Bewegung soll das Lernen, die Transparenz, die Zusammenarbeit und die gemeinschaftsorientierte Entwicklung fördern. Ein Open-Source-Produkt setzt also voraus, dass es eine Gruppe von Freiwilligen gibt, die die Entwicklung initiiert haben, das so genannte „Kernentwicklungsteam“, und eine Reihe von Mitwirkenden, die entweder das Kernteam bei der Softwarepflege unterstützen oder den Quellcode übernehmen und je nach ihren eigenen Bedürfnissen weiterentwickeln. Wer entwickelt Open-Source-Software, warum tun sie es, und wer nutzt Open-Source-Produkte? Auf all diese Fragen werden wir im Detail eingehen.

Wer entwickelt Open-Source-Software?

Open-Source-Software wird in der Regel mit Produkten in Verbindung gebracht, die die Menschen kostenlos nutzen können. Warum also sollte jemand seine Freizeit in die Entwicklung eines Open-Source-Produkts investieren, ohne dafür eine finanzielle Vergütung zu erhalten? Diese Frage ist jedoch nicht so einseitig. Da jeder Mensch durch seine eigenen Bedürfnisse motiviert ist, sind die Gründe, sich an der Entwicklung von Open-Source-Software zu beteiligen, unterschiedlich. Hier ist, wer an der Arbeit an Open-Source-Projekten interessiert sein könnte:

  • Erfahrene Softwareentwickler, die bessere Lösungen brauchen – alle großartigen Produkte waren einst nur eine innovative Idee und eine Gruppe von Freiwilligen, die daran glaubten, den Unterschied zu machen. Erfahrene Entwickler, die ein breites technisches Spektrum beherrschen oder sich auf eine bestimmte Nische der Softwareentwicklung spezialisiert haben, wissen, wie man die bestehenden Lösungen verbessern kann. Genau so sind Open-Source-Produkte wie Vue.js, Ghost und Drupal entstanden.
  • Informatikstudenten – Bildung ist die treibende Kraft der Innovation, und deshalb wird ein beträchtlicher Teil der Open-Source-Projekte in den Hallen der Hochschulen initiiert. Ob es nun der Wunsch ist, die Anerkennung eines Mentors zu gewinnen, sich mit einem bahnbrechenden Projekt von der Masse abzuheben oder die eigene technische Kompetenz zu verbessern – Informatikstudenten sorgen immer wieder für Veränderungen in unserer Realität. GIMP, Linux und der VLC Media Player sind Open-Source-Produkte, die von Studierenden entwickelt wurden und von Millionen von Benutzern weltweit genutzt werden.
  • Open-Source-Unternehmen – Open-Source-Software zieht nicht nur ehrgeizige Freiwillige an, sondern auch Softwareentwicklungsunternehmen, die bereit sind, ein Open-Source-Produkt zu Geld zu machen. Die Monetarisierungsstrategien variieren – von der Einführung doppelter Lizenzen und der Freigabe von Unternehmensversionen mit erweiterten Funktionen und verbesserten Sicherheitspatches bis hin zur Bereitstellung von technischem Support und Beratungsdiensten. Heutzutage erzielen Open-Source-Unternehmen den größten Umsatz mit der Bereitstellung professioneller Dienstleistungen: Integration von Open-Source-Software, Anpassung, Support, Schulung und Beratung. Zu den Unternehmen, die die oben genannten Geschäftsmodelle erfolgreich umgesetzt haben, gehören MySQL, MongoDB, Red Hat, Percona, Cloudera und viele andere. Darüber hinaus veröffentlichen einige Unternehmen, wie z. B. Telegram, bewusst Software mit offenem Quellcode, um ihr hohes Sicherheitsniveau und ihren eisernen Schutz gegen Hacker zu betonen.
  • Softwareentwicklungsgiganten – diese Unternehmen verfügen über immense technische Ressourcen, und dennoch suchen sie möglicherweise nach Erkenntnissen von Open-Source-Beitragenden, da mehr Perspektiven bessere Software schaffen. Was als Rückgabe an die IT-Gemeinschaft vermarktet wird, ist oft Teil einer größeren Strategie, sei es die technische Ökonomie, die Erhöhung der Markentreue oder die Vorhersage zukünftiger Trends in der IT. Heutzutage haben alle großen Namen Open-Source-Software veröffentlicht: Google (Kubernetes, Android), Facebook (React Native, Presto), Mozilla Foundation (Bugzilla, Thunderbird), Microsoft (Visual Studio Code, .NET).
  • IT-Dienstleistungsunternehmen – diese Unternehmen entwickeln Open-Source-Projekte meist nicht von Grund auf neu. Sie arbeiten mit Open-Source-Entwicklungsteams zu für beide Seiten vorteilhaften Bedingungen zusammen: IT-Dienstleistungsunternehmen helfen bei der Softwarewartung, während Open-Source-Entwickler die vom Sponsor, der das IT-Dienstleistungsunternehmen unterstützt, gewünschten Funktionen implementieren. Bei letzterem handelt es sich wahrscheinlich um eine Agentur für die Entwicklung kundenspezifischer Software wie Redwerk, die über vollständig verwaltete Entwicklungsteams verfügt.

Wer nutzt Open-Source-Software?

Was einst nur ein Versuch war, einen bahnbrechenden Ansatz für die Softwareentwicklung zu finden, hat sich zu einem festen Bestandteil unseres täglichen Lebens entwickelt. Heutzutage gibt es kaum noch jemanden, der nicht mindestens einmal in seinem Leben ein Open-Source-Produkt verwendet hat. Wir alle verwenden täglich Webbrowser wie Mozilla Firefox und Google Chrome; obwohl Google Chrome eine proprietäre Lizenz hat, basiert seine Kernfunktionalität auf Chromium, einem Open-Source-Projekt. Einige von uns verwenden kostenlose Texteditoren wie LibreOffice, Bildbearbeitungsprogramme wie GIMP, Bildverwaltungsprogramme wie Shotwell und andere nützliche Tools, sowohl für private als auch für berufliche Zwecke. Nicht nur Software-Ingenieure sind mit Open-Source-Produkten vertraut, aber sie machen wahrscheinlich den größten Teil der Open-Source-Konsumenten aus, da sie sich auf Open-Source-Produkte verlassen, um hochwertige Softwarelösungen zu entwickeln. Wenn Sie sich mit Programmierung beschäftigen, sind Sie sicherlich mit dem Repository-Hosting-Service GitHub, dem Datenbankmanagementsystem MySQL, dem Betriebssystem Ubuntu, dem Automatisierungsserver Jenkins und einer Vielzahl verschiedener Bibliotheken und Frameworks vertraut. Daher hat Open-Source-Software alle Bereiche unseres Lebens durchdrungen, sowohl auf Unternehmens- als auch auf persönlicher Ebene.

Popular Open Source Products

Operating
systems
linuxandroid

Email
clients
thunderbirdstylepheed

Web
browsers
firefoxchromium

Messengers
Telegram

Database
management
systems and
big data
tools
mysqlmongodb
mariadbseek
hadoopkafka
Text and
photo
editors
libreofficegimpshotwell

Automation
servers
jankinstravis-ci

gogradle
gitlab
Audio
and video
players
vlcmpvaudacious

Cluster
management
systems
Kubernetesdockermesos

Solutions
for
censorship
resistance
on the web
freenetmongodb
mariadbseek
metrixkafka
Programming
language
and
framework
netvuephp
pythonreact
VPNs
Content
management
systems
openvpnsoftware
wordpressjoomla
magento
Ad-free
social
networks
and private
intranets
mastodon
hupnumpixelfied
opensourcefriendica
Bug
trackers
bugzillamantisredmine

Web
browsers
and search
engines for
privacy
online

Open-Source-Patenschaften

Open-Source-Projekte erfordern wie jedes kommerzielle Produkt oder jede Dienstleistung eine umfangreiche Finanzierung. Aus diesem Grund wurden viele Open-Source-Produkte von großen Unternehmen entwickelt, die enorme Vorabinvestitionen aufbringen können, wie z. B. Hadoop von Yahoo oder Kafka von LinkedIn. Kleinere Open-Source-Projekte, die nicht so weit verbreitet sind und sich daher nicht richtig monetarisieren lassen, sind meist auf externe Mitwirkende und Spenden angewiesen. Nicht alle Open-Source-Mitwirkenden arbeiten kostenlos, da es nicht viele Menschen gibt, die es sich leisten können, über einen längeren Zeitraum hinweg ehrenamtlich zu arbeiten. Daher sind Open-Source-Kernentwicklungsteams immer auf der Suche nach Sponsoren und Freiwilligen, seien es einzelne Entwickler oder Softwareentwicklungsagenturen.

Probleme, mit denen Open-Source-Teams konfrontiert sind

Open-Source-Produkte werden oft von Enthusiasten entwickelt, die sich ausschließlich auf ihre eigenen Ressourcen verlassen. Die Softwareentwicklung erfordert jedoch gemeinsame Anstrengungen verschiedener IT-Experten und kontinuierliche Investitionen. Es kann Jahrzehnte dauern, bis ein Open-Source-Produkt eine anständige Benutzerbasis und angemessene Unterstützung durch externe Mitwirkende erhält. Aus diesem Grund sind unzureichende finanzielle Mittel und eine begrenzte Anzahl von Freiwilligen die Hauptprobleme, mit denen Open-Source-Teams zu kämpfen haben. Obwohl der Markt für Open-Source-Dienste bis 2022 zu einer 30-Milliarden-Dollar-Branche heranwachsen soll, werden die größten Einnahmequellen an die großen Unternehmen wie Red Hat, IBM und Oracle gehen, die wissen, wie man Open-Source-Produkte vermarktet. Natürlich können Open-Source-Entwickler dieselben oder ähnliche Monetarisierungsstrategien anwenden, wie z. B. das Anbieten von Unterstützung bei der Software-Implementierung oder das Auferlegen einer restriktiven Lizenzierung. Der Erfolg dieser Bemühungen hängt jedoch von vielen Voraussetzungen ab, z. B. einer breiten Akzeptanz der Open-Source-Software und dem Bekanntheitsgrad der Marke. Daher verlassen sich kleinere Open-Source-Projekte, die sich keine groß angelegten Marketingkampagnen leisten können und ihre Glaubwürdigkeit erst noch unter Beweis stellen müssen, meist auf ihre Kernentwicklungsteams und die Unterstützung durch externe Anbieter.

Beweggründe für Sponsoring

Die Gründe, warum sich Menschen für die Unterstützung eines Open-Source-Projekts entscheiden, sind so vielfältig wie die Motive der Open-Source-Mitwirkenden. Jeder von uns verfolgt seine eigenen Ziele, ebenso wie Unternehmen. Wenn man jedoch eine globale Analyse vornimmt, lassen sich alle Sponsoren in die folgenden Kategorien einteilen:

  • Aktive Open-Source-Benutzer, die einen bestimmten Fehler beheben oder die Software modernisieren wollen, um mehr Komfort zu erhalten
  • Aktive Open-Source-Nutzer, die neue Funktionen hinzufügen wollen, die sie wirklich brauchen
  • Open-Source-Befürworter, die das Konzept hinter dem Projekt aktiv unterstützen
  • Technologieunternehmen, deren kommerzielle Lösungen auf Open-Source-Produkten beruhen
  • Technologieunternehmen, die Open-Source-Sponsoring als Teil ihrer Politik der sozialen Verantwortung nutzen

Arten des Sponsorings

Es gibt zwei Möglichkeiten, zu einem Open-Source-Projekt beizutragen: Geld direkt an die Produktgründer zu spenden oder eine Software-Agentur zu beauftragen, die das Kernentwicklungsteam bei der täglichen Routine unterstützt. Beide Möglichkeiten sind für Open-Source-Teams äußerst hilfreich, dennoch ist es wichtig zu verstehen, was in jedem Szenario passiert:

  • Direkte Spende: Die Verwendung dieser Gelder liegt im Ermessen des Unternehmens, und es ist nicht nachvollziehbar, wie gut die Mittel verwaltet werden. Wenn ein Sponsor direkt spendet, werden die Gelder wahrscheinlich zur Unterstützung der Kernfunktionen des Produkts verwendet.
  • Beauftragung einer Softwareentwicklungsagentur: In diesem Fall unterstützt die Agentur das Open-Source-Entwicklungsteam bei Wartungsaufgaben und verfolgt gleichzeitig die Interessen des Sponsors, z. B. bei der Implementierung neuer Funktionen oder der Hinzufügung von Plugins, wobei die Transparenz und Rechenschaftspflicht bei der Mittelvergabe gewahrt bleibt.

Dienstleistungen von IT-Agenturen für Sponsoren

Softwareentwicklungsagenturen kennen sich aufgrund ihrer Tätigkeit bestens mit Open-Source-Software aus. Ob es sich nun um eine Open-Source-Programmiersprache, ein Datenbankmanagementsystem, ein Frontend-Framework oder eine Backend-Bibliothek handelt, die Verwendung von Open-Source-Produkten bei der Entwicklung von Softwarelösungen, sei es für einen Kunden oder Ihre eigene Marke, ist unvermeidlich. Daher ist die Arbeit an Open-Source-Projekten für Softwareagenturen eine Möglichkeit, der Open-Source-Gemeinschaft etwas zurückzugeben, wenn auch durch Sponsoring. Mit unabhängig verwalteten Full-Stack-Delivery-Teams an Bord können sie sich problemlos in das Open-Source-Kernteam integrieren, da keine zusätzliche Betreuung erforderlich ist. Das Spektrum der von ihnen angebotenen IT-Dienstleistungen wird hauptsächlich durch die Interessen der Sponsoren und die Bedürfnisse des Open-Source-Kernteams bestimmt. Hier ein kurzer Überblick über die IT-Dienstleistungen, die Softwareentwicklungsagenturen den Sponsoren anbieten.

Technische Projektprüfung

IT-Dienstleistungsunternehmen helfen nicht nur bei der Entwicklung kundenspezifischer Softwarelösungen, sondern bieten auch Beratungsdienste an, einschließlich eines umfassenden technischen Audits. Bei der Arbeit sowohl an neuen als auch an alten Projekten in verschiedenen Branchen erwerben diese Unternehmen unschätzbare Fachkenntnisse bei der Erkennung von Schwachstellen in Open-Source-Produkten, potenziellen Bedrohungen, fehlenden oder vielversprechenden Funktionen. Sie können auch einen Migrationsplan erstellen oder optimieren und Strategien zur Kostenreduzierung aufzeigen.

Software-Tests und QA-Dienstleistungen

Die Entwicklung voll funktionsfähiger Software ist ohne konsequente Tests und Qualitätssicherung unmöglich. Zu den Portfolios erfolgreicher IT-Dienstleister gehören zahlreiche SaaS-Produkte, Webplattformen, mobile Anwendungen, PC-Spiele, Legacy-Software sowie Open-Source-Projekte. Es liegt auf der Hand, dass all diese Produkte eine angemessene Anzahl von QA-Stunden erfordern. Mit ihrer vielseitigen Erfahrung im Testen wissen IT-Agenturen, wie man Open-Source-Produkte gründlich testet, um in kurzer Zeit den maximalen Nutzen zu erzielen.

Entwicklung von Schlüsselfunktionen

Jedes Open-Source-Team unternimmt die größten Anstrengungen, um die Kernfunktionen seiner Software aufrechtzuerhalten und neue Funktionen im Einklang mit der Produkt-Roadmap zu entwickeln. Durch die Übernahme eines Teils der Softwarewartungs- und QA-Aufgaben erleichtern IT-Dienstleister dem Kernteam die Konzentration auf die Entwicklung neuer und die Optimierung bestehender Funktionen. Sie arbeiten auch an der Entwicklung spezieller Funktionen, die vom Sponsor gewünscht werden, sofern das Kernteam sie genehmigt.

Technische Dokumentation

Jedes Softwareprojekt, selbst das kleinste, benötigt eine technische Dokumentation, um die Zusammenarbeit zu erleichtern und die Weiterentwicklung des Produkts zu ermöglichen. In Anbetracht der begrenzten Ressourcen, die Open-Source-Teams zur Verfügung stehen, ist die Dokumentation oft der vernachlässigte Aspekt des Softwareentwicklungszyklus. IT-Dienstleister können Open-Source-Entwicklern bei der Erstellung, Aktualisierung oder Übersetzung von Pflichtenheften, Produktplänen, Testdokumenten, Benutzerhandbüchern, Installationsanleitungen und anderen technischen Dokumenten helfen.

Bildungsunterstützung und Medienberichterstattung

Die Aufklärung der Öffentlichkeit über die Verwendung der Open-Source-Software, die Erläuterung ihrer Vorteile und die Bereitstellung detaillierter Anleitungen ist ein Schritt zur allgemeinen Anerkennung des Produkts. IT-Dienstleistungsunternehmen verfügen über genügend personelle Ressourcen, um die Fragen der Nutzer in Foren und auf Social-Media-Plattformen zu beantworten, detaillierte Anleitungen und FAQs sowie Video-Tutorials zu erstellen und so den Open-Source-Teams zu helfen, ihre Kunden- und Mitarbeiterbasis zu vergrößern.

SEO und Marketing-Dienstleistungen

Wie jede kommerzielle Lösung braucht auch ein Open-Source-Produkt eine angemessene Marketingkampagne, um seine Zielgruppe zu erreichen und seinen Bekanntheitsgrad zu erhöhen. Etablierte IT-Agenturen verfügen über erfahrene SEO- und Marketingspezialisten, deren Tagesgeschäft sich um die Förderung der digitalen Präsenz von Marken dreht. Daher können sie Open-Source-Entwicklern dabei helfen, SMM-Posts, Blogartikel und Videoinhalte für verschiedene Plattformen zu verfassen und die richtigen SEO-Techniken vorzuschlagen, um in kürzerer Zeit greifbare Ergebnisse zu erzielen.

Identifizierung der Geschäftsbedürfnisse

Die Ermittlung der Kundenbedürfnisse ist eine Faustregel für alle Softwareentwicklungsagenturen, die ein kundenorientiertes Geschäftsmodell verfolgen. Dieser Schritt ist unerlässlich, um das für die Projektumsetzung erforderliche technische Fachwissen zu ermitteln. Bevor ein Projekt gesponsert wird, wollen die Beteiligten den Projektumfang, den potenziellen ROI oder andere Gewinne kennen, die sie innerhalb der zugewiesenen Zeit und des Budgets erhalten werden, und hier kommen die IT-Agenturen ins Spiel, da sie all diese Metriken mit detaillierten Erklärungen hinter den Zahlen berechnen werden.

Umgang mit dem Kernteam

Wie bereits erwähnt, sind Open-Source-Entwicklungsteams hauptsächlich an der Entwicklung der Kernfunktionen des Produkts interessiert. Sie sind jedoch bereit, die von den Sponsoren geforderten Funktionen zu verhandeln und zu implementieren, wenn IT-Agenturen einen erheblichen Teil der ressourcenintensiven Aufgaben übernehmen: Softwarewartung und -tests, Refactoring, technische Redaktion, Medienberichterstattung oder andere zeitkritische Aspekte. Auf diese Weise verringern Softwareentwicklungsagenturen die Arbeitsbelastung des Open-Source-Kernteams und helfen gleichzeitig den Sponsoren, ihre Ziele zu erreichen.

Freenet Fallstudie: Unser Beitrag zu Open Source

Heutzutage suchen immer mehr Menschen nach Möglichkeiten, ihre Privatsphäre zu schützen, ihre Meinung frei zu äußern und Informationen auszutauschen, ohne Angst vor Strafverfolgung zu haben. Es ist bekannt, dass das, was ins Internet geht, auch dort bleibt, und je nach den Gesetzen eines bestimmten Landes können die Folgen einer freien Meinungsäußerung für diese Menschen sehr schwerwiegend sein. Obwohl das Recht auf freie Meinungsäußerung als eines der grundlegenden Menschenrechte gilt, schränken einige Länder wie China, Weißrussland und der Iran die Meinungsfreiheit, die Nutzung sozialer Medienplattformen und den Zugang zu Informationen stark ein.

Wir haben das Thema Redefreiheit bereits in unserem Artikel über Möglichkeiten, online anonym zu bleiben, angesprochen. Eine der Lösungen, die ein Höchstmaß an Privatsphäre gewährleistet, ist Freenet, eine Open-Source-Software, die den Widerstand gegen Zensur im Internet erleichtert. Es handelt sich um ein P2P-Netzwerk, das auf dem Internet aufbaut und verschlüsselte Kommunikation über die Knotenpunkte anderer Benutzer leitet. Mit Freenet können Sie Dateien austauschen, „Freesites“ (Websites, die nur über Freenet zugänglich sind) durchsuchen und veröffentlichen und in Foren frei kommunizieren, ohne Angst vor Strafverfolgung haben zu müssen. Es gilt als besonders sicher, wenn es im „Darknet“-Modus verwendet wird, bei dem sich die Benutzer nur mit ihren Freunden oder Personen verbinden, denen sie voll und ganz vertrauen. Wir haben bereits darüber gesprochen, wie Freenet funktioniert und mit welchen Herausforderungen wir bei der Arbeit am Freenet-Projekt konfrontiert waren; wir möchten jedoch tiefer eintauchen und die Ergebnisse unserer fruchtbaren Zusammenarbeit teilen. Hier ist, was wir bis jetzt für Freenet getan haben.

Freenet
Lösung für Zensurwiderstand im Web
half dem Freenet-Kernteam:
1
Erkennen von Software-Schwachstellen
2
Lösungen zur Erhöhung der Geschwindigkeit zu testen
Erhöhung der maximalen Datei-Upload-Größe
3
4
Gründliche Tests und Fehlerbehebung
5
Wiederherstellung der ursprünglichen Funktionalität des Suchindexes
6
Vollständiges Refactoring eines der wichtigsten Plugins

Wichtigste Highlights
Menschen im Team
5


6k+
Benutzer
Codezeilen
>25k

4
Plugins verbessert
erster Beitrag
2018

5120+
Arbeitsstunden

Sicherheit

Sicherheit ist ein Hauptanliegen für jedes Software-Entwicklungsteam, unabhängig davon, welche Art von Software es entwickelt – ein P2P-Netzwerk oder eine E-Commerce-Webplattform. Was die Sicherheit von Freenet betrifft, gab es ein Problem mit dem Theora-Videofilter, so dass die Nutzer Videos herunterladen mussten, wenn sie sie sicher ansehen wollten. Unserem Redwerk-Team ist es gelungen, den Filter zu reparieren, so dass die Nutzer nun direkt über die Freenet-Oberfläche Videos ansehen können, ohne ihre Identität zu gefährden: Der Filter entfernt einfach bösartige HTML-Tags. Wir haben auch den CSRF-Schutz (Cross-Site Request Forgery) zum Plugin KeepAlive hinzugefügt.

Software-Tests und QA

Freenet veröffentlicht alle sechs Monate einen neuen Build, und wir helfen ihnen bei den Tests und der Qualitätssicherung vor jeder Veröffentlichung. Beim Testen von Fred, der Kernfunktion von Freenet, ist es uns gelungen, Fehler zu entdecken, die zu Fehlern beim Hochladen von Dateien führten. Jetzt können Freenet-Benutzer Dateien mit einer Größe von bis zu 15 GB hochladen, statt der ursprünglichen 5 GB. Unsere QA-Ingenieure testeten auch mehrere Plugins – KeepAlive, Library, Spider, Freemail. Während Spider und Freemail nur kleinere Fehler enthielten, fror KeepAlive ein und stürzte ab. Es gelang uns, die Ursache für diese Fehlfunktion zu finden und das Problem zu beheben.

Fork

Unser Team beendete die Arbeit an mehreren Plugins, darunter KeepAlive. Letzteres hilft Freenet-Benutzern, ihre Dateien und Freesites zu bewahren, die andernfalls ohne die Möglichkeit, sie wiederherzustellen, verschwinden könnten. Aufgrund der mäßigen Nutzerzahl werden ältere und weniger beliebte Dateien recht schnell durch neuere ersetzt, während KeepAlive buchstäblich alle Teile der Dateien am Leben erhält. Wir haben ein umfassendes Refactoring durchgeführt und eine alternative, voll funktionsfähige Version des Plugins veröffentlicht. Wir sind stolz darauf, dass KeepAlive nun zu den offiziellen Plugins von Freenet gehört.

Suchindex

Die Suche im Freenet wurde durch zwei Plugins ermöglicht – Library und Spider. Library sollte neue Datenbanken erstellen, während Spider das Freenet durchforstete und bestimmte Wörter und deren Fundorte registrierte und diese Daten an Library übertrug. Library war schon lange nicht mehr funktionsfähig, während Spider nur ein paar kleinere Fehler aufwies. Es ist uns gelungen, die ursprüngliche Funktionalität des Freenet-Suchindexes wiederherzustellen; die Suchqualität kann jedoch noch verbessert werden, und das ist unser Ziel für die nahe Zukunft.

Benutzeroberfläche

Freenet hat eine neue Benutzeroberfläche implementiert, um die digitale Erfahrung der bestehenden Nutzer zu verbessern und neue Nutzer zu gewinnen. Bei der Durchführung von Usability-Tests stellten wir jedoch eine Reihe von Problemen fest: falsche Ausrichtung von UI-Elementen, ungleiche Ränder, verschobene Logos und vieles mehr. Außerdem haben wir dafür gesorgt, dass das Webdesign von Freenet nicht nur optisch ansprechend, sondern auch mobilfreundlich ist.

Benutzer-Support

Seit etwa zwei Jahren unterstützen wir Freenet-Nutzer in Foren. Die Freenet-Software erfordert ein gewisses Maß an technischem Know-how, um sie zu installieren und alle benötigten Plugins zu konfigurieren. Daher kann ein guter Benutzersupport eine entscheidende Rolle bei der Erweiterung der Benutzerbasis spielen. Wir beantworten die Fragen der Nutzer in den Freenet-Foren und in den sozialen Medien wie Reddit, um mehr Menschen zu ermutigen, dem Netzwerk beizutreten und so die Kapazität des Dateiaustauschs zu erhöhen.

Dokumentation

Freenet ist ein langjähriges Projekt; daher war ein großer Teil der technischen Dokumentation veraltet. Wir haben Freenet dabei geholfen, seine Dokumentation zu aktualisieren und zu erweitern, um sicherzustellen, dass Open-Source-Entwickler, Mitwirkende und Benutzer über relevante Daten zur Funktionalität, zum Fortschritt und zur praktischen Anwendung des Projekts verfügen. Als Softwareentwicklungsagentur wissen wir, wie wichtig eine professionell verfasste technische Dokumentation ist; daher pflegen wir sie und nehmen regelmäßig Änderungen vor.

Übersetzung

Freenet ist ein globales Projekt, denn die Meinungsfreiheit sollte keine Grenzen haben. Um mehr Menschen über die Möglichkeit zu informieren, online anonym zu bleiben, haben wir Freenet dabei geholfen, seine offizielle Website und den Großteil der technischen Dokumentation ins Russische zu übersetzen. Dieser Schritt war notwendig, um den Bedürfnissen der zahlreichen Freenet-Nutzer aus den GUS-Ländern gerecht zu werden. Hier in der Ukraine beherrschen die IKT-Experten Englisch und Russisch sehr gut, so dass der Übersetzungsprozess reibungslos verlief.

System-Modernisierung

Wie bereits erwähnt, kann die Freenet-Software für technisch nicht versierte Benutzer schwierig zu bedienen sein. Daher gab es viele Anfragen zur Vereinfachung der anfänglichen Knoteneinstellung. Wir haben den Freenet-Erstanmelde-Assistenten überarbeitet und die Möglichkeit geschaffen, Freunden automatisch Nodes hinzuzufügen. Alles, was Freenet-Benutzer in diesem Fall tun müssen, ist, einen speziellen Peers-Offers-Ordner zu erstellen und die Links zu den benötigten Nodes in diesen Ordner einzufügen. Diese Funktionsverbesserung ist besonders nützlich für Leute, die alle ihre Knoten in kurzer Zeit miteinander verbinden wollen.

Fazit

Redwerk ist eine Softwareentwicklungsagentur mit fundiertem Fachwissen. Neben Freenet arbeiten wir an einem weiteren Open-Source-Projekt in einer ähnlichen Nische. Die Beauftragung einer unabhängigen Softwareentwicklungsagentur zur Verbesserung von Open-Source-Projekten wird unter Open-Source-Förderern und -Befürwortern immer weiter verbreitet. Der Grund für diesen Trend liegt auf der Hand: Ein solcher Ansatz garantiert Transparenz bei der Budgetvergabe, volle Rechenschaftspflicht, reibungslose Verhandlungen und schnellere Ergebnisse.