Open-Source-Beitrag 101

Dec 01 2022
Wie man anfängt?
Hintergrundgeschichte ⏮ Als Mentor bei ADPList werde ich oft nach meinen Open-Source-Beiträgen als Apache-Committer gefragt und wie man mit Github anfängt. Die Ernennung zum Apache Committer (apache/mxnet#19512) war einer meiner größten Erfolge in der Welt der Programmierung und Technologie.
Foto von Richy Great auf Unsplash

Hintergrundgeschichte ⏮

Als Mentor bei ADPList werde ich oft nach meinen Open-Source-Beiträgen als Apache-Committer gefragt und wie man mit Github loslegen kann.

Die Ernennung zum Apache Committer ( apache/mxnet#19512 ) war einer meiner größten Erfolge in der Welt der Programmierung und Technologie. Ich möchte die Erkenntnisse aus meiner Zeit mit der Open-Source-Community teilen. Dies veranlasste mich, Software-Nachwuchs-Profis und Informatik-/Eng-Universitätsstudenten zu betreuen. Dieser Artikel ist ein Versuch, die Frage zu beantworten –

Was würde ich heute im November 2022 tun, wenn ich meine Reise in Open Source beginnen würde?

‍♀ Was bedeutet Open Source?

Github ist das Aushängeschild des Open-Source-Universums und hat den Begriff von Repositories, Pull-Requests und Versionskontrolle populär gemacht. Bei Open Source geht es im Wesentlichen um die Entzokratisierung des Zugriffs auf den Quellcode. Es geht darum, die mit Geheimhaltungsvereinbarungen [NDAs] und restriktiven Urheberrechten und Marken ™️ verklebten Mauern einzureißen. Dies bedeutet nicht, dass Open-Source-Code keine Lizenzen oder Urheberrechte hat. Es geht darum, die Freiheit zu schaffen, Wissen und Informationen öffentlich zu teilen, mit der Sicherheit einer korrekten Zitierung und Referenzierung. Open-Source ist in diesem Sinne ein großartiger Gleichmacher. Menschen aus der ganzen Welt können frei lesen, kommentieren, schreiben und sich ausdrückenüber die Software, die in der Open-Source-Welt entwickelt wird. Es ist diese Meinungsfreiheit, das grundlegende Menschenrecht, das sich in der Welt der Software und Technologie in Form von „Open Source“ manifestiert.

‍♂️Was beinhaltet ein Open-Source-Beitrag?

Okay, jetzt sind wir uns einig, was den Begriff „Open Source“ angeht. Welche Aktivitäten sind mit OS-Beiträgen verbunden?

Folgende Aktionen fallen meiner Meinung nach unter das Dach der OS-Beiträge

  1. Erstellen Sie Probleme, Fehler und stellen Sie Fragen
  2. Funktionsanfragen stellen [durch Issues, Jira oder Projektverfolgungssoftware]
  3. Ideen entwickeln und Vorschläge machen
  4. Kommentieren und an Diskussionen teilnehmen
  5. Fragen beantworten
  6. Fehler beheben
  7. Überprüfen Sie Code, der von anderen Mitgliedern der Community entwickelt wurde
  8. Fügen Sie Tests hinzu, verbessern Sie die Test-/CI-/CD-Infrastruktur
  9. Neuen Funktionscode schreiben
  10. Nehmen Sie an virtuellen/persönlichen Veranstaltungen teil
  11. Evangelisieren Sie die Bibliothek/das Produkt/die Dienstleistung
  12. Kommunizieren Sie aktiv in den Diskussions-/Chatkanälen/Entwicklerlisten
  13. Stimmen Sie ab und beteiligen Sie sich am Veröffentlichungsprozess [von Bibliothek/Produkt/Framework/Service]

Wie soll ich anfangen?

Ich würde 1 der folgenden 2 Routen verfolgen

  1. Berühmtes Projekt von renommierten Open-Source-Organisationen
  2. Projekte, zu denen ich den meisten Kontext habe

Schlagen Sie bekannte Projekte nach, die von berühmten Open-Source-Organisationen unterstützt werden

Berühmte Open-Source-Organisationen – GNOME, PSF, ASF, DF, LF
  • Apache Software Foundations – hadoop, hive, hbase, mxnet, cassandra
  • The Document Foundation – LibreOffice [Open Office]-Suite
  • GNOME Foundation – berühmte GNOME-Desktopumgebung
  • Linux Foundation – berühmt für UNIX-basiertes Betriebssystem
  • Mozilla Foundation – berühmt für Browser

Eine einfache Möglichkeit, einen bedeutenden Einfluss auf die Entwicklergemeinschaft zu nehmen, besteht darin, dass Sie bereits über ein eingebautes mentales Modell des zugrunde liegenden Produkts/Frameworks/Dienstes verfügen. Ich würde meine Energie kanalisieren, um diese oben genannten Open-Source-Beiträge zu leisten, indem ich das Wissen und den Kontext, den ich bisher als Entwickler aufgebaut habe, wirksam einsetze.

Dies könnte unterschiedliche Projekte für unterschiedliche Entwickler bedeuten, offensichtlich basierend auf dem Software-Stack, an den sie am meisten gewöhnt sind.

Ich werde gängige Open-Source-Projekte basierend auf Sprachen auflisten:

Quelle: octoverse.github.com | 2022

Top 10 Javascript-Projekte von Technical Geek

  1. Reagiere über Facebook/Meta
  2. Tensorflow.js von TF [ursprünglich von Google]
  3. Node.js
  4. Angular.js
  5. jQuery
  6. Knotenpaket-Manager [npm]
  7. Vue.js
  8. Ember.js
  9. Meteor.js
  10. Polymer
  1. Tensorflow – tiefes Lernen
  2. matplotlib — Datenvisualisierung
  3. Flask — Webentwickler
  4. Django von der Django Software Foundation
  5. PyTorch — ursprünglich von Facebook/Meta
  6. MXNet von der Apache Software Foundation
  7. Ansible – Bereitstellungs-, Betriebs- und Orchestrierungstool
  8. Anfragen – HTTP-Bibliothek von Python Software Foundation
  9. Scikit-learn – ML in Python
  10. Pandas – Datenwissenschaft/Datenanalyse
  1. OpenJDK
  2. RXJava
  3. Apache Pinot – OLAP-Datenspeicher
  4. Hazelcast – verteilte Berechnungs- und Speicherplattform
  5. Google Java-Format – Google Java-Stil
  6. jOOQ – SQL für Java
  7. Frühlingsstiefel
  8. Glide – Zwischenspeichern und Generieren von Bildern für Android
  9. Guava – Java-Kernbibliotheken von Google
  10. mockito – Mock, Test-Framework
  1. Suche bei Google mit den Schlüsselwörtern „Top 10 Open-Source-Projekte“ und „Sprache“
  2. Suche auf Github —https://github.com/search?q=java+language%3AJava&type=repositories&l=Java