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.
quelle
Antworten:
+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.
quelle
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:
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!
quelle
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.
quelle
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
Machen Sie sich mit OpenHatch vertraut , um in Open Source-Projekte einzusteigen - das ist ihre gesamte Mission:
quelle
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.
quelle