Como você deve lidar com um projeto popular que não deseja mais manter?

75

Eu sou o mantenedor de um projeto que possui uma grande base de usuários não técnicos. Eu o mantenho há cerca de 4 anos e adiciono novos recursos conforme solicitado.

Gostaria de passar para outros projetos agora e parar de desenvolver para este aplicativo. Devido à natureza não técnica dos usuários, houve muito poucas contribuições de código no passado. Não acredito que encontrarei mais alguém para assumir o projeto em meu lugar.

Bugs, problemas, solicitações de recursos - eles ainda estão chegando. Ainda estou respondendo aos e-mails para obter ajuda, pois não tenho certeza se devo ignorá-los, dizer que não estou trabalhando no aplicativo ou se devo responder para e-mails em apenas alguns casos.

Qual é a melhor maneira de 'abandonar' esse projeto, mas ainda permite que os usuários usem o aplicativo?


Atualização (julho de 2016) - Não foi como planejado. Fiz um anúncio no README e logo depois comecei a receber contribuições de natureza mais substancial. Receba solicitações com correções de erros, recursos, documentação, atividade de problemas. Desde então, o projeto se sentiu 'revigorado' e agora estou feliz em mantê-lo junto com projetos mais novos. Eu tenho colaboradores também. De qualquer maneira, pode ter sido o tipo de contribuição que estava afetando minha visão do projeto e, com a qualidade das contribuições melhorando, não parecia mais uma tarefa árdua.

Mendhak
fonte
1
Você poderia portá-lo para uma nova plataforma ou nova tecnologia? Dessa forma, seria interessante trabalhar e você poderia explicar para dar suporte a chamadas de que correções e aprimoramentos não seriam mais feitos no código antigo e sugerem que eles atualizem quando estiver pronto, etc.?
Stefan
5
Por curiosidade, qual é o projeto? Ligação? (assumindo que é open source)
Andres F.
70
É o Google Reader, não é?
Kyralessa
3
Verifique duas vezes sua suposição: a sua base de usuários não é técnica demais para manter o projeto ou está fechada demais para permitir a participação além de problemas e solicitações de recursos?
Bengt
Agora todos queremos ver o projeto ... Você deve adicionar o link.
Davisales

Respostas:

40

Acho que esse não é um projeto em um local de trabalho em que você é um funcionário remunerado e faz algo de graça no seu tempo livre?

Se você não está ganhando dinheiro com isso, então claramente não há incentivo para você e nenhum incentivo para que alguém mais possa vir a lidar com isso. (a menos que seja para uma instituição de caridade ou organização voluntária semelhante)

Como alternativa, por que não considerar a possibilidade de adicionar recursos pagos?

Dessa forma, você pode ter algum incentivo para continuar. Você pode encontrar pessoas dispostas a pagar, especialmente quando a alternativa é que o sistema pare de ser desenvolvido ativamente. (é claro que as pessoas podem abandonar seu sistema, mas você se importa, você já não está sendo pago).

Outra opção poderia ser usar o projeto para aprender novas tecnologias? É um site? Atualizar para a tecnologia mais recente? Converter de Asp.Net em MVC4, por exemplo? criar uma versão móvel, torná-la baseada em serviços e criar um front end de aplicativo para iOS?

ozz
fonte
23
Uma possibilidade diferente é vender (ou doar) o projeto para uma empresa. Você tem os usuários, uma empresa pode ver o lucro.
Sulthan
@Sulthan absolutamente!
precisa
1
Se você não está ganhando dinheiro com essas taxas de aumento ou começa a cobrar pelo serviço.
Bill Leeper
9
Ele o marcou como "código aberto". Isso é como caridade ou trabalho voluntário. Os motivos são simplesmente diferentes. Normalmente, você não pode vender projetos de código aberto. Mas ele sempre poderia cobrar por trabalho adicional. Obtenha um pool de doações para o que será corrigido / adicionado a seguir.
Philip
@ Sulthan - muito interessante, não tinha considerado isso. Vou ver quais empresas estariam interessadas nisso.
Mendhak
25

Anuncie seu abandono do produto à sua comunidade de usuários. Talvez você encontre um sucessor para o seu papel de mantenedor. Tente organizar algum tempo de entrega, como faria com um projeto em seu trabalho diário.

Como esr colocou em A Catedral e o Bazar :

Quando você perde o interesse em um programa, seu último dever é entregá-lo a um sucessor competente.

Resíduo
fonte
2
Para adicionar isso, comente nos sites de programação e veja se alguém está disposto a assumir. Algumas pessoas não sabem ao certo quais projetos desejam, mas desejam alguma experiência em codificação e estão abertas a idéias. O período de entrega pode envolver mais trabalho no curto prazo, mas esperamos que seja recompensado no longo prazo.
James
11

Outra sugestão para você, que é um pouco o oposto do que você está pedindo, mas acho que deveria estar na sua lista para consideração. Você já pensou em não abandoná-lo? Se você tem um projeto em que há pessoas usando ativamente e com requisitos crescentes, mas não consegue modificá-lo por conta própria e você é o único especialista no software ... então está na posição de cobrar-lhes dinheiro por isso.

Se a fonte estiver aberta, considere fechá-la (sua escolha se você deseja reprimir a concorrência desenvolvendo ainda mais o projeto). Quando a próxima solicitação de recurso chegar, diga sim por uma cobrança de $ xyz.

Apenas uma opção a considerar.

Ian
fonte
11
Tomar um aplicativo de código aberto anteriormente e torná-lo de código fechado incomodaria bastante muitos usuários e talvez nem seja legalmente possível se outros usuários tiverem contribuído com código sob certas licenças de código aberto, dependendo de qualquer contrato de colaborador que eles assinaram ou não. Há uma grande diferença entre cobrar pelo seu trabalho em um projeto de código aberto e fechar repentinamente o que estava aberto anteriormente.
James
3
@ James A cobrança pelo trabalho realizado não significa necessariamente código fechado. Significa apenas que alguém deseja que o software tenha novos recursos e deseja incentivo para adicioná-lo - não há razão para que ele não possa cobrar por seu trabalho, mantendo-o em código aberto.
Daenyth 14/07
1
@ Daenyth Claro, mas esta resposta menciona especificamente fechá-la, então é algo que precisa ser discutido.
James
@ James Você não precisa torná-lo de código fechado. Você ainda pode liberar os novos recursos como código-fonte aberto ... mas não há motivo para liberar para confirmar o código até que a verificação seja limpa.
Sled
1
@ArtB Sim, eu sei, mas esta resposta menciona especificamente fechá-la, então meu comentário foi especificamente em referência a isso.
James
7

É uma coisa difícil abandonar sua base de fãs, especialmente quando você é diferente deles. Se houvesse desenvolvedores no grupo de usuários, seria um problema fácil de resolver: basta anunciar sua saída iminente e sugerir que mais alguém avance, oferecendo-se para ajudá-los a se atualizar antes de sair. Como não há, a pergunta é realmente a seguinte: Você (ou seus usuários) pode encontrar alguém para substituí-lo em um período que faça sentido para você (ou seus usuários).

No passado, mantive vários projetos por anos mais do que desejava, porque isso era bom para minha reputação. Minha estatura, comparativamente pequena que seja, na minha área me ajudou a encontrar empregos quando eu precisava ou queria deles, e isso tem valor para mim. Valor suficiente para fazer valer a pena dedicar meu tempo quando pude. Eventualmente, é claro, me afastei, mas verifiquei se o código completo do projeto estava disponível para qualquer sucessor.

Ross Patterson
fonte
"É difícil abandonar sua base de fãs, especialmente quando você é diferente deles." - Exatamente! Eu me preocupo com eles e alguns dos outros posts aqui estão falando sobre deixar minhas intenções claras + cobrar, o que poderia funcionar.
Mendhak
"Minha estatura na minha área me ajudou a encontrar empregos". Bom ponto - um projeto de código aberto sempre parece impressionante em um currículo / currículo.
MAWG
5

Deseja abandonar o projeto porque ...

você não quer mais fazer isso?

Então: desligamento gracioso ala Reader.

Ou ... contrate um desenvolvedor (continue abaixo)

Ou porque você está perdendo dinheiro?

Calcular custos diretos (e continuar abaixo)

Ou porque você não está ganhando dinheiro?

Calcule quanto você precisa fazer para se sentir diferente:

  1. custos diretos devem ser cobertos
  2. custo de um desenvolvedor para continuar o desenvolvimento
  3. uma margem de lucro

Seja honesto com seus usuários: explique a eles que custa uma certa quantidade de tempo, energia etc. para manter o serviço.

Em seguida, peça doações e / ou cobrar pelos recursos existentes . Não tente inventar recursos premium que atrasam a determinação de se o serviço é realmente valioso o suficiente para se sustentar. Basta ir com os recursos que você tem.

Se os usuários se queixam bem, podem ir para outro lugar. Se não houver doações e / ou inscrições suficientes, encerre.

Seja brutal - depois de puxar o plugue, não olhe para trás.

Pat
fonte
2
+1 para essas idéias. Inclua sua "fatura" mensal que você cobraria se estivesse fazendo isso comercialmente por alguém. Em seguida, diga aos seus usuários que eles podem se associar e contratar um mantenedor a partir desse ponto. Inferno, talvez você ainda pode aplicar para a posição então :)
Zlatko
@ zladuric - concordou que é por isso que eu tenho "o custo de um desenvolvedor para continuar o desenvolvimento" (onde "você" pode ser esse desenvolvedor). Muitos desenvolvedores fazem algo "divertido" sem reconhecer a necessidade de administrar um negócio. TANSTAAFL
Pat
3

Você tem algumas opções, como outras já mencionadas. Minha opção é emitir um aviso de fim da vida útil. Indique que o produto será desligado nessa e nessa data.

Além disso, indique que, como esse produto está chegando ao fim da vida útil, serão solucionados apenas os erros críticos que afetam a capacidade do aplicativo de funcionar como projetado ou pretendido. IE, se o servidor estiver inativo, você o colocará em funcionamento novamente.

Se os usuários tiverem dados, talvez seja necessário adicionar uma maneira de exportá-los.

Veja o que o Google fez recentemente com o Reader para obter orientação. Eles o fecharam e era um serviço muito popular, mas não se encaixava em seus objetivos de longo prazo, pelo que a difícil decisão de desligá-lo precisava ser tomada.

Bill Leeper
fonte
1
+1 Aqui está um exemplo de um excelente projeto semelhante, (IMO): picoos.sourceforge.net
Vorac
3

Algum tipo de medida intermediária é uma solução possível? Mantenha o projeto em andamento, mas diminua sua carga de trabalho?

Por exemplo, você diz que ainda está respondendo a e-mails para obter ajuda. Você pode criar um fórum de usuários e insistir em que todas as consultas de suporte sejam feitas para que outros usuários avançados possam ajudar?

James
fonte
1
Além disso, limite o desenvolvimento a apenas as principais correções. Dessa forma, o aplicativo (deve acabar) funcional e robusto.
Vorac
Resposta bem intencionada que está apenas atrasando o inevitável. Mate-o ou ganhe dinheiro. Não faça isso até a metade - então isso se torna apenas um dreno de energia.
Pat
2
@pat você parece estar assumindo que a única motivação que alguém poderia ter é dinheiro. Existem outras motivações para escrever software de código aberto, algo que eu acho que o op entende enquanto fala sobre querer ajudar seus usuários. Seja como for, talvez essa resposta não seja adequada para o OP neste caso, mas existem outras soluções além do "OMG Money" que devem pelo menos ser discutidas.
James
@ James - desculpe, mas sim. Precisamos de dinheiro para sobreviver. Todos nós temos uma quantidade muito limitada de tempo neste mundo. Devemos focar nas coisas que criam mais "valor". Trabalhar em projetos que não são valorizados é um desperdício de vida. Como medir o valor: 1) se outras pessoas não encontrarem valor em um projeto (e não o usarem), então quão "recompensador" é esse projeto? 2) dinheiro é como medimos "valor". 3) Custo de oportunidade - se o OP continuar trabalhando neste projeto (sem valor?) - em que o OP está passando?
Pat
O @Pat OP afirma claramente que o projeto tem uma grande base de usuários, então não sei de onde você está recebendo esse lixo "sem valor". Só porque ninguém paga atualmente não significa que ninguém a valorize. Dinheiro é uma medida de valor; muitas pessoas também colocam ações em outras medidas, como se fossem um software útil que muitos outros desejam. Mas por falar em tempo limitado, eu realmente não posso me incomodar em entrar em uma discussão política sobre isso em uma seção de comentários - adeus.
James
1

Passar para o puro pago matará muitos usuários, mas existem muitas alternativas ao puro pago. Um videogame que eu jogo oferece aos doadores algumas vantagens extras, como mais downloads por hora ", um jogo baseado em habilidades, para não confundir com pagamento para ganhar lixo, lol". Outro jogo Path of Exile oferece atualizações cosméticas. Outros sites colocam pesquisas em troca de largura de banda. O codificador de doações oferece aos usuários gratuitos licenças para (X Time) renováveis ​​quantas vezes quiserem, mas os doadores obtêm licenças permanentes.

Existem inúmeras opções para oferecê-lo por dinheiro, mas ainda mantém os usuários gratuitos por perto.

A maioria das pessoas não tem nenhum problema em apoiar algo de que gosta com tanta sinceridade. Eu tentaria perguntar primeiro, configurando uma área de gorjeta calculada para cobrir seu custo mensal.

Desenhou
fonte
1
Eu posso ver como a sua resposta está relacionada à pergunta do OP, mas o OP está pedindo um aspecto um pouco diferente. Eles querem seguir em frente no projeto. Muitos dos pontos em sua resposta criariam um vínculo contínuo com o projeto.
1

Você incluiu a open-sourcetag, então acho que seu projeto é de software de código aberto.

houve muito poucas contribuições de código no passado

Isso é lamentável, mas compreensível no caso de você estar fazendo tudo. Muitos usuários não se envolvem desde que funcionem razoavelmente.

Alguns líderes gostam de delegar todas as responsabilidades e outros gostam de manter um controle mais rígido. Embora seja necessário um equilíbrio, delegar o mais rápido possível é a chave aqui.

Eu criei mais de 30 projetos de código aberto e muitos ainda estão ativos, mesmo que eu os tenha deixado. Aqui está o que eu recomendaria:

  1. Dê acesso ao rastreador de erros MUITO generosamente, talvez para quem já contribuiu com uma linha de código. Se alguém começar a fazer coisas malucas (probabilidade muito baixa), você ainda terá controle de administrador para removê-las. Não se esqueça de ceder outros direitos: controle de código-fonte, wiki, tradução em massa, página no Facebook, conta no Twitter, site oficial, análise do Google, etc.

  2. Poste no fórum (e no aviso do site) anunciando que você está se aposentando e procurando um novo líder de projeto.

  3. Mesmo que ninguém interaja como líder de equipe, problemas fatais que podem ocorrer (exemplo bobo: um URL codificado se torna 404, causando o travamento do aplicativo na inicialização), provavelmente será corrigido por alguém. Se ninguém corrige falhas fatais, significa que você não deve mais se preocupar muito, você fez o que pôde, mas o projeto não parece mais viável.

Nicolas Raoul
fonte
Obrigado - acho que é aqui que o Github não brilha exatamente - não tenho esse tipo de controle de segurança. Quais plataformas VCS suportam o tipo de recursos que você está falando?
Mendhak 29/07
Pelo contrário, o Github é realmente um dos melhores lugares. Com o Github, você pode criar uma conta de "organização" e convidar outros desenvolvedores para participar. Além disso, o Github facilita a visualização de garfos populares, o que é uma coisa boa.
Nicolas Raoul