Meine erste PR (Pull Request) auf Github

Nun, ich werde mir erlauben, meine Komfortzone ein wenig zu verlassen, um eine andere meiner Komfortzonen zu betreten  FOSS. In diesem Beitrag beabsichtige ich, wie bei Gentoo, zunächst ein wenig von meiner persönlichen Erfahrung zu teilen und sie daher ein wenig zu begeistern, um in die Welt der Projekte und Beiträge eintauchen zu können. Beginnen wir ohne weiteres:

FOSS

Freie und Open Source Software (für sein Akronym in Englisch) ist eine aktuelle, die umfasst sowohl Open Source- als auch freie Softwareprojekte. Ich habe nicht die Absicht, die Unterschiede zwischen den beiden zu diskutieren, da ich es bereits wiederholt getan habe, auch wenn ich alles dem gleichen Herrn Stallman erklären musste, der mich per E-Mail auf einer der im Internet reichlich vorhandenen Projektlisten kontaktiert hat. Ein Artikel, über den ich mich sehr freue und den ich mit Ihnen teilen werde, befindet sich auf der offiziellen GNU-Website und wird wie viele seiner Dokumente in verschiedene Sprachen übersetzt. Ich füge den Link hinzu und erlaube mir, einen der Absätze zu zitieren, die meine Aufmerksamkeit am meisten auf sich ziehen.

https://www.gnu.org/education/edu-schools.es.html

Der tiefste Grund für die Verwendung freier Software in Schulen ist die moralische Erziehung. Wir erwarten von den Schulen, dass sie grundlegende Fakten und nützliche Fähigkeiten vermitteln, aber das ist nur ein Teil ihrer Rolle. Die grundlegende Aufgabe der Schulen besteht darin, eine gute Staatsbürgerschaft zu vermitteln, einschließlich der Gewohnheit, anderen zu helfen. Im Computer bedeutet dies, Software-Sharing zu lehren. Schulen, die mit dem Kindergarten beginnen, sollten ihren Schülern sagen: „Wenn Sie Software zur Schule bringen, sollten Sie sie mit anderen Kindern teilen. Und Sie sollten den Quellcode in der Klasse zeigen, falls jemand lernen möchte. Daher ist es nicht gestattet, unfreie Software in die Schule zu bringen, es sei denn, sie wird für Reverse Engineering-Arbeiten verwendet.

Wie Sie sehen können, Freie Software ist ein Stream mehr als technisch, würde ich moralisch sagen. Es ist, als würde man dieser Welt einen Schritt näher kommen, in der Selbstsucht und Stolz auf der Seite stehen und wir Menschen haben können, die andere wirklich teilen und sich um sie kümmern.

Nun, ich möchte Sie nicht zu begeisterten Nutzern freier Software machen, aber ich ermutige Sie, einen Blick auf die Dokumente zu werfen und zu sehen, was Sie Gutes finden können 

Projekte

Jede Software, ob Open Source oder freie Software, hat ein Projekt und wahrscheinlich eine Community, die sich darum dreht. Dies sind diejenigen, die es pflegen, verbessern, schützen usw. Je größer das Projekt ist, desto erwartungsgemäß werden die Strukturen in Bezug auf Prozesse und Formen immer spezifischer, und dies ist natürlich richtig, da die Fehler umso größer sein können, je größer die Anzahl der Teilnehmer ist, wenn sie nicht gut verstanden werden Definierte Möglichkeiten zur Zusammenarbeit und die entsprechenden Prozesse.

Die wichtigste Faustregel bei der Auswahl eines Beitrags zu einem FOSS-Programm lautet USAR sagte Programm  Und was ich sage, klingt vielleicht etwas albern, aber es macht tatsächlich sehr viel Sinn. Wie sind viele der Funktionen Was beinhaltet ein Programm? Gut aus der Notwendigkeit heraus. Jede vorhandene Funktionalität basiert auf der Tatsache, dass jemand (eine oder mehrere Personen) diese Funktion benötigt. Aus diesem Grund ist dies ein wesentlicher Schritt, wenn Sie eine Community teilen und mit ihr zusammenarbeiten möchten verwendet was sie entwickeln.

Müssen Sie ein erfahrener Programmierer sein?

Ich möchte diesen Teil mit einer einfachen Frage beginnen. Wie wird man ein erfahrener Programmierer? Hier werden mir einige sagen, gut Code schreibenIch sage all diesen Leuten, dass dies nicht der richtige Ansatz ist. Warum?

Das Lesen von Code macht Sie zu einem besseren Programmierer

Denken Sie darüber nach, bevor Sie fortfahren. Welcher Schriftsteller wurde geboren und wusste, wie man schreibt? Ist es nicht das erste Mal zu lernen, zu lesen, das Gehirn mit vielen anderen Autoren zu pflegen und so irgendwann in der Lage zu sein, etwas mit Inhalt und Wert zu schreiben? Genau so ist es mit Code, man muss viel lesen lernen, bevor man es lernt schreiben.

Ihr Code ist wahrscheinlich nicht so gut

Für diejenigen, die seit vielen Jahren programmieren, tut es mir leid, wenn ich damit ihre Vorstellungen von dem, was sie in all dieser Zeit erreicht haben, zerstöre, aber es ist wahr. Für diejenigen von uns, die die Gelegenheit hatten, an wirklich großen Projekten zusammenzuarbeiten, ist das erste, was Sie schätzen können, dass es viele, viele Menschen gibt, die viel talentierter sind als einer. Dies ist natürlich kein Nachteil, sondern ein Punkt, an dem die Unterstützung eines Projekts Sie zu einem besseren Entwickler macht.

Wenn Sie jeden Tag Hunderte oder vielleicht Tausende von Augen haben, die Ihren Code überprüfen, werden Sie feststellen, in welchen Aspekten Ihre Logik nicht die beste von allen ist. Der Hauptvorteil davon ist, dass Ihr Gehirn im Laufe der Zeit neue Vorgehensweisen entdeckt und die "kindischen" Fehler, die Sie zu Beginn Ihrer Teilnahme gemacht haben, zu einer vagen Erinnerung werden.

Damit möchte ich nur die Tatsache bekräftigen, dass ein Projekt gut für Sie ist, sowohl um das Lesen zu lernen als auch um das Schreiben von Code zu lernen, was Sie auf lange Sicht zu einem Projekt machen wird erfahrener Programmierer.

Und ... was ist, wenn ich kein Programmierer bin?

Dies ist ein Punkt, den ich ebenfalls ansprechen möchte, da viele Leute denken, dass Sie nichts tun können, um zu helfen, wenn Sie keinen Code schreiben. Dies ist einer der schädlichsten urbanen Mythen da draußen.

Viele Projekte erfordern mehr Personal für Nicht-Code-Themen als für die Erstellung von Code. Vielleicht ist im Marketing, in der Werbung oder im Recht, sogar bei der Veranstaltungsplanung, Hilfe immer willkommen. Durch die Teilnahme an diesen Projekten können Sie nicht nur neue Leute kennenlernen, sondern auch neue Denkweisen erlernen und gleichzeitig neue Erfahrungen austauschen.

Wie nehme ich teil?

Wenn Sie bereits hier sind, hoffe ich, dass Sie zumindest ein wenig neugierig auf die Teilnahme an FOSS-Projekten sind  . Zunächst muss man verstehen, dass jedes Projekt und jede Community ihren eigenen Prozess hat. Viele davon kommen an unterschiedlichen Punkten zusammen und weichen an anderen voneinander ab, aber am Ende des Tages wird die Community des Programms der erste Bezugspunkt für die Teilnahme sein USA.

Homepage

Jede Webseite hat einen eigenen Abschnitt von Einen Beitrag leisten. Und wenn sie es nicht haben, ist das das Erste, womit Sie helfen können.  Lernen Sie den Prozess kennen, sprechen Sie mit der Community und schreiben Sie einen kurzen Text, damit Sie andere durch den Prozess führen können.  Wenn sie bereits eines haben, aber es ist nicht auf Spanisch, denn Sie können sich ein Wochenende Zeit nehmen, um es zu übersetzen, und auf diese Weise helfen Sie Ihrem Projekt und gleichzeitig allen Spanischsprachigen  Zwei Fliegen mit einer Klappe 

Mailinglisten

Ein Großteil der Kommunikation der Communities erfolgt über Mailinglisten. Es ist notwendig, sich anzumelden und sich täglich ein paar Minuten Zeit zu nehmen, um sie zu lesen. Vielleicht werden Sie es zunächst nicht verstehen, aber ich versichere Ihnen, dass Sie im Laufe der Tage oder Wochen verstehen werden, was passiert. Bevor Sie es merken, werden Sie auf der Liste stehen, und es wird nicht lange dauern, bis die Leute Sie nach Ihrer Meinung oder möglichen Lösungen fragen (natürlich nur, wenn Sie sich Mühe geben  ).

Github

Dies ist ein entscheidender Punkt für alle, die an einem FOSS-Projekt zusammenarbeiten, den Umgang mit Github, Gitlab, Bitbucket oder einem Host, auf dem sich der Repository-Code befindet, erlernen möchten. Auf diese Weise können Sie die Community spürbar verbessern.

IRC / Gitter / Telegramm

IRC (Internet Relay Chat) gibt es seit den Anfängen des Internets. So wurde vor WhatsApp und Smartphones kommuniziert. Und wie erwartet verfügen viele Projekte über ihre IRC-Kanäle, in denen Sie Fragen stellen und über Projekt- oder Community-Themen chatten oder spontan chatten können. Seien Sie immer vorsichtig, da Sie nie wissen, was Sie im Internet finden

Meine erste PR

Nun, hier werde ich nicht im Detail erklären, wie eine Pull-Anfrage gestellt wird. Ich werde dies für einen anderen Beitrag belassen, wenn Sie daran interessiert sind, mit der Teilnahme zu beginnen.

Als Programmierer

Besitzen. Christopher Diaz Riveros

Als Nicht-Programmierer

Besitzen. Christopher Diaz Riveros

Der erste war ein Sicherheitsfehler, in den ich einen Patch integriert habe, um ihn zu beheben. Der zweite ist Teil von Kapitel 7 des Git-Buch. Ich arbeite immer noch an beiden Projekten, ich habe sogar kürzlich die vollständige Übersetzung des Programms abgeschlossen git ins Spanische. (Wird in Version 2.15 veröffentlicht )

Wie Sie sehen, handelt es sich um kleine Beiträge, nicht mehr als 100 Codezeilen (von denen einige nur das kopierten und einfügen, was bereits in einer neuen Datei vorhanden war), aber sie sind es mi Beitrag zum Projekt  und es sind Dinge, die ich  private Verwendung täglich.

Wie Sie sehen, ist das Gefühl unbeschreiblich: Wenn Sie Ihren Namen auf etwas sehen, das Sie verwenden, wissen Sie, dass Sie dabei vielen Menschen helfen, und lernen, es jeden Tag besser zu machen! Kann es etwas Besseres als das geben? 

Fazit:

Ich habe mir vorgenommen, diesen Beitrag kurz zu halten, aber ich glaube nicht, dass er so kurz war, wie ich gehofft hatte  . Ich hoffe jedenfalls, dass Sie dadurch ein wenig neugierig geworden sind, mit der Zusammenarbeit an FOSS-Projekten zu beginnen. Und bald werden Sie Ihre Commits in vielen Programmen sehen können, die Sie täglich verwenden.  Es tut mir leid, dass ich so viel Wert darauf lege, aber Sie müssen verstehen, dass niemand etwas verbessern kann, das er nicht kennt, und deshalb ist es wichtig, dies zu tun in der Lage sein, es zu wissen, bevor man sich verbessert 

Grüße