Werden Sie Programmierer für offene Software

Autor: Morris Wright
Erstelldatum: 24 April 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Полный обзор программатора ключей TanGo, купленного в китае
Video: Полный обзор программатора ключей TanGo, купленного в китае

Inhalt

Das Schreiben und Verwenden offener Software ist nicht nur eine Form der Programmierung (in der Welt der Programmierer auch als "Hacking" bezeichnet), sondern eine Art Philosophie. Während Sie nur eine Programmiersprache kennen müssen, um programmieren zu können, geht es in diesem Artikel darum, wie Sie der Community beitreten, Freunde finden, an großartigen Projekten zusammenarbeiten und ein angesehener Spezialist mit einem Profil werden können, das Sie anderswo nicht bekommen können. In der Welt der offenen Software können Ihnen ganz einfach Aufgaben zugewiesen werden, die nur die Elite-Programmierer der obersten Ebene in einem Unternehmen ausführen dürfen. Überlegen Sie, wie viel Erfahrung Ihnen dies bringen kann. Sobald Sie sich jedoch entschieden haben, ein offener Softwareprogrammierer zu werden, müssen Sie bereit sein, Zeit in dieses Ziel zu investieren. Dies gilt auch, wenn Sie bereits IT-Student sind. Wohlgemerkt, in diesem Artikel geht es nicht darum, wie man ein Hacker oder Cracker wird.

Schreiten

  1. Laden Sie eine gute Unix-Distribution herunter. GNU / Linux ist eines der beliebtesten Programme, aber auch GNU Hurd, BSD, Solaris und (in gewissem Umfang) Mac OS X werden häufig verwendet.
  2. Erfahren Sie, wie Sie die Befehlszeile verwenden. Mit Unix-ähnlichen Betriebssystemen können Sie viel mehr tun, wenn Sie die Befehlszeile verwenden.
  3. Lernen Sie einige beliebte Programmiersprachen, bis Sie ein mehr oder weniger zufriedenstellendes Niveau erreicht haben. Andernfalls können Sie keinen Code (der wichtigste Teil eines Softwareprojekts) zur offenen Software-Community beitragen. Einige Quellen schlagen vor, mit zwei Sprachen gleichzeitig zu beginnen: einer Systemsprache (C, Java oder ähnlich) und einer Skriptsprache (Python, Ruby, Perl oder ähnlich).
  4. Um produktiver zu sein, benötigen Sie NetBeans oder eine ähnliche integrierte Entwicklungsumgebung.
  5. Erfahren Sie, wie Sie einen erweiterten Editor wie vi oder Emacs verwenden. Sie haben eine höhere Lernkurve, aber Sie können viel mehr mit ihnen machen.
  6. Erfahren Sie mehr über die Versionskontrolle. Die Versionskontrolle ist wahrscheinlich das wichtigste Werkzeug der Zusammenarbeit für die gemeinsame Softwareentwicklung. Verstehen, wie Patches erstellt und angewendet werden. Der größte Teil der offenen Softwareentwicklung in der Community erfolgt durch die Erstellung, Diskussion und Anwendung verschiedener Patches.
  7. Finden Sie ein geeignetes, kleines offenes Softwareprojekt, an dem Sie problemlos teilnehmen können, um Erfahrungen zu sammeln. Die meisten dieser Projekte sind derzeit auf SourceForge.net zu finden. Ein geeignetes Projekt sollte Folgendes umfassen:
    1. Verwenden Sie die Programmiersprache, die Sie kennen.
    2. Seien Sie aktiv mit den neuesten Versionen.
    3. Bestehend bereits aus drei bis fünf Entwicklern.
    4. Versionskontrolle verwenden.
    5. Haben Sie einen Teil, mit dem Sie sofort beginnen können, ohne den vorhandenen Code zu stark ändern zu müssen.
    6. Neben dem Code verfügt ein gutes Projekt auch über aktive Diskussionslisten, Fehlerberichte, Abrufe und Implementierungen von Verbesserungsanforderungen und ähnliche Aktivitäten.
  8. Wenden Sie sich an den Administrator des ausgewählten Projekts. In einem kleinen Projekt mit wenigen Entwicklern wird Ihre Hilfe normalerweise sofort angenommen.
  9. Lesen Sie die Regeln des Projekts sorgfältig durch und befolgen Sie sie mehr oder weniger. Die Regeln des Programmierstils oder die Notwendigkeit, Ihre Änderungen in einer separaten Textdatei zu dokumentieren, mögen zunächst lächerlich erscheinen. Der Zweck dieser Regeln besteht jedoch darin, gemeinsame Arbeit zu ermöglichen - und die meisten Projekte arbeiten mit ihnen.
  10. Arbeiten Sie mehrere Monate an diesem Projekt. Hören Sie genau zu, was der Administrator und andere Projektmitglieder zu sagen haben. Neben dem Programmieren gibt es noch viel zu lernen. Aber wenn Ihnen etwas wirklich nicht gefällt, hören Sie einfach auf und wechseln Sie zu einem anderen Projekt.
  11. Bleib nicht zu lange im Untergrundprojekt stecken. Sobald Sie in der Lage sind, erfolgreich in diesem Team zu arbeiten, ist es Zeit, nach etwas Ernsthafterem zu suchen.
  12. Suchen Sie nach einer seriösen Open-Software oder einem Open-Source-Projekt auf hoher Ebene. Die meisten dieser Projekte gehören GNU- oder Apache-Organisationen.
  13. Da wir hier einen ernsthaften Sprung machen, müssen Sie einen viel weniger herzlichen Empfang berücksichtigen. Sie werden höchstwahrscheinlich aufgefordert, zum ersten Mal ohne direkten Schreibzugriff auf das Code-Repository ausgeführt zu werden. Das vorherige Untergrundprojekt hätte Ihnen jedoch viel beibringen müssen. Nachdem Sie mehrere Monate lang einen produktiven Beitrag geleistet haben, können Sie die Rechte beanspruchen, die Sie für erforderlich halten.
  14. Nehmen Sie eine ernste Aufgabe an und arbeiten Sie sie aus. Es ist Zeit. Sei nicht ängstlich. Fahren Sie fort, auch wenn Sie feststellen, dass die Aufgabe viel schwieriger ist als ursprünglich angenommen. In diesem Schritt ist es wichtig, nicht aufzugeben.
  15. Wenn Sie können, bewerben Sie sich bei Googles "Summer of Code", um etwas Geld in dieses Abenteuer zu stecken. Aber keine Sorge, wenn die Bewerbung nicht angenommen wird, da sie weit weniger finanzierte Stellen haben als es wirklich gute Programmierer gibt.
  16. Suchen Sie eine geeignete Konferenz in der Nähe ("Linux-Tage" oder ähnliches) und versuchen Sie, Ihr Projekt dort zu präsentieren (das ganze Projektund nicht nur den Teil, den Sie programmieren). Nachdem Sie erwähnt haben, dass Sie ein ernsthaftes Free / Open Source-Projekt darstellen, werden Sie von den Organisatoren häufig von der Konferenzgebühr befreit (andernfalls ist die Konferenz wahrscheinlich ohnehin ungeeignet). Bringen Sie Ihren Linux-Laptop (falls vorhanden) mit und führen Sie einige Demos aus. Fragen Sie den Projektmanager nach den Materialien, mit denen Sie Ihre Präsentation oder Ihr Poster vorbereiten können.
  17. Durchsuchen Sie das Internet nach Ankündigungen zu einem nahe gelegenen Installationsereignis und versuchen Sie zunächst, als Benutzer teilzunehmen (beachten Sie alle auftretenden Probleme und wie Hacker sie beheben) und bieten Sie an, beim nächsten Mal Programme zu installieren.
  18. Schließen Sie die Aufgabe ab, überprüfen Sie Ihre Arbeit mit automatischen Tests und tragen Sie zum Projekt bei. Du bist fertig! Versuchen Sie sicher, einige der Programmierer des Projekts persönlich zu treffen und gemeinsam ein Glas Bier zu trinken.
  19. Schauen Sie sich zum besseren Verständnis ein reales Beispiel für die Entwicklungsgeschichte eines offenen Softwareprojekts an (siehe oben). Jede ansteigende Kurve repräsentiert einen Beitrag (Codezeilen) eines einzelnen Entwicklers. Entwickler neigen dazu, mit zunehmendem Alter weniger aktiv zu werden, aber das Projekt beschleunigt sich oft, selbst wenn neue Leute hinzukommen. Wenn Sie also mit nützlichen Fähigkeiten in der Tasche ankommen, gibt es keine Gründe, warum das Team Sie nicht einladen sollte.

Tipps

  • Bevor Sie eine Frage zu den praktischen Anforderungen innerhalb des Projekts stellen, suchen Sie nach der Antwort in der Projektdokumentation und im Mailinglistenarchiv.
  • Versuchen Sie immer wieder, alle von Ihnen begonnenen Programmierarbeiten abzuschließen. Kann nicht gebaut werden, kann nicht laufen, System stürzt ab? Dort sein Gründe für alles, und wenn Sie den Quellcode haben, bedeutet dies normalerweise, dass Sie das System haben Gut kann Sie zwingen, zu tun, was Sie wollen, insbesondere mit Hilfe einiger Online-Recherchen. Diese Regel hat natürlich Grenzen, aber es ist in der Tat wichtig, niemals zu leicht aufzugeben.
  • Nennen Sie sich erst einen Programmierer (oder Hacker), nachdem Sie von einigen der echten Hacker-Community als solcher erkannt wurden.
  • Wählen Sie zu Beginn eine Klasse, ein Modul oder eine andere Einheit, in der derzeit niemand sehr aktiv arbeitet. Die Zusammenarbeit in derselben Klasse oder sogar in einer Position erfordert von allen Seiten mehr Fähigkeiten und Sorgfalt.
  • Die Arbeitgeber einiger Hacker / Programmierer scheinen motiviert genug zu sein, Beiträge während der Arbeitszeit zuzulassen (normalerweise, weil die Institution das vom Programmierer entwickelte Free / Open Source-Programm verwendet). Denken Sie, vielleicht können Sie auf diese Weise zumindest einen Teil der benötigten Zeit erhalten.
  • Wenn Sie immer noch nicht genug Vertrauen in sich selbst haben, beginnen Sie mit einem Teil des Codes, von dem Sie glauben, dass er fehlt und von Grund auf neu geschrieben werden kann. Änderungen am vorhandenen Code werden viel eher kritisiert.

Warnungen

  • Ihr Hacker-Status innerhalb des Community-Projekts spiegelt eher Ihre Gegenwart als Ihre Vergangenheit wider.Wenn Sie eine Empfehlung oder ähnliches vom Projektleiter wünschen, fragen Sie bitte, ob Sie noch aktiv mitarbeiten.
  • Lassen Sie sich nicht auf Optimierungen für kleinen Code, zusätzliche Kommentare, Verbesserungen des Codierungsstils und andere ähnliche "kleine" Dinge ein. Dies kann auf weitaus mehr Kritik stoßen als auf einen ernsthaften Beitrag. Stattdessen können Sie diese Änderungen in einen einzelnen "Bereinigungs" -Patch aufnehmen.
  • Wenn Sie die offenen Software-Hacker persönlich treffen möchten, lassen Sie Ihren Windows-Laptop zu Hause. Mac OS wird etwas mehr toleriert, ist aber auch nicht wirklich willkommen. Wenn Sie Ihren Laptop mitbringen, muss Linux oder ein anderes Betriebssystem ausgeführt werden, das als "offene Software" eingestuft wird.
  • Wenn Ihr E-Mail-Client HTML-Nachrichten unterstützt, sollten Sie diese Funktion deaktivieren. Fügen Sie niemals Dokumente hinzu, die nur kommerzielle Software (wie Microsoft Word) ordnungsgemäß öffnen kann. Hacker halten dies für beleidigend.
  • Nehmen Sie nicht freiwillig an Projekten eines Unternehmens teil, dessen Code nicht durch eine genehmigte Open Source-Lizenz abgedeckt ist. In solchen Fällen bleiben die wirklich wichtigen Teile des Projekts wahrscheinlich hinter verschlossenen Türen des Eigentümers und verhindern, dass Sie etwas Nützliches lernen.
  • Vermeiden Sie Fragen zu den Grundlagen der Programmierung oder zu Programmierwerkzeugen. Die Zeit eines offenen Softwareprogrammierers ist kostbar. Besprechen Sie stattdessen die Grundlagen des Programmierens in Amateur- oder Anfängerprogrammierergruppen.
  • Etablierte und äußerst erfolgreiche Projekte haben möglicherweise schriftliche oder ungeschriebene Richtlinien, wonach Ihre Arbeit niemals erstattet wird (kein Geld, keine Fähigkeit, sich selbst zu fördern, kein erhöhter Status, unabhängig von Ihrem Beitrag usw. - siehe: Do_not_expect_reward Wikipedia). Wenn Sie dem nicht zustimmen können, halten Sie sich an häufigere Projekte, die sich eine solche Einstellung nicht leisten können.
  • Starten Sie kein eigenes Projekt, es sei denn, Sie möchten immer in stolzer Einsamkeit verbringen. Aus dem gleichen Grund ist es besser, nicht zu versuchen, ein bereits aufgegebenes Projekt wiederzubeleben, das sein vorheriges Team bereits verloren hat.
  • Bei einem informellen Treffen über das Projekt, zu dem Sie nie einen Code beigetragen haben, haben Sie das unangenehme Gefühl, völlig ignoriert zu werden. Keine Sorge, einige Hacker können später gute Freunde werden, nachdem Sie sich ihren Respekt mit Ihrem eigenen Code verdient haben.
  • Große offene Softwareprojekte, insbesondere in der GNU-Domäne, behandeln Ihren Job nicht als Ihr persönliches Geschäft. Nachdem Sie den Job in einem Software-Unternehmen erhalten haben, bitten sie Ihren Arbeitgeber, bestimmte Vereinbarungen [1] zu unterzeichnen, die das Unternehmen unterzeichnen wird oder nicht. Dies kann Sie zwingen, ein Projekt mit weniger strengen Anforderungen auszuwählen.

Notwendigkeiten

  • Linux. Viele offene Softwareprojekte sind unter Windows komplizierter oder überhaupt nicht richtig zu erstellen. Dies gilt insbesondere für fortgeschrittene Projekte, die sich mit der Programmierung von Mobiltelefonen, USB-Sticks und anderen Geräten befassen.
  • Ein Computer mit einer relativ guten Internetverbindung. Wenn Sie mit Windows dual booten möchten, ist eine zweite Festplatte oder Partition für Linux möglicherweise eine gute Lösung.
  • Grundkenntnisse in mindestens einer Programmiersprache und die starke Absicht, mehr zu lernen. Die derzeit beliebtesten Sprachen scheinen C und Java zu sein.
  • Eine beträchtliche Zeitspanne, mindestens fünf Stunden pro Woche (ein typischer Hardcore-Programmierer trägt satte 14 Stunden bei).
  • Die formale IT-Ausbildung erleichtert Ihnen den Weg erheblich, aber das ist es nicht Eine obligatorische Anforderung, und keine echte Hacker-Community wird Sie jemals danach fragen. Programmierer / Hacker beurteilen sich gegenseitig nach der Programmierung einer Person, nicht nach falschen Kriterien wie Noten, Alter, Rasse oder Position. Wohlgemerkt, mindestens 60% der Open-Source-Hacker, die Ihre Patches bewerten, haben den "richtigen" Hochschulabschluss und erlauben Ihnen nicht, Unsinn in das Projekt einzubringen.
  • Während der letzten Schritte (Konferenz und Installationsparty) können Sie von Ihrem eigenen Laptop profitieren. Aber es ist nicht in Ordnung, zu Hause daran zu arbeiten. Kaufen Sie also nur eine, wenn Sie sich die zweite Maschine leisten können.
  • Der beschriebene Weg zum Open-Source-Software- "Hacker" dauert mindestens zwei Jahre.