Wie gehen Sie mit einem beliebten Projekt um, das Sie nicht mehr pflegen möchten?

75

Ich bin der Betreuer eines Projekts mit einer großen nicht-technischen Anwenderbasis. Ich habe es jetzt für ungefähr 4 Jahre beibehalten und neue Eigenschaften hinzugefügt, wie sie angefordert worden sind.

Ich möchte jetzt zu anderen Projekten übergehen und die Entwicklung für diese Anwendung einstellen. Aufgrund des nicht-technischen Charakters der Benutzer gab es in der Vergangenheit nur sehr wenige Codebeiträge. Ich glaube nicht, dass ich an meiner Stelle jemanden finden kann, der das Projekt übernimmt.

Bugs, Probleme, Funktionsanfragen - diese kommen immer noch. Ich beantworte immer noch E-Mails, um Hilfe zu erhalten, da ich nicht sicher bin, ob ich sie ignorieren oder ihnen mitteilen soll, dass ich nicht an der Anwendung arbeite oder ob ich antworten soll nur in bestimmten Fällen auf E-Mails.

Was ist der beste Weg, um dieses Projekt abzubrechen, aber den Benutzern trotzdem die Nutzung der Anwendung zu ermöglichen?


Update (Juli 2016) - Es lief nicht wie geplant. Ich machte eine Ankündigung in der README und bald darauf erhielt ich Beiträge von substanziellerer Art. Pull-Anfragen mit Fehlerkorrekturen, Funktionen, Dokumentation und Problemaktivität. Seitdem fühlt sich das Projekt "neu belebt" an und ich pflege es jetzt gerne zusammen mit neueren Projekten. Ich habe auch Mitarbeiter. Vermutlich waren es Beiträge, die meine Sicht auf das Projekt beeinflussten, und da sich die Qualität der Beiträge verbesserte, fühlte es sich nicht mehr wie eine lästige Pflicht an.

Mendhak
quelle
1
Könnten Sie es auf eine neue Plattform oder eine neue Technologie portieren? Auf diese Weise wäre es für Sie interessant, daran zu arbeiten, und Sie könnten die Unterstützung von Aufrufen erläutern, bei denen Fehlerkorrekturen und -verbesserungen nicht mehr am alten Code vorgenommen würden, und vorschlagen, dass er aktualisiert wird, wenn er fertig ist usw.?
Stefan
5
Was ist das Projekt aus Neugier? Verknüpfung? (Vorausgesetzt, es ist Open Source)
Andres F.
70
Es ist Google Reader, nicht wahr?
Kyralessa
3
Überprüfen Sie Ihre Vermutung noch einmal: Ist Ihre Nutzerbasis zu technisch, um das Projekt aufrechtzuerhalten, oder ist Ihr Projekt zu geschlossen, um eine Teilnahme über Probleme und Funktionsanfragen hinaus zu ermöglichen?
Bengt
Jetzt wollen wir alle das Projekt sehen ... Sie sollten den Link hinzufügen.
Daviewales

Antworten:

40

Ich nehme an, dies ist kein Projekt an einem Arbeitsplatz, an dem Sie ein bezahlter Angestellter sind und etwas, das Sie in Ihrer Freizeit kostenlos tun?

Wenn Sie damit kein Geld verdienen, dann gibt es eindeutig keinen Anreiz für Sie und auch keinen Anreiz für andere, neu hinzukommen, um damit umzugehen. (es sei denn, es handelt sich um eine Wohltätigkeitsorganisation oder eine ähnliche freiwillige Organisation)

Schauen Sie sich alternativ die Möglichkeit an, kostenpflichtige Funktionen hinzuzufügen.

Auf diese Weise haben Sie möglicherweise einen Anreiz, fortzufahren. Möglicherweise finden Sie Leute, die bereit sind zu zahlen, insbesondere wenn das System nicht mehr aktiv weiterentwickelt werden muss. (Natürlich können Leute Ihr System verlassen, aber was kümmert es Sie, Sie werden bereits nicht bezahlt).

Eine andere Möglichkeit könnte darin bestehen, das Projekt zum Erlernen neuer Technologien zu nutzen. Ist es eine Website? Upgrade auf die neueste Technologie? Zum Beispiel von Asp.Net nach MVC4 konvertieren? eine mobile Version erstellen, sie servicebasiert machen und ein iOS-App-Frontend dafür erstellen?

ozz
quelle
23
Eine andere Möglichkeit besteht darin, das Projekt an ein Unternehmen zu verkaufen (oder zu spenden). Sie haben die Benutzer, ein Unternehmen kann den Gewinn sehen.
Sulthan
@ Sulthan unbedingt!
ozz
1
Wenn Sie mit diesen Erhöhungsraten kein Geld verdienen oder den Service nicht in Rechnung stellen möchten.
Bill Leeper
9
Er bezeichnete es als "Open Source". Das ist ein bisschen wie Wohltätigkeit oder Freiwilligenarbeit. Die Motive sind einfach anders. Normalerweise können Sie keine Open-Source-Projekte verkaufen. Aber er konnte immer für zusätzliche Arbeit berechnen. Holen Sie sich einen Spendenpool für das, was als nächstes repariert / hinzugefügt wird.
Philip
@ Sulthan - sehr interessant, hatte das nicht berücksichtigt. Ich werde sehen, welche Unternehmen sich dafür interessieren würden.
Mendhak
25

Kündigen Sie an, dass Sie das Produkt Ihrer Benutzergemeinschaft überlassen haben. Vielleicht finden Sie einen Nachfolger für Ihre Rolle als Betreuer. Versuchen Sie, eine gewisse Zeit für die Übergabe zu organisieren, wie Sie es bei einem Projekt in Ihrem täglichen Job tun würden.

Wie esr es in der Kathedrale und im Basar ausdrückte :

Wenn Sie das Interesse an einem Programm verlieren, besteht Ihre letzte Pflicht darin, es einem kompetenten Nachfolger zu übergeben.

Residuum
quelle
2
Kommentieren Sie dazu die Programmierseiten und prüfen Sie, ob jemand bereit ist, sie zu übernehmen. Einige Leute sind sich nicht sicher, welche Projekte sie machen wollen, wollen aber Programmiererfahrung und sind offen für Ideen. Die Übergabezeit kann kurzfristig mehr Arbeit erfordern, wird sich aber hoffentlich langfristig auszahlen.
James
11

Ein weiterer Vorschlag für Sie, der ein wenig das Gegenteil von dem ist, wonach Sie fragen, aber ich denke, er sollte in Ihrer Liste zur Prüfung stehen. Haben Sie darüber nachgedacht, es nicht aufzugeben? Wenn Sie ein Projekt haben, das von Menschen aktiv genutzt wird und deren Anforderungen steigen, das Sie jedoch nicht selbst ändern können, und Sie der einzige Experte für die Software sind ... dann können Sie ihnen Geld dafür in Rechnung stellen.

Wenn die Quelle offen ist, können Sie sie schließen (Ihre Wahl, wenn Sie den Wettbewerb unterbinden möchten, der das Projekt weiterentwickelt). Wenn die nächste Funktionsanforderung eingeht, sagen Sie "Ja" für eine Gebühr von $ xyz.

Nur eine Option zu prüfen.

Ian
quelle
11
Wenn Sie eine zuvor Open-Source-Anwendung nehmen und sie als Closed-Source-Anwendung einrichten, wird dies viele Benutzer sehr ärgern und möglicherweise sogar rechtlich unmöglich, wenn andere Benutzer Code unter bestimmten Open-Source-Lizenzen beigesteuert haben, je nachdem, welche Mitwirkungsvereinbarungen sie unterzeichnet haben oder nicht. Es gibt einen sehr großen Unterschied zwischen dem Aufladen Ihrer Arbeit an einem Open Source-Projekt und dem plötzlichen Schließen der zuvor geöffneten Projekte.
James
3
@James Gebühren für geleistete Arbeit müssen nicht unbedingt eine geschlossene Quelle sein. Es bedeutet nur, dass jemand möchte, dass die Software neue Funktionen hat, und er möchte einen Anreiz, sie hinzuzufügen - es gibt keinen Grund, warum er seine Arbeit nicht in Rechnung stellen kann, während er sie Open Source lässt.
Daenyth
1
@Daenyth Natürlich, aber in dieser Antwort wird ausdrücklich erwähnt, dass es geschlossen werden muss.
James
@ James Sie müssen es nicht als geschlossene Quelle definieren. Sie können die neuen Funktionen weiterhin als Open Source freigeben. Es gibt jedoch keinen Grund, den Code freizugeben, bis die Prüfung abgeschlossen ist.
Schlitten
1
@ArtB Ja, ich weiß, aber in dieser Antwort wird ausdrücklich erwähnt, dass es geschlossen wird. Mein Kommentar bezog sich also speziell darauf.
James
7

Es ist eine schwierige Sache, Ihre Fangemeinde zu verlassen, besonders wenn Sie sich von ihnen unterscheiden. Wenn sich Entwickler in der Benutzergruppe befänden, wäre dies ein leicht zu lösendes Problem: Kündigen Sie einfach Ihren bevorstehenden Ausstieg an und schlagen Sie vor, dass eine andere Person aufruft, um sie dabei zu unterstützen, sich vor Ihrer Abreise auf den neuesten Stand zu bringen. Da dies nicht der Fall ist, stellt sich die Frage: Können Sie (oder Ihre Benutzer) jemanden finden, der Sie in einem für Sie (oder Ihre Benutzer) sinnvollen Zeitraum ersetzt?

In der Vergangenheit habe ich mehrere Projekte über Jahre hinweg betreut, als es mir wichtig war, weil es meinem Ruf gut tat. Meine vergleichsweise geringe Statur in meinem Bereich hat mir geholfen, Jobs zu finden, wenn ich sie brauchte oder wollte, und das hat für mich einen Wert. Genug Wert, damit es sich lohnt, meine Zeit in Anspruch zu nehmen, wenn ich konnte. Irgendwann ging ich natürlich weg, aber ich stellte sicher, dass der vollständige Projektcode allen Nachfolgern zur Verfügung stand.

Ross Patterson
quelle
"Es ist eine schwierige Sache, deine Fangemeinde zu verlassen, besonders wenn du anders bist als sie." - Genau! Ich kümmere mich um sie und in einigen anderen Beiträgen geht es darum, meine Absichten klar zu machen und zu belasten, was funktionieren könnte.
Mendhak
"Meine Statur auf meinem Gebiet hat mir geholfen, Arbeit zu finden". Ein guter Punkt - ein Open Source-Projekt sieht in einem Lebenslauf immer beeindruckend aus.
Mawg
5

Wollen Sie das Projekt abbrechen, weil ...

du willst es nicht mehr machen?

Dann: Graceful Shutdown ala Reader.

Oder ... einen Entwickler einstellen (weiter unten)

Oder weil Sie Geld verlieren?

Kosten aus eigener Tasche berechnen (und weiter unten)

Oder weil Sie kein Geld verdienen?

Berechnen Sie, wie viel Sie verdienen müssen, damit Sie sich anders fühlen:

  1. Spesen müssen übernommen werden
  2. Kosten eines Entwicklers, um die Entwicklung fortzusetzen
  3. eine Gewinnspanne

Seien Sie ehrlich zu Ihren Nutzern: Erklären Sie ihnen, dass die Aufrechterhaltung des Dienstes eine gewisse Zeit, Energie usw. kostet.

Bitten Sie dann um Spenden und / oder berechnen Sie für vorhandene Funktionen. Versuchen Sie nicht, Premium-Funktionen zu erfinden, die nur die Ermittlung verzögern, ob der Service wirklich wertvoll genug ist, um sich selbst zu unterstützen. Gehen Sie einfach mit den Funktionen, die Sie haben.

Wenn Benutzer gut schlampen, können sie woanders hingehen. Wenn nicht genug Spenden und / oder Anmeldungen vorhanden sind, wird der Computer heruntergefahren.

Sei brutal - wenn du den Stecker gezogen hast, schau nicht zurück.

Klopfen
quelle
2
+1 für diese Ideen. Geben Sie Ihre monatliche "Rechnung" an, die Sie berechnen würden, wenn Sie dies für eine gewerbliche Person tun würden. Sagen Sie dann Ihren Benutzern, sie könnten sich zusammenschließen und ab diesem Zeitpunkt einen Betreuer einstellen. Zur Hölle, vielleicht kannst du dich dann sogar auf die Stelle bewerben :)
Zlatko
@zladuric - stimmte zu, deshalb habe ich "Kosten für einen Entwickler, um die Entwicklung fortzusetzen" (wobei "Sie" dieser Entwickler sein könnten). Zu viele Entwickler machen etwas "Spaß", ohne die Notwendigkeit zu erkennen, ein Unternehmen zu führen. TANSTAAFL
Pat
3

Sie haben ein paar Möglichkeiten, wie andere angemerkt haben. Meine Option besteht darin, eine Kündigung für das Lebensende zu erstellen. Geben Sie an, dass das Produkt an diesem oder jenem Datum heruntergefahren wird.

Darüber hinaus wird darauf hingewiesen, dass nur kritische Fehler behoben werden, die sich auf die Fähigkeit der Anwendung auswirken, wie geplant oder beabsichtigt zu funktionieren, da sich dieses Produkt dem Ende der Lebensdauer nähert. Wenn der Server ausfällt, können Sie ihn wieder in Betrieb nehmen.

Wenn Benutzer über Daten verfügen, müssen Sie möglicherweise eine Möglichkeit hinzufügen, diese zu exportieren.

Werfen Sie einen Blick darauf, was Google kürzlich mit Reader getan hat. Sie schalteten es aus und es war ein sehr beliebter Dienst, aber es passte nicht zu ihren langfristigen Zielen, sodass die schwierige Entscheidung, es abzuschalten, getroffen werden musste.

Bill Leeper
quelle
1
+1 Hier ist ein Beispiel für ein ähnliches, exzellentes (IMO) Projekt: picoos.sourceforge.net
Vorac
3

Ist eine Art Zwischenmaßnahme eine mögliche Lösung? Das Projekt am Laufen halten, aber die Arbeitslast verringern?

Sie sagen beispielsweise, dass Sie immer noch auf E-Mails antworten, um Hilfe zu erhalten. Können Sie ein Benutzerforum einrichten und darauf bestehen, dass alle Supportanfragen hierdurch erledigt werden, damit andere Power-User helfen können?

James
quelle
1
Beschränken Sie die Entwicklung außerdem auf wichtige Bugfixes. Auf diese Weise ist die Anwendung funktionsfähig und robust.
Vorac
Gut gemeinte Antwort, die nur das Unvermeidliche verzögert. Töte es oder verdiene Geld. Mach es nicht auf halbem Weg - dann wird es einfach zu einem Energieverbrauch.
Pat
2
@pat Sie scheinen davon auszugehen, dass die einzige Motivation, die jemand haben könnte, Geld ist. Es gibt noch andere Gründe, Open Source-Software zu schreiben. Ich denke, die Op versteht das, wenn sie darüber reden, ihren Benutzern helfen zu wollen. Wie auch immer, vielleicht ist diese Antwort in diesem Fall nicht für das OP geeignet, aber es gibt andere Lösungen als "OMG Money", die zumindest diskutiert werden sollten.
James
@ James - Entschuldigung, aber ja. Wir brauchen Geld, um zu überleben. Wir haben alle sehr wenig Zeit auf dieser Welt. Wir sollten uns auf die Dinge konzentrieren, die den "größten Wert" schaffen. An Projekten zu arbeiten, die nicht bewertet werden, ist eine Verschwendung von Leben. So messen Sie den Wert: 1) Wenn andere Personen keinen Wert in einem Projekt finden (und ihn nicht verwenden), wie "lohnend" ist dieses Projekt? 2) Geld ist, wie wir "Wert" messen. 3) Opportunitätskosten - Wenn OP weiterhin an diesem (nicht bewerteten?) Projekt arbeitet - woran arbeitet das OP weiter?
Pat
@Pat OP gibt eindeutig an, dass das Projekt eine große Nutzerbasis hat, sodass ich nicht weiß, woher Sie diesen "nicht bewerteten" Müll haben. Nur weil derzeit niemand zahlt, heißt das nicht, dass niemand es schätzt. Geld ist ein Wertmaßstab. Viele Leute haben auch andere Maßnahmen in den Griff bekommen, wie zum Beispiel ein nützliches Stück Software, das viele andere wollen. Aber wenn ich von einer begrenzten Zeit spreche, kann ich es wirklich nicht ertragen, in einem Kommentarbereich darüber zu streiten - auf Wiedersehen.
James
1

Wenn Sie zu Pure Paid übergehen, werden viele Benutzer umgebracht, aber es gibt viele Alternativen zu Pure Paid. Ein Videospiel, das ich spiele, bietet den Spendern einige zusätzliche Vorteile wie mehr Downloads pro Stunde. Ein anderes Spiel Path of Exile bietet kosmetische Verbesserungen. Auf anderen Websites werden Umfragen gegen Bandbreite eingetauscht. Mit dem Spendencodierer erhalten kostenlose Benutzer eine Lizenz für (X Time), die beliebig oft verlängert werden kann. Spender erhalten jedoch eine permanente Lizenz.

Es gibt Unmengen von Optionen, die es gegen Bargeld anbieten, aber die freien Benutzer auch behalten.

Die meisten Leute haben kein Problem damit, etwas zu unterstützen, das sie so ehrlich mögen. Ich würde einfach versuchen, zuerst zu fragen, indem ich einen Trinkgeldbereich einrichte, der berechnet wird, um Ihre monatlichen Kosten zu decken.

Drew
quelle
1
Ich kann sehen, wie sich Ihre Antwort auf die Frage des OP bezieht, aber das OP stellt einen etwas anderen Aspekt. Sie möchten das Projekt verlassen. Viele der Punkte in Ihrer Antwort würden eine fortgesetzte Bindung an das Projekt schaffen.
1

Sie haben das open-sourceTag eingefügt, also ist Ihr Projekt vermutlich Open Source-Software.

In der Vergangenheit gab es nur sehr wenige Codebeiträge

Das ist bedauerlich, aber verständlich, falls Sie alles getan haben. Viele Benutzer mischen sich nicht ein, solange es vernünftig funktioniert.

Einige Führungskräfte möchten gerne alle Verantwortlichkeiten delegieren, und einige Führungskräfte möchten eine engere Kontrolle behalten. Zwar ist ein ausgewogenes Verhältnis erforderlich, doch hier ist die schnellstmögliche Delegierung der Schlüssel.

Ich habe über 30 Open Source-Projekte erstellt und viele sind immer noch aktiv, obwohl ich sie verlassen habe. Folgendes würde ich empfehlen:

  1. Gewähren Sie dem Bug-Tracker SEHR großzügig Zugang, vielleicht für jeden, der jemals eine Codezeile beigesteuert hat. Wenn jemand anfängt, verrückte Dinge zu tun (sehr geringe Wahrscheinlichkeit), haben Sie immer noch die Kontrolle des Administrators, um sie zu entfernen. Vergessen Sie nicht, andere Rechte zu vergeben: Quellcode-Kontrolle, Wiki, Crowd-Übersetzung, Facebook-Seite, Twitter-Konto, offizielle Website, Google Analytics usw.

  2. Schreiben Sie im Forum (und auf der Website), dass Sie in den Ruhestand treten und nach einem neuen Projektleiter suchen.

  3. Selbst wenn niemand als Teamleiter einspringt, können schwerwiegende Probleme auftreten (dummes Beispiel: Eine fest codierte URL wird zu 404, wodurch die App beim Start abstürzt), die wahrscheinlich von jemandem behoben werden. Wenn niemand schwerwiegende Fehler behebt, sollten Sie sich keine Sorgen mehr machen, Sie haben getan, was Sie konnten, aber das Projekt scheint nicht mehr realisierbar zu sein.

Nicolas Raoul
quelle
Danke - ich nehme an, das ist der Punkt, an dem Github nicht gerade glänzt - ich habe keine derartigen Sicherheitskontrollen. Welche VCS-Plattformen unterstützen die Funktionen, über die Sie sprechen?
Mendhak
Im Gegenteil, Github ist tatsächlich einer der besten Orte. Mit Github können Sie ein Organisationskonto erstellen und andere Entwickler einladen, diesem Konto beizutreten. Außerdem macht es Github leicht, beliebte Gabeln zu sehen, was eine gute Sache ist.
Nicolas Raoul