Mitmachen bei einem Open Source Projekt [geschlossen]

19

Ich steige in mein Abschlussjahr im Bereich Computertechnik ein und habe für diesen Sommer und Herbst ein Praktikum bekommen. Da ich keine Hausaufgaben machen werde, würde ich diese Gelegenheit gerne nutzen, um mich an einem Open-Source-Projekt zu beteiligen. Ich beherrsche C, C ++, Java und Python. Ich bin auch einigermaßen mit Linux vertraut, da ich es derzeit auf meinem Laptop verwende und mich in allen Kursen dieses Semesters darauf konzentriere.

Ich dachte darüber nach, mir Android oder Ubuntu anzuschauen, aber in der Vergangenheit fühlte ich mich ein wenig überwältigt. Hat jemand einen Rat? Sie interessieren sich für ein gutes Projekt, für einen Einstieg und für die Frage, ob ich wirklich viel beitragen kann.

Und wie oft werden letztendlich die Veränderungen der Menschen tatsächlich akzeptiert? Wie oft würde ich Code schreiben, um ihn abzulehnen?

tl: dr Suche nach mehr Programmiererfahrung, indem du zu einem Open Source-Projekt beiträgst. Neu in der Szene brauchen Beratung.

Tarmon
quelle
Ich würde sagen, hier zu landen lohnt sich auf jeden Fall!
squillman
6
Klingt nach einer guten Idee, aber überprüfen Sie die "Moonlighting" -Regeln in dem Unternehmen, in dem Sie Ihr Praktikum absolvieren. Einige Orte, insbesondere wenn es sich um Softwaregeschäfte handelt, sind sehr restriktiv, was Sie tun können - selbst in Ihrer Freizeit und auf Ihrem eigenen PC.
Steve
1
Vielleicht sollten Sie eine neue Programmiersprache lernen, die aussagekräftiger ist als die von Ihnen genannten. Wie Haskell oder Scala. Dann arbeite an einem Open Source Projekt.
Mrsteve

Antworten:

15

+1 an Steve Haigh für die Erwähnung von Moonlighting.

Wenn Sie für einen Software-Shop arbeiten, befinden Sie sich möglicherweise in einer Situation, in der Ihr Arbeitgeber das Eigentum an der Software beansprucht, an der Sie in Ihrer Freizeit gearbeitet haben. Wenden Sie sich vor Beginn an Ihren Arbeitgeber, um die Richtlinien für Mondschein in Ihrem Unternehmen zu klären.

Ein guter Ort, um loszulegen, könnte OpenHatch sein . Sie sind eine Website, die Menschen dabei hilft, sich auf Open Source-Projekte einzulassen. Sie können Ihnen eine Liste mit "mundgerechten" Fehlern zur Verfügung stellen, um mit den Projekten zu beginnen, die sich bei ihnen angemeldet haben, und Sie mit anderen Mitwirkenden in Kontakt bringen, die bereit sind, Sie auf der zu betreuen Projekt und / oder Sprache Ihrer Wahl.

Die Upstream-Akzeptanz Ihrer Patches hängt fast immer von der Qualität des Patches ab und davon, ob Testfälle vorliegen. Tatsächlich akzeptieren viele Projekte keine Patches, es sei denn, sie enthalten einen Test zur Überprüfung des Patches.
Da die Qualität Ihres Codes subjektiv beurteilt werden muss, sollten Sie darauf vorbereitet sein, mit konstruktiver Kritik von vorgeschalteten Betreuern zusammenzuarbeiten, um Ihren Code zu verbessern.

Jeff Welling
quelle
1
Ihre Politik bezüglich des Mondlichts war etwas, worüber ich nicht einmal nachgedacht hatte. Auch OpenHatch.org sieht ziemlich cool aus. Melde dich gleich an, um es dir anzusehen.
Tarmon
2
Noch ein Hinweis zum Thema Mondschein: Wenn Sie Ihren Arbeitgeber fragen, möchten Sie dies möglicherweise per E-Mail für die Papierspur tun. Ansonsten, was hindert sie daran, später ihre Meinung zu ändern und zu sagen, dass sie nie auf ihren Anspruch auf Ihr Projekt verzichtet haben? Nur ein Gedanke.
Jeff Welling
Ich kann nicht glauben, dass diese Frage geschlossen wurde, zumal es so viele großartige "Antworten" gibt, die auf Meinungen basieren oder nicht!
Dave Kanter
7

Als Manager eines Open Source-Projekts (FireBreath) würde ich vorschlagen, dass Sie einfach ein Projekt finden, das Sie verwenden oder das Sie interessiert, und nach Möglichkeiten suchen, wie Sie helfen können. Es gibt eine Menge Dinge, die Sie tun können, ohne überhaupt Code zu schreiben. In unserem Projekt brauchen wir Menschen, die helfen:

  • Testen und melden Sie Fehler
  • Aktualisieren Sie die Dokumentation auf der Website
  • Helfen Sie beim Schreiben von Sekundärwerkzeugen
  • Bleib im IRC-Raum und hilf neuen Benutzern
  • Erstellen Sie mit FireBreath Beispiel-Plugins, damit neue Benutzer sie sich ansehen können

Diese sind natürlich projektspezifisch (und Sie können gerne helfen! ;-), aber alle Projekte haben solche Dinge, die neue Benutzer beitragen können. Mein jüngster Beitrag zu einem anderen Projekt war das Hinzufügen eines Tools zur besseren Verwaltung von Platzhalter-Repository-Berechtigungen für Gitolite. Halten Sie sich an Projekte, die Sie interessant finden oder verwenden können!

Viel Glück!

taxilianisch
quelle
Ich habe nicht einmal über solche Dinge nachgedacht. Danke für die Vorschläge. Ich werde ein bisschen nach einem neueren Projekt suchen, das diese Art von Dingen benötigt.
Andrew
+1 für die Dokumentation. Als Koordinator für SharePoint SUSHI sind Dokumente eine der langwierigsten und am schwierigsten zu schreibenden Aufgaben, aber sie sind auch die wichtigsten für neue Benutzer. Wenn Sie dort helfen, werden Sie auch mit den Funktionen des Projekts und dessen Funktionsweise vertraut gemacht.
Ryan Hayes
3

Ich kann dir nicht sagen, für welches Projekt du dich entscheiden sollst - das liegt eigentlich an dir. Ich kann Ihnen jedoch sagen, wie Sie sich engagieren können: Wenn Sie eine Leidenschaft für ein Projekt verspüren, z. B. eine längere Zeit mit Anwendungen zu tun haben (unter Betriebssystemen ist dies möglicherweise nicht so einfach), können Sie jederzeit Patches mit Änderungsvorschlägen (Verbesserungen) einreichen. Fehlerbehebungen) und bitten Sie die Projektbesitzer um Überprüfung / Integration.
Das ist bei Projekten auf GitHub ziemlich einfach - erstelle einfach deinen Patch und reiche eine Pull-Anfrage ein.
Je mehr wertvolle Patches Sie einreichen, desto wahrscheinlicher ist es, dass Sie im Kernteam willkommen geheißen werden.

Paweł Dyda
quelle
2

Wenn Sie keine Experten in einer bestimmten Sprache sind, gibt es immer noch viele Aktivitäten, die sehr geschätzt werden. Dazu gehören Testen, Schreiben von Tutorials, Schreiben von API-Dokumentationen, Durchführen der Website für die Projekte usw. Wenn Sie ein besonderes Interesse haben, suchen Sie ein Projekt in diesem Bereich und bringen Sie Domänenwissen ein. (Zum Beispiel haben wir eine aktive Community von Chemie-OS-Projekten).


quelle
2

Machen Sie sich mit OpenHatch vertraut , um in Open Source-Projekte einzusteigen - das ist ihre gesamte Mission:

ein Open-Source-Projekt mit dem Ziel, die Hindernisse für den Einstieg in Open-Source-Beiträge abzubauen und die Vielfalt zu erhöhen. Wir erreichen diese Ziele durch eine Reihe von Initiativen ...

James
quelle
2
Würde es Ihnen etwas ausmachen, mehr darüber zu erklären, was es tut, und warum empfehlen Sie es als Antwort auf die gestellte Frage? "Nur-Link-Antworten" sind bei Stack Exchange
gnat
1

Mozilla sucht beispielsweise immer nach C ++ - Programmierern, um ihre Projekte zu entwickeln und zu testen. Es ist überwältigend für einen Neuankömmling, die riesige Codebasis herunterzuladen und Stunden damit zu verbringen, sie zu erstellen. Dann dauert es in der Nachbarschaft von sechs Monaten, in denen Sie durchschnittlich mehr als 10 Stunden pro Woche damit verbringen, sich mit dem Problem vertraut zu machen und einen Fehler oder Defekt oder ähnliches zu verstehen. Dann sollten Sie bald in der Lage sein zu verstehen, wie man reproduziert, isoliert, repariert, testet, einen Regressionstest durchführt und den Patch anwendet. Wenn Sie dies weiter ausführen, können Sie direkten Schreibzugriff auf die Codebasis erhalten, eine Funktion überwachen oder so. Ich glaube, das gilt für jedes Projekt, das ausgereift ist und an dem viele Leute arbeiten.

Auf der anderen Seite sterben viele Projekte, weil es niemanden gibt, der sie entwickelt. Es könnte schwierig sein, Leute zu finden, die Ihnen helfen können, oder Dokumentationen in solchen Fällen.

Um ein Gleichgewicht zwischen diesen Extremen zu finden, finden Sie ein Programm, das Sie häufig oder täglich verwenden müssen. Verwenden Sie es so oft, dass Sie bald alle Funktionen nutzen können. Vielleicht entwickeln Sie eine Affinität zu anderen Optionen. Dann können Sie entweder eine Funktionsanforderung einreichen oder diese selbst übernehmen, da Sie wahrscheinlich derjenige sind, der die von Ihnen vorgeschlagene Funktion am besten versteht. An der Oberfläche haben Sie mit dieser Option das Gefühl, dass Sie die Funktionen eines Programms niemals voll ausschöpfen werden. Wenn Sie lange genug dabei bleiben, muss das Programm mehr leisten, als es tatsächlich kann. Es kann sich um eine Sicherheits- / Datenschutzkorrektur, eine subtile Sache oder eine Verbesserung der Benutzerfreundlichkeit handeln.

vpit3833
quelle