AA_PO-26187-123RF-alphaspirit_123RF-Drei_Personen_zeichnen_gemeinsam_einen_gro_szlig_en_Businessplan_an_ein_Whiteboard_.jpg

© alphaspirit, 123RF

Freie und Open-Source-Software-Projekte

Mitmachen

Linux und die große Palette an kostenloser und freier oder quelloffener Software leben davon, dass sich viele Entwickler an den Projekten beteiligen. Das können auch Sie: Dazu sind nicht mal Programmierkenntnisse nötig, denn auch Unterstützung bei der Dokumentation, Video-Tutorials, selbst designte Icon-Sammlungen und andere Hilfen werden oft gern gesehen.

Sie nutzen schon seit Jahren ein bestimmtes Programm und sind von den Features begeistert, die sich die Entwickler ausgedacht haben? Dann möchten Sie vielleicht "Danke" sagen – aber nicht durch Überweisung einer Spende (was auch bei vielen Projekten möglich ist), sondern durch aktive Unterstützung. Das wirft schnell die Frage auf, wie das klappen soll; schließlich treffen sich die Entwickler nicht zum wöchentlichen Stammtisch in einer Kneipe Ihrer Stadt, sondern sind meist über die ganze Welt verteilt und nutzen Mailinglisten und Chat-Foren (oft im IRC) oder Google-Hangouts zur Abstimmung.

Oft liefert die Webseite eines Projekts Informationen zu Möglichkeiten der Beteiligung – bei größeren und gut strukturierten Projekten wird dann genau aufgelistet, wo es aktuell Bedarf gibt. Ein gutes Beispiel dafür ist das LibreOffice-Projekt, das auf seiner deutschen Homepage [1] prominent im Hauptmenü einen Link Mitarbeit anzeigt. Wenn Sie den Link anklicken, öffnet sich ein Menü, dessen Unterpunkte über die verschiedenen Kategorien informieren (Abbildung 1), darunter Design, Entwicklung, Dokumentation, Lokalisierung (Übersetzung) und Marketing.

Abbildung 1: Mitmachen bei LibreOffice? Über den Link "Mitarbeit" finden Sie zahlreiche Betätigungsfelder.

Das Beispiel macht schon deutlich: Es geht auch, aber nicht nur, um Softwareentwicklung (das eigentliche Programmieren) – auch Beiträge auf anderen Gebieten sind oft erwünscht. Je größer das Projekt, desto formalisierter sind allerdings in der Regel die Strukturen, was auf den ersten Blick abschreckend wirken kann. Am anderen Ende der Skala stehen Ein-Personen-Projekte, bei denen Sie einfach dem Entwickler eine Mail schicken und eine Vorschlag unterbreiten.

Was kann man tun?

Um am Programmcode mitzuarbeiten, sollten Sie ein erfahrener Entwickler sein und zudem die Programmiersprache(n) beherrschen, die im Projekt verwendet werden – oft C++, C, Perl und Python. Das wird wohl nur bei den wenigsten unserer Leser der Fall sein. Wie Ihr individueller Beitrag aussehen kann, hängt davon ab, welche Vorkenntnisse Sie mitbringen – was können Sie richtig gut? Hier ein paar Beispiele:

  • Sind Sie fit in deutscher Rechtschreibung und Grammatik? Dann können Sie sich die deutschsprachige Dokumentation eines Programms vornehmen und auf Fehler untersuchen (also ein "Lektorat" oder "Korrektorat" durchführen). Vielleicht ist das Handbuch auch bisher nur auf Englisch verfügbar, dann ist (nach Rücksprache mit den Entwicklern) eine Übersetzung ins Deutsche eine nützliche Hilfe. Größere Aufgaben (wie etwa die Übersetzung eines umfangreichen Handbuchs) werden oft auch von mehreren Helfern parallel erledigt, so dass jeder nur für ein Kapitel zuständig ist.
  • Hat das Projekt nur eine rudimentäre und lieblos gestaltete Webseite? Wenn Sie sich mit Webdesign auskennen, ist das Team vielleicht daran interessiert, dass Sie die Optik der Seite ins 21. Jahrhundert bringen.
  • Wenn Sie den Eindruck haben, dass die Software (zu Unrecht) eher unbekannt ist, könnten Sie mithelfen, Werbematerial zu erstellen, etwa einen Flyer, der die wichtigsten Features der Anwendung zusammenfasst und bebildert [2]. Einen schön gestalteten Flyer können die Teammitglieder auf Messen und Kongressen auslegen und damit Werbung für das Projekt machen.
  • Ist Ihnen ein Fehler im Programm aufgefallen? Wenn Sie die aktuellste Version der Software verwenden, sind die Entwickler an einem Bug-Report (also der Mitteilung des Fehlers) interessiert. Dafür gibt es oft spezielle Webseiten (so genannte Bug Tracker), auf denen Sie nach Registrierung und Anmeldung in der richtigen Kategorie ein "Ticket" anlegen, das den Fehler beschreibt (Abbildung 2).
Abbildung 2: Ein "Bug Tracker" (hier der für die Linux-Version von Gimp) sammelt nicht nur Fehlerberichte, sondern verwaltet auch weitere Schritte bis zur Fehlerbehebung.
  • Wenn die Installation und die Ersteinrichtung des Programms kompliziert sind, stellt das eine Hürde für neue Anwender dar – vielleicht haben Sie selbst einige Stunden damit verbracht, das Programm zum Laufen zu bringen. Dann erstellen Sie doch ein Video-Tutorial, in dem Sie alle nötigen Schritte zeigen und erklären – das können Sie dann auf YouTube hochladen (Abbildung 3) und das Projektteam darüber informieren, damit die Entwickler einen Link auf Ihr Video setzen.
Abbildung 3: Auf YouTube finden sich zahlreiche Tutorials für die Einrichtung und Nutzung von Linux-Programmen. Hier ist auch Platz für Ihre Anleitung.
  • Falls die Benutzeroberfläche des Programms noch nicht auf Deutsch verfügbar ist, die Entwickler es aber für Mehrsprachigkeit vorbereitet haben, können Sie Übersetzungen für Menüpunkte, Dialoge und andere Steuerungselemente erstellen und damit die Gruppe der potenziellen Benutzer vergrößern.

Neben diesen Beispielen finden sich auf vielen Projektwebseiten auch ganz konkrete Hinweise, wo Hilfe benötigt wird. Sie kommen leichter ins Team, wenn Sie auf aktuellen Bedarf reagieren.

Für viele Aufgaben ist es – gerade bei mittelgroßen Softwareprojekten – nötig, dass Sie sich mit den Projektmitgliedern in deren Sprache austauschen können; häufig wird das Englisch sein. Bei sehr großen Projekten gibt es dagegen oft auch eine deutschsprachige Community, so dass auch ohne Englischkenntnisse ein Mitmachen möglich wird.

Kontaktaufnahme

Kleine Projekte haben oft wenig oder keine professionelle Infrastruktur fürs Projektmanagement; in solchen Fällen finden Sie meist eine E-Mail-Kontaktadresse, über die Sie sich bei den Entwicklern melden können. Sobald aber ein größeres Team an der Entwicklung beteiligt ist, gibt es meist Vorgaben, wie eine erste Kontaktaufnahme ablaufen soll, z. B. über eine Mailingliste oder ein Forum.

Mailinglisten sind ein Klassiker der Gruppenkommunikation; auch EasyLinux setzt sie seit über zehn Jahren ein, um Lesern die Möglichkeit zu geben, sich zu Artikeln und anderen Linux-Themen auszutauschen [3]. Vor der aktiven Teilnahme an einer Mailingliste sollten Sie zunächst ältere Beiträge in den Archiven lesen (Abbildung 4): So bekommen Sie ein Gespür dafür, welche Themen auf der Liste diskutiert werden und welcher Umgangston dort üblich ist.

Abbildung 4: Die deutschsprachige Mailingliste des LibreOffice-Dokumentationsteams enthält viele Beiträge.

Beachten Sie nur, dass Sie mit der Anmeldung an einer Mailingliste Ihr Mailaufkommen deutlich erhöhen, falls es viel "Verkehr" auf der Liste gibt. Darum lässt sich bei einigen Listendiensten auswählen, eine tägliche oder wöchentliche Zusammenfassung ("Digest") und nicht jede Nachricht als separate E-Mail zu erhalten.

IRC ist kein einzelnes Chatforum; es gibt diverse Betreiber von IRC-Servern. Wenn ein Projekt die Kommunikation via IRC anbietet, gilt es also zunächst herauszufinden, auf welchem Server sich der Kanal befindet. Bei Softwareprojekten aus der Linux-Welt ist das oft irc.freenode.net vom Freenode-Projekt [4], hier finden sich u. a. die Chatkanäle von LibreOffice. Für die Anmeldung am Server wählt man einen Benutzernamen, der aber schon belegt sein kann – dann hängt das Chatprogramm meist automatisch einen Unterstrich an den Wunschnamen an und versucht es damit erneut.

Jeder Kanal hat einen Namen, der mit einer Raute (#) beginnt, so trifft sich z. B. das LibreOffice-Dokumentationsteam auf #libreoffice-doc, während #linux (Abbildung 5) ein allgemeines, englischsprachiges Linux-Forum ist. Welche Channels ein Projekt nutzt, steht auf der Projektwebseite. Um einen Channel zu betreten, verwenden Sie das Kommando

/join Channelname

das Sie im Konsolenreiter des Programms eingeben; dadurch öffnet sich ein neuer Tab: Dort sehen Sie die Kommunikation im Channel und können auch eigene Nachrichten abschicken, die dann die übrigen Anwesenden erhalten.

Abbildung 5: Im Internet Relay Chat (IRC) gibt es viele Linux-bezogene Chaträume (die dort Channels oder Kanäle heißen).

Freie Software vs. Open Source Software

Sinnvoll ist die Mitarbeit in der Regel nur bei Softwareprojekten, die ihren Quellcode unter eine Lizenz stellen, welche Zugriff auf und Änderungen am Code erlaubt. Denn das signalisiert in der Regel ein Interesse an externer Hilfe. Hier gibt es mit "Freier Software" und "Open Source Software" zwei Begriffe, die häufig verwechselt werden. Linux und viele Programme aus der Linux-Welt fallen in beide Kategorien (sind also frei und quelloffen), darum wird auch in der Presse selten sauber unterschieden. Hinter beiden Softwarekategorien stecken Philosophien, und es gibt viele Lizenzen für die Verbreitung und Nutzung von Software, die zu einer oder beiden passen.

Freie Software

Freie Software [5, 6] gibt dem Anwender diverse Freiheiten, darunter:

  • die Freiheit, das Programm zu beliebigen Zwecken einzusetzen, auf so vielen Rechnern wie gewünscht,
  • die Freiheit, Kopien des Programms an andere Anwender weiterzugeben, auch in veränderter Form,
  • die Freiheit, an den Quellcode der Software zu gelangen, um diesen zu lesen oder zu verändern und so z. B. durch das Lesen zu lernen, wie die Entwickler bestimmte Probleme gelöst haben. Durch das Verändern lassen sich dann dringend benötigte Funktionen ergänzen, welche die "Hauptentwickler" für unwichtig halten.

Open Source Software

Verfechter freier Software stellen den ethischen Aspekt (die Anwender von Software zu befreien) in den Vordergrund, während Open-Source-Freunde eher praxisorientiert denken und den Open-Source-Entwicklungsprozess für technisch überlegen halten – so beschreibt es Stallman in einem Artikel [7]. Auf Open-Source-Seite gibt es die Open Source Initiative, die festgelegt hat, wann Software als quelloffen gilt [8] – einige Kriterien klingen sehr ähnlich wie die von Freier Software:

  • Freie Verteilung ist erlaubt,
  • der Quellcode ist verfügbar und darf nicht "obfuskiert" (also durch spezielle Techniken schwer lesbar gemacht) sein,
  • der Code darf geändert werden,
  • die Lizenz darf keine Einschränkungen enthalten, was die parallele Nutzung und Verbreitung von Software angeht, die nicht unter einer Open-Source-Lizenz steht.

Vor allem durch den letzten Punkt lässt sich Open-Source-Software leichter mit Programmen kombinieren, die eben nicht frei sind. Bei Freier Software ist das in einigen Fällen nicht möglich. (Die Details sind recht technisch.)

Open-Source- und Freie Software werden häufig unter dem Begriff "Free and Open Source Software" (FOSS) zusammengefasst.

Weder noch

Shareware und Freeware haben übrigens (in letzterem Fall trotz der Namensähnlichkeit) nichts mit Freier Software zu tun: Freeware ist eine klassische Softwarekategorie, die es schon zu MS-DOS-Zeiten, also in der 80er Jahren gab. Freeware-Programme zeichnen sich dadurch aus, dass sie kostenlos erhältlich und nicht (gegenüber einer eventuellen Vollversion) eingeschränkt sind. Damit ist z. B. eine Demoversion einer Textverarbeitung, mit der Sie alle Features ausprobieren, aber keine Dokumente speichern oder drucken können, keine Freeware. In den meisten Fällen gibt es Freeware nur in einer Binärversion, also als ausführbares Programm, und der Quellcode ist nicht erhältlich. Wo es doch Sourcen gibt, kann eine Lizenz zum Beispiel das Verändern der Quellen verbieten – das würde nichts am Freeware-Status ändern. Das Open Directory Project verwaltet eine Liste von Freeware-Programmen [9].

Shareware ist Freeware sehr ähnlich, mit dem Unterschied, dass Shareware-Programme meist nur für einen Testzeitraum vollständig (oder ohne Belästigungen) funktionieren; nach Ablauf dieses Zeitraums verschwinden entweder einzelne zentrale Funktionen, oder es erscheinen regelmäßig störende Hinweise, dass doch bitte jetzt eine Lizenz zu erwerben sei – dann handelt es sich um Nagware (engl. "to nag": nerven).

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

EL 11/2017-01/2018: Einstieg in Linux

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Stellenmarkt

Aktuelle Fragen

Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 0 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...
Für Linux programmieren
Alexander Kramer, 25.11.2017 08:47, 3 Antworten
Ich habe einen Zufallsgenerator entworfen und bereits in c++ programmiert. Ich möchte den Zufalls...