Wie finde ich ein gutes Open Source-Projekt, an dem ich teilnehmen kann? [geschlossen]


152

Ich habe gerade vor einem Jahr angefangen zu arbeiten und möchte aus den gleichen Gründen wie jeder andere an einem Open Source-Projekt teilnehmen: Helfen Sie, etwas Nützliches zu schaffen und meine Fähigkeiten weiterzuentwickeln.

Mein Problem ist, ich weiß nicht, wie ich ein Projekt finden soll, in das ich hineinpasse.

Wie finde ich ein anfängerfreundliches Projekt? Nach welchen Attributen soll ich suchen? Was sind Warnsignale dafür, dass ein Projekt möglicherweise nicht richtig passt? Gibt es Tools, die dabei helfen, Leute mit Open Source-Projekten zusammenzubringen?

Es gibt eine ähnliche Frage hier , aber diese Frage hat mit der Beschäftigung zu tun und ist begrenzt auf PHP / Drupal.


9
Cool, ich habe mir gerade ArsTechnica angesehen und diese Frage als Artikel gesehen. Hier ist der Link. arstechnica.com/business/guides/2012/03/…
Evan Plaice

Antworten:


111

Mein erster Open-Source-Beitrag war für eine Bibliothek, die ich zuvor bei einem zuvor bezahlten Projekt benutzt hatte (und ohne die ich sehr gelitten hätte). Während meiner ersten Verwendung hatte ich einen Fehler im Code entdeckt, also erstellte ich einen Patch, schloss mich dem Projekt an und reichte ihn zur Überprüfung ein.

Ungefähr 8 Monate später, als ich etwas Freizeit hatte, beschloss ich, etwas zurückzugeben (und an meinen Entwicklungsfähigkeiten zu arbeiten), indem ich mehr zum Projekt beitrug. Also habe ich das Repository geklont und mich mit der Codebasis vertraut gemacht. Nachdem ich einige Wochen lang kleinere Patch-Korrekturen an die Codebasis gesendet und die Featureanforderungen überwacht hatte, nahm ich eine Featureanforderung entgegen, um dem Projekt ein ziemlich umfangreiches Modul hinzuzufügen.

Da das Generieren vieler einzelner Patch-Fixes für jede bedeutende Entwicklung ziemlich mühsam ist, habe ich das Repository in einen Zweig auf dem Git-Hub geklont und angefangen, Code wegzuschreiben. Ein paar Wochen und mehrere tausend Codezeilen später haben der Projektleiter und ich meine Fixes so in die Bibliothek integriert und getestet, dass sie mit dem Rest der Codebasis konsistent waren.

Es war ein unschätzbarer Prozess, von dem ich viel gelernt habe:

  • Als ich anfing, wusste ich nicht, wie man Git verwendet, und konnte am Ende effizient Remote-Tracking-Zweige erstellen und diese in den Master-Zweig einbinden oder neu zusammenfassen, ohne ins Schwitzen zu geraten.
  • Ich habe in VS 2008 angefangen und bin dann auf Linux und Monodevelop umgestiegen, um Code zu schreiben. Es stellt sich heraus, dass Sie in * nix nicht viel tun können, was Sie in * dows tun können.
  • Ich hatte vorher noch nie wirklich Unit-Tests durchgeführt, Nunit ist ein Kinderspiel und das Schreiben von Unit-Tests ist ein ziemlich elementares Zeug.
  • Ich musste lernen, meine Zunge zu schlucken und zuzuhören sowie Geduld zu üben. Es hat keinen Sinn, Ihre Position in einem Open-Source-Projekt zu behaupten, da alle Beteiligten über fundierte Kenntnisse verfügen (wahrscheinlich mehr als Sie selbst) und in der Lage sind, Ihre Ideen zu akzeptieren oder abzulehnen, wenn der Stoff nicht geliefert wird. Es ist extrem demütigend und lohnend zugleich.
  • Wenn ich nur die Augen eines anderen erfahrenen Entwicklers auf einer großen Basis meines Codes hatte, wurden Fehler in meinem Stil aufgedeckt, die ich noch nie in Betracht gezogen hatte (und ich wies auf Fehler in seinem Code hin). Ich habe gelernt, dass es einfacher / besser ist, Konstanten zu definieren, als eine Reihe magischer Zahlen mit detaillierten Kommentaren zu verwenden.

Dieses spezielle Projekt basierte auf dem Generieren und Dekodieren von Netzwerkpaketen auf allen Ebenen von Netzwerkprotokollen. Ich habe ein persönliches Interesse an Netzwerken auf niedrigerer Ebene, daher war es großartig, Gespräche mit einem anderen Entwickler zu führen, der ein gemeinsames Interesse und Wissen auf diesem Gebiet hat.

Wenn Sie nur Ihre Füße nass machen möchten: Suchen Sie ein Projekt, das Sie bereits verwenden; Klonen Sie das Repository. und sehen Sie nach, ob Sie einige Fehler beheben und / oder einige Komponententests hinzufügen können. Es scheint einschüchternd, die Codebasis eines anderen mit neuen Augen zu betrachten, aber es ist eine äußerst wertvolle Fähigkeit zu lernen. Senden Sie einige Patches. Sie können davon ausgehen, dass Ihr Code zunächst einer genauen Prüfung unterzogen wird. Mach dir keine Sorgen, es ist ein normaler Teil des Prozesses, das Vertrauen der Projektadministratoren zu gewinnen.

Nachdem Sie mit den Projektadministratoren eine Basis für Verdienste aufgebaut haben, suchen Sie nach mehr Verantwortlichkeiten, z.

Wenn Sie in einem der wichtigsten Open-Source-Repository-Netzwerke (Github, SourceForge, Google Code) kein bereits vorhandenes Projekt finden, denken Sie an eine App, die Sie wirklich verwenden möchten und die es noch nicht gibt, und starten Sie Ihre eigene.

Seien Sie bereit, demütig zu sein, und erwarten Sie, dass die Arbeit zugunsten weiterer Überarbeitungen abgelehnt wird. Der Mythos, dass jeder einem Open-Source-Projekt Code hinzufügen kann, ist völlig falsch. Es ist immer ein Gatekeeper zwischen Ihnen und Push-Zugriff. Je besser Ihr Code ist, desto weniger wird er auf lange Sicht überprüft, wenn Sie das Vertrauen der Projektadministratoren gewinnen. Wenn es Ihr Projekt ist, sind Sie der Gatekeeper.

Aktualisieren:

Ich habe nur darüber nachgedacht und festgestellt, dass ich mir nicht die Mühe gemacht habe, zu erwähnen, auf welches Projekt sich ein Großteil meiner Antwort bezieht. Für diejenigen, die es wissen wollen, ist es SharpPcap . Der Hauptentwickler Chris Morgan ist sehr professionell und sachkundig. Er macht eine verdammt gute Arbeit bei der Leitung des Projekts und hat mir viel darüber beigebracht, wie man ein OSS-Projekt ausgereift macht.

Aufgrund persönlicher Zeitbeschränkungen konnte ich seit über einem Jahr keinen Code mehr beisteuern, aber ich versuche trotzdem, etwas zurückzugeben, indem ich mich auf Stack Overflow stütze und gelegentlich Fragen zu SharpPcap beantworte.


Kannst du eine beliebte Seite in dieser Hinsicht vorschlagen?
Aditya P

2
@AdityaGameProgrammer Ich würde mehr Wert auf die Suche nach einem bestimmten Projekt und nicht auf eine Open-Source-Hosting-Site legen. Hosting-Sites sind nur ein Abladeplatz für Open-Source-Projekte, und einige Projekte werden auf andere Sites migriert, wenn bessere Funktionen gefunden werden (z. B. Unterstützung spezifischer Lizenzen, bessere Unterstützung der Versionskontrolle, bessere Fehlerverfolgung usw.). Ich habe schon einige genannt. IMHO, Github, Google Code und SourceForge sind die beliebtesten. Auf dem Launchpad (mit Basar-Versionskontrolle) finden die meisten Ububtu / Linux-Entwicklungen statt.
Evan Plaice

2
@AdityaGameProgrammer (Forts.) Github, SourceForge und Google-Code sind allesamt brodelnde Massen von Projekten. Da SourceForge schon länger existiert, werden Sie wahrscheinlich mehr tote / verwaiste Projekte finden. Es ist viel einfacher, ein Projekt zu finden, an dem Sie teilnehmen können, wenn Sie sich zunächst überlegen, woran Sie interessiert sind. Die Ausnahme ist, wenn Sie Ihr eigenes Projekt hosten möchten. Nehmen Sie sich dann etwas Zeit, um nach den Funktionen zu suchen, die am besten zu Ihrem üblichen Entwicklungsworkflow passen.
Evan Plaice

Vielen Dank. Meine früheren Versuche, eine auf sourceforge zu finden, haben mich zu einer großen Anzahl toter / verwaister Projekte geführt.
Aditya P

28

Hier ist, was ich vorschlage, um Ihre perfekte Übereinstimmung zu finden:

  1. Wenn Sie ein Open-Source-Projekt haben, das Sie bereits nutzen, kennen und pflegen, sollte es Ihr erster Kandidat sein, der es versucht. Überlegen Sie sich ansonsten, was Sie im Allgemeinen tun möchten , und suchen Sie nach einem Projekt in diesem Bereich.

  2. Wenn Sie ein potenzielles Projekt gefunden haben, stürzen Sie sich nicht darauf. Versuchen Sie es selbst zu benutzen. Ist es so gut in Aktion, wie es aus der Beschreibung und den Kritiken hervorgeht? Wenn nicht, ist es kein vollständiger Show-Stopper. Vielleicht ist es eine Gelegenheit für dich, einzuspringen und wirklich etwas zu bewirken. Schließlich braucht niemand einen anderen Entwickler für ein perfektes Produkt. Aber es gibt Ihnen einen wichtigen Einblick, ob Sie an diesem Projekt teilnehmen möchten, und Sie sammeln Erfahrungen aus erster Hand mit neuen Technologien in einem Bereich, an dem Sie interessiert sind.

  3. Bevor Sie anfangen, zu viel Zeit in das Projekt zu investieren und seine Vor- und Nachteile kennenzulernen, sollten Sie ein paar Wochen in den Projekt-Mailinglisten, Foren und sogar im Bug-Tracking-System verweilen. Wenn Sie regelmäßig zu dem Projekt beitragen, werden Sie viel Zeit dort verbringen.

Finde heraus, ob es dir Spaß macht, dort herumzuhängen, oder ob es für dich eine Belastung ist. Fühlt es sich so an, als ob dieses Projekt eine gute und energiegeladene Community hat, oder stirbt es langsam? Scheinen die Hauptpersonen dort Neulinge zu ermutigen und zu betreuen, oder sind Sie auf sich allein gestellt?

Führen Sie diese Schritte für mehrere Projekte aus, möglicherweise in verschiedenen Bereichen, und es ist weniger wahrscheinlich, dass Sie enttäuscht werden, wenn Sie sich einem falschen Team anschließen. Eine solche Erfahrung kann Sie möglicherweise davon abhalten, es in Zukunft erneut zu tun.

Noch ein paar Gedanken:

Wenn das Projekt, an dem Sie wirklich interessiert sind, ein hochkarätiges Projekt mit vielen Entwicklern und Aktivitäten ist, wird es Ihnen wahrscheinlich schwer fallen, sich dort einen ausreichenden Ruf zu verschaffen, um beispielsweise Rechte zu sichern oder eine interessante Rolle in der Community zu spielen. In diesem Fall sollten Sie in Betracht ziehen, einem verwandten Ausgründungsprojekt mit geringerer Sichtbarkeit beizutreten. Versuchen Sie beispielsweise, anstatt zu versuchen, einen Beitrag zu jQuery zu leisten, ein für Sie passendes jQuery-Plugin zu finden. Später können Sie überlegen, ob Sie nach oben wollen.

Wenn Sie ein Projekt mögen, sich aber von seiner Größe, Komplexität oder den Anforderungen an die Codequalität eingeschüchtert fühlen, sollten Sie mit unterstützenden Funktionen wie Testen, Dokumentationspflege oder Überprüfung von Fehlerberichten beginnen. Wenn Sie in der Projekt-Mailingliste nachfragen, welche Art von Hilfe sie im Moment am meisten benötigen, werden sie Sie gerne dorthin führen. :)

Auf diese Weise lernen Sie das Projekt kennen und stärken Ihren Ruf, während Sie wesentlich mehr dazu beitragen, als wenn Sie anfangen, nicht dem Standard entsprechende Patches einzureichen, die mehrmals abgelehnt werden, bis sie fertig sind.

Das Letzte und das Wichtigste: Wenn Sie sich an einer Stelle verbrannt haben, fahren Sie fort. gib nicht auf

Ich hoffe, das hilft.


2
+1 für "Beginnen Sie mit unterstützenden Rollen." Das Schreiben von Tests ist sehr einfach und ein genauer Blick auf die Tests gibt eine gute Vorstellung davon, was der Code zu erreichen versucht. Dokumentation ist ein guter Weg, um das Gesamtbild zu verstehen, und die Überprüfung von Fehlern ist ein guter Einstiegspunkt mit niedriger Barriere, um das Eis zu brechen. Die Arbeit an den Dingen, die Entwickler normalerweise vernachlässigen, zeigt, dass Ihr Fokus auf der Verbesserung des Projekts liegt und Ihre Beiträge nicht nur egoistisch sind. Ego-Probleme können den Projektbetreuern das Leben schwer machen, also achten sie auf solche Dinge.
Evan Plaice

9

Ich würde Ihnen dringend empfehlen, ein Open-Source-Projekt zu finden, das Ihr aufrichtiges Interesse hat und das Sie aktiv nutzen .

Der Grund ist einfach: Es macht den Unterschied zwischen einem Job und einem Hobby.

Schauen Sie sich Ihren Computer an. Welche Software hast du drauf, die Open Source ist? Eine Vermutung wäre Chrome oder Firefox oder vielleicht Open Office oder ein Instant Messenger-Client. Sind sie perfekt oder gibt es nur eine winzige Sache, die Sie gerne ändern würden, wenn Sie könnten?

Wenn ja, ist es jetzt an der Zeit, etwas dagegen zu unternehmen.


8

Ich würde vorschlagen, ein Projekt zu finden (oder zu starten), so wie es die Leute seit Jahren tun, und Open Source-Software zu verwenden, um Dinge zu tun. Das mag Ihnen trivial erscheinen, vielleicht sogar vereinfacht. Es ist jedoch sehr schwer zu beschreiben, wie zufrieden es ist, etwas zu benutzen, einen Fehler zu finden, die Quelle zu finden und zu beheben. Oder ändern Sie es, damit es so funktioniert, wie Sie es möchten.

Hacken Sie auch nicht nur, um sich einzumischen. 95% meiner Patches für den Linux-Kernel werden niemals das Licht der Welt erblicken. Ich bin mir sicher, dass niemand sie wollen würde, außer ich, und ich wäre wahrscheinlich gezwungen, mich einer psychiatrischen Untersuchung zu unterziehen, wenn ein anderer kompetenter Kernel-Hacker sie jemals gesehen hätte. Aber ich genieße immer noch meine Implementierung, piglatin_printk()die vor einigen Jahren als Gag für den 1. April begann :)

Ja, es ist von unschätzbarem Wert, Ihren Code und Ihren Denkprozess vor viele andere kompetente Personen zu stellen, ebenso wie das Erlernen von Kommunikation und Zusammenarbeit. Ein Solo-Projekt ist eine großartige Möglichkeit, Ihnen zu zeigen, was Sie nicht tun sollten. Tipp, es geht um mehr als nur um die Verwendung von Versionskontrollsoftware, Mailinglisten und einem Bug-Tracker.

Um loszulegen, schlage ich vor , um zu graben Ohloo Software zu finden , die Sie vielleicht interessieren Verwendung zuerst. Laden Sie es herunter, bauen Sie es, spielen Sie damit. Dann schnapp dir was anderes. Irgendwann werden Sie etwas verbessern wollen oder feststellen, dass Sie den Drang haben, etwas ganz anderes umzusetzen, als Sie gefunden haben.

Das andere, was hilft, ist für ein offenes, freundliches Unternehmen zu arbeiten. Meine Firma verwendet Xen ausgiebig, so dass sie kein Problem damit haben, interessante Fehler zu finden und zu beheben, da wir das sowieso tun müssten. Sie haben auch nichts dagegen, dass Mitarbeiter an Aktivitäten wie RFCs und Entwurfsspezifikationen teilnehmen, da wir letztendlich das Ergebnis verwenden werden.


+1 piglatin_printk ()? Hört sich komisch an. Ich würde das gerne in Aktion sehen. Es ist keine Überraschung, dass die meisten Ihrer Linux-Kernel-Patches abgelehnt wurden. Es gibt nicht viel Raum für Spaß und Kreativität in einem so kritischen Projekt. Glücklicherweise gibt es viele kleinere Projekte, bei denen die Zugangsbeschränkung zum Akzeptieren von Code viel geringer ist - auch wenn die Beiträge erst bearbeitet werden müssen, bevor sie gebunden werden.
Evan Plaice

1
@EvanPlaice Sie wurden nicht abgelehnt, nur nie eingereicht;)
Tim Post

7

OpenHatch wurde speziell dafür erstellt.

Zitieren:

OpenHatch ist eine gemeinnützige Organisation, die es sich zur Aufgabe gemacht hat, potenzielle Autoren von Freier Software mit Communities, Tools und Bildung zu verknüpfen.

Sie können Projekte nach Typ, Technologie, erforderlichem Kenntnisstand usw. durchsuchen und herausfinden, was Ihrem Kenntnisstand entspricht.


Tolle kleine Seite :) Man könnte auch freecode.com besuchen
nha

4

Eine Sache, die mir wiederholt aufgefallen ist, wenn es um Leute geht, die mit Open Source-Entwicklung beginnen möchten, ist, dass sie von der schieren Komplexität und Größe großer Projekte überwältigt sind. Ich hatte vor ein paar Jahren das gleiche Problem, und meiner Erfahrung nach ist es am besten, sich die größeren Projekte nicht gleich anzuschauen.

Nachdem ich mir einige Projekte angeschaut hatte, die mir gefallen könnten, stellte ich fest, dass sie immer noch nicht in meiner Reichweite waren, und begann dann, selbst an sehr kleinen Projekten zu arbeiten. Ich möchte nur den Code auf Github veröffentlichen, unabhängig davon, ob er wirklich relevant ist oder ob andere Leute ihn verwenden werden. Irgendwann interessieren sich die Leute für das, was Sie tun. Auch sonst gewinnen Sie Selbstvertrauen und technische Fähigkeiten, um langsam zu größeren und populäreren Projekten überzugehen.


3

Speziell für diesen Zweck gibt es eine neue Website namens Code 52 , die neue Entwickler ermutigt, sich mit Open Source zu befassen, indem sie jede Woche ein neues OSS-Projekt starten.

Die Idee ist, dass es für Leute, die noch nie an Open Source teilgenommen haben, weniger einschüchternd erscheint und sich hoffentlich eher dazu geneigt fühlen, sich auch an anderen OSS-Projekten zu beteiligen.


1
Ich habe darüber nachgedacht und ein paar Notizen hinzugefügt. Code52 wird von drei Entwicklern der Firma Readify geleitet, die den Titel "Microsoft 2012 Partner of the Year" erhalten haben wollen. Obwohl die Projekte auf GitHub gehostet werden, ist jedes der Projekte in WinJS (dh Ziel Win8) geschrieben und trägt die Microsoft Public License. Von einem flüchtigen Look aus gesehen ist MPL urheberrechtlich geschützt, unterliegt jedoch bestimmten Einschränkungen, nach denen Derivate die gleiche oder eine ähnliche Lizenz erben müssen. Das heißt, es ist eher eine GPL-Lizenz als eine viel weniger restriktive MIT-Lizenz.
Evan Plaice

Das Projekt sieht sehr ansprechend aus, aber ich kann das Gefühl nicht loswerden, dass dies das neu gegründete Open Source Developer Digital Sharecropping-Programm ist, das von Microsoft entwickelt wurde, um das neue Windows 8-Ökosystem ohne großen Aufwand zu bevölkern. Nicht wie ein Alufolienhut mit Nackenträger zu klingen, aber MS hat nicht gerade den besten Ruf, wenn es um die Integration mit Open Source geht.
Evan Plaice

1
-1 Diese Website ist anscheinend vor über einem Jahr im Grunde gestorben (keine Updates mehr)
Michael Durrant

3

Ich empfehle zu lesen: http://open-advice.org/ .

Ziel ist es, diejenigen zu unterstützen, die Gemeinschaften schaffen und pflegen, und diejenigen, die sich nicht sicher sind, welcher sie beitreten möchten oder wie sie dies tun sollen.

Gelingt dies nicht, suchen Sie ein Projekt mit einer Mission, die mit Ihnen in Resonanz steht, oder verzweigen Sie sich, und tragen Sie zu einem Projekt bei, das Ihnen bereits nützlich ist.

Viel Glück.


3

Als ich anfing, suchte ich online nach Optionen und es stellte sich als schwierig heraus, etwas zu finden, in das man sich als Anfänger hineinversetzen kann.

Einige Projekte sind schwer zu unterstützen, nicht weil sie zu weit fortgeschritten sind, sondern weil die Community sie nicht willkommen heißt. Lassen Sie sich also nicht entmutigen, wenn Sie gegen eine Wand stoßen.

Während der Suche habe ich beschlossen, eine Liste von 10 Open-Source-Projekten zusammenzustellen, die Anfänger ohne viel Stress unterstützen können. Hier ist der zu verwendende Link:

Zehn Projekte, die Anfänger unterstützen und von denen sie lernen können

Ich hoffe, Sie finden es hilfreich und können immer mehr hinzufügen, wenn Sie coole finden!


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 nicht ganz willkommen
gnat

2

Ich schlage vor, ein eigenes Projekt zu einem Thema zu starten, an dem Sie interessiert sind.

Durch die Arbeit an einem Projekt kann im Allgemeinen viel gelernt werden. Es ist nicht erforderlich zu sehen, wie jemand anders codiert, um zu lernen, wie man besser codiert. Und manchmal wirst du tatsächlich sehen, was du nicht tun sollst, da die anderen Leute oft nicht erfahrener sind als du.

Normalerweise hilft es, den Code anderer zu sehen, aber Sie werden den Code anderer Leute in Ihrem eigenen Projekt nur über die von Ihnen verwendeten Bibliotheken und Komponenten antreffen.

Die Erfahrung wird Sie lehren, was gute und schlechte Praxis ist.


1
Obwohl ich das für eine großartige Idee halte, kann es einschüchternd sein, dies als Anfängerprojekt zu tun. Insbesondere, wenn Sie keine Codeüberprüfungen oder andere Personen haben, die Eingaben hinzufügen können. Meine eigenen Projekte haben viele Umschreibungen und Tausende von Codezeilen durchlaufen, weil mir niemand gesagt hat, dass X besser ist, ein Problem, das ich immer noch habe. Die Teilnahme an einem etablierten Projekt beschleunigt das Lernen erheblich
TheLQ

@TheLQ: Es hängt von deinem Erfahrungslevel ab. Wenn du etwas von Grund auf selbst machst, lernst du viele Lektionen und Dinge, die du nicht lernen würdest, wenn du einem Team beitrittst, das bereits viele Dinge erledigt hat. Meiner Meinung nach gibt es gute und schlechte Dinge über Ihr eigenes Projekt oder das eines anderen.
Brian R. Bondy

@TheLQ Ich stimme vollkommen zu. Es ist eine sehr wertvolle Erfahrung, an einem bereits bestehenden Projekt teilzunehmen, da Sie eine Vorstellung davon haben, wie Open Source-Projekte verwaltet werden und wie die Organisation strukturiert ist. Nachdem ich an dem erfolgreichen Projekt eines anderen gearbeitet hatte, war es ein Spaziergang durch den Park, den Sprung zu einem eigenen Projekt zu schaffen.
Evan Plaice

2

Ich bin ein Projektbesitzer von Google Code und suche Mitwirkende. (Aber ich werde nicht missbrauchen diese Antwort für die Werbung.) Daher meiner Meinung nach für Sie interessant sein könnten.

Sie müssen zuerst herausfinden, woran Sie interessiert sind. Entwickeln Sie dann Fachkenntnisse in einigen Bereichen, die mit Ihren Interessen zusammenhängen. Dann finden Sie ein Projekt, bei dem Ihr Fachwissen gefragt und gebraucht wird.

Je kleiner das Projekt ist, desto weniger Mitwirkende gibt es bereits, desto größer sind die Chancen, dass Mitwirkende gesucht werden, und Sie können sich direkt an die Autoren / Projektinhaber wenden. Sagen Sie ihnen, a) wie hoch Ihr Fachwissen ist, b) wo Sie sehen, dass es im Projekt angewendet werden könnte, c) was Sie Ihrer Meinung nach erreichen können.

Denken Sie daran: Nur eine oder zwei gängige Programmiersprachen zu kennen, ist kein Fachwissen.


Wie würden Sie jemandem raten, herauszufinden, woran er interessiert ist, oder Fachkenntnisse in diesen Bereichen aufzubauen?
Adam Lear

2
@Anna Ich bin mir nicht sicher, ob ich deine Frage verstehe. Ich meine, es gibt Hunderte von Themen - von einfachen Dingen wie Netzwerkprotokollen oder der Funktionsweise einer GPU bis zu sehr abstrakten, fast mathematischen Themen (Parsen, Typensysteme, Kategorietheorie usw.). Das größte Genie wird sie nicht alle beherrschen und sich freuen, jemanden zu haben, der ein Experte auf einem Gebiet ist, auf dem er, das Genie, nicht ist. Aber was sind deine Interessen wirklich, wer kann das sagen als du?
Ingo

1
Ja, die Interessen zu entdecken, ist vielleicht ziemlich persönlich (oder der Rat läuft darauf hinaus, "verschiedene Dinge auszuprobieren und zu sehen, was Ihnen gefällt"), aber wie sieht es damit aus, Fachwissen zu erlangen? Sie sagen, es ist mehr als nur ein paar Sprachen zu kennen. Was würden Sie angesichts eines neuen Themas / Themas tun, um dieses Fachwissen zu erlangen? Für mich wäre der Beitritt zu einem OSS-Projekt ein Teil dieses Prozesses, aber wenn ich Sie richtig lese, schlagen Sie vor, dass Sie ein Experte sein sollten, bevor Sie einem Projekt beitreten.
Adam Lear

Was würde ich tun? Bücher lesen. Lesen Sie PDFs. Besprechen Sie mit jemandem, den Sie kennen, oder im Internet. Probieren Sie etwas aus. Trainieren. Beantworten Sie alle Fragen zu SO, die zu diesem Thema auftauchen. Dann merken Sie eines Tages, dass nur wenige es besser wissen als Sie. - Nehmen Sie mich nicht zu wörtlich in Bezug auf den "Experten", aber denken Sie daran, dass es in Open-Source-Projekten, da es freiwillig ist, keine Möglichkeit gibt, jemanden zur Arbeit zu zwingen - daher Menschen, die wissen, was sie tun und was sie wollen Genau das zu tun ist sehr willkommen.
Ingo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.