Angst vor der Veröffentlichung eines Hobbyprojekts - wie überwinden? [geschlossen]

37

Ich weiß nicht, ob diese Frage in engem Zusammenhang mit der Softwareentwicklung steht, aber ich werde es trotzdem versuchen:

Wie viele Programmierer liebe ich es, an Hobbyprojekten zu arbeiten. Manchmal erweisen sich scheinbar gute Ideen als nicht so gut, deshalb beende ich das Projekt. Aber manchmal ergibt sich aus dem Projekt etwas Nützliches. Also könnte ich es veröffentlichen, der Welt präsentieren, oder?

Falsch. Irgendwie scheine ich nicht in der Lage zu sein, diesen Schritt zu machen. Ich befürchte, mein Code ist nicht gut genug, ich kann mir immer Dinge vorstellen, die nicht optimal sind, Funktionen, die hinzugefügt werden könnten. Also, ich gebe nichts frei, ich verliere das Interesse und verlasse irgendwann das Projekt.

Ist das normal? Wie überwinden Sie eine solche Situation?

Oliver Weiler
quelle
11
Nun, es ist gut genug für dich und "sie" bekommen es kostenlos, also warum sollten sie sich beschweren?
Joachim Sauer
42
"Ich befürchte, mein Code ist nicht gut genug" - wenn Sie auf das zurückblicken, was Sie gestern getan haben, und Sie damit zufrieden sind, verbessern Sie sich nicht.
Roger Lipscombe
9
Wenn es funktioniert und kein vollständiges Durcheinander von Spaghetti ist, lassen Sie es los. Meiner Erfahrung nach wird jeder Code kritisiert, gewöhnt euch daran. Microsoft hat eine ganze Menge Code zur Einbindung in Linux veröffentlicht. Ich scheine mich zu erinnern, dass es zurückgeschickt wurde, um aufgeräumt zu werden, und es endete mit halb so vielen Zeilen. Ich schaue jeden Tag auf meinen Code und denke: "Oh Gott. Habe ich das geschrieben? Doh!
Jaydee
4
Es wird nie besser werden, ohne dass Leute darauf klopfen. Tue es!
Scott C Wilson
4
Du wünschst! Sie sollten sich glücklich
schätzen,

Antworten:

51

Denken Sie vor allem daran: Der Versand ist ein Feature . Es ist besser, etwas Unvollkommenes freizugeben, als überhaupt nichts freizugeben.

Das andere ist, dass es sich um Hobbyprojekte handelt. Wenn Sie Termine nicht einhalten oder das Interesse verlieren, ist das keine große Sache. Sie machen das Projekt doch zum Spaß.

Tom Squires
quelle
23

Leg es da raus.

Es ist nicht so schwierig, dies mit einer Social-Coding-Site wie GitHub oder Bitbucket zu tun . Die meisten Sachen von dem, was du rausbringst, werden wahrscheinlich nicht oft benutzt, aber das ist in Ordnung. Das ist bei diesen Social-Coding-Sites ziemlich normal, und viele Projekte werden abgebrochen (sogar einige nützliche). Aber das Beste ist, dass andere das, was Sie übrig haben, abholen können (vorausgesetzt, Sie haben eine Genehmigungslizenz).

Auch wenn deine Sachen wahrscheinlich von niemand anderem benutzt werden, gibt es verschiedene Vorteile, warum du sie trotzdem löschen solltest:

  • Sie lernen die Versionskontrolle zu verwenden, was viele Programmierer nicht wissen, was Sie ansprechender macht
  • Leute können auf Probleme für Sie hinweisen; alle Möglichkeiten für Sie, um zu lernen, wie man Dinge anders macht
  • Sie haben ein Online-Portfolio mit Dingen, die Sie bereits erledigt haben, das sich hervorragend als Ergänzung zu Ihrem Lebenslauf eignet
Spoike
quelle
3
+1 für "Menschen können auf Probleme für Sie hinweisen" - das ist ein großer Vorteil, wenn Sie Code als Open Source anbieten.
Andrew Thompson
14

Es ist wahrscheinlich schwieriger, Mitwirkende für ein Open-Source-Projekt zu gewinnen, das bereits fehlerfrei ist, als für ein Projekt mit vielen leicht zu lösenden Fehlern, da diese Fehler einen Anreiz für frühe Benutzer darstellen, sich mit dem Code vertraut zu machen.

Als Linus den Linux-Kernel zum ersten Mal einführte, war er kein vollständiger, stabiler, fehlerfreier und sauberer Code. es war eine unvollständige, beschissene, nicht tragbare und für finnische Tastatur festverdrahtete .

Lüge Ryan
quelle
3
Ich liebe diese Perspektive.
TehShrike
+1 für das Linux-Beispiel.
Calmarius
6

Grundsätzlich würde ich mir keine Sorgen machen, ob die Leute meinen Code mögen oder nicht. Geben Sie es unter einer kostenlosen Lizenz frei. Wenn es für Benutzer nützlich ist, sie jedoch Fehler finden, suboptimale Lösungen suchen und weitere Funktionen benötigen, können sie es selbst beheben. Die Verwendung von GPL oder LGPL ermöglicht es Ihnen auch, diese Fixes zu finden, und Sie können sie selbst anwenden, wenn Sie sie nützlich / passend finden.

martiert
quelle
5

Es tut mir leid, aber Sie tun genau das Gegenteil von dem, was Sie tun sollten!

Geben Sie es so bald wie möglich frei, hören Sie sich das Feedback der Leute an und implementieren Sie dann neue Funktionen, die darauf basieren. Nicht umgekehrt!

Thomas Bonini
quelle
Dies gilt nur, wenn Sie versuchen, die Benutzerfreundlichkeit zu optimieren. Das OP versucht eindeutig, die Glaubwürdigkeit der Straße zu maximieren oder zumindest die Verlegenheit zu minimieren.
Caleb
2
@Caleb: das stimmt immer. Das Ziel ist immer, ein Produkt zu versenden und niemals Code zu schreiben!
Thomas Bonini
Vergessen Sie nicht, dass die Versionskontrolle es den Leuten ermöglicht, VERBESSERUNGEN im Code zu sehen. Zu sehen, wie jemand mit schlechtem Code angefangen hat, ihn aber in ein gut aussehendes Beispiel verwandelt hat, zeigt: a) Er kann lernen, b) er ist bereit, alten Code zu verbessern, anstatt ihn zu ignorieren
Aren
4

Was hast du zu verlieren

Sie können sich auch trösten, wenn Sie wissen, dass es wahrscheinlich sowieso nicht bemerkt wird, es sei denn, es ist wirklich gut oder füllt eine neue Nische.

Und wenn Sie ein negatives Feedback erhalten - es ist eine Chance zu lernen. Verschwenden Sie es nicht.

Evgeni
quelle
"Es wird wahrscheinlich sowieso nicht bemerkt". Leider sehr wahr.
user16764
3

Ganz normal, auch in anderen Bereichen als der Software. Stellen Sie sicher, dass es in einigen verschiedenen Umgebungen erstellt wird, schreiben Sie eine README-Datei und werfen Sie sie in github / codeplex / etc. Das erste Mal durchzukommen ist der einzige Weg, die Angst zu überwinden.

Beim zweiten, dritten und n-ten Mal liegt der Spaß!

Matt Stephenson
quelle
1

Hier ist ein Grund, unvollendete Software freizugeben: Eine Community aufzubauen. Wenn Sie möchten, dass Ihr Projekt zu einem nützlichen Open Source-Tool wird, benötigen Sie andere Entwickler. Eine Möglichkeit, sie anzulocken, besteht darin, sie frühzeitig zu veröffentlichen und dann (öffentlich) Verbesserungen vorzunehmen. Fügen Sie diese Funktionen nicht im Geheimen hinzu - tun Sie sie öffentlich, auf der Github-Seite oder wo auch immer. Das erzeugt Aktivität in der Geschichte.

Andere Entwickler möchten nicht an einem scheinbar aufgegebenen Projekt arbeiten. Wenn Sie also Ihre Entwicklungsarbeit in der Öffentlichkeit leisten, zeigt dies ein aktives und anhaltendes Interesse. Es lohnt sich, absichtlich ein paar Features auf dem Laufenden zu halten, damit Sie sie öffentlich hinzufügen können.

Steve Bennett
quelle