77

I am the maintainer of a project which has a large non-technical userbase. I've been maintaining it for about 4 years now and adding new features as they've been requested.

I'd like to move on to other projects now and stop developing for this application. Because of the non-technical nature of the users, there have been very few code contributions in the past. I don't believe I will be able to find anyone else to take over the project in my stead.

Bugs, issues, feature requests - these are still coming in. I am still responding to emails for help, as I am not sure if I should ignore them, tell them that I'm not working on the application, or if I should respond to emails in only certain cases.

What is the best way to 'abandon' this project, but still let users use the application?


Update (July 2016) - It didn't go as planned. I made an announcement in the README and soon after, I started receiving contributions of a more substantial nature. Pull requests with bug fixes, features, documentation, issue activity. Since then, the project has felt 'reinvigorated' and I'm now happily maintaining it along with newer projects. I have collaborators as well. At a guess, it may have been the kind of contributions which were affecting my view of the project and with the quality of contributions improving, it didn't feel like a chore any more.

9
  • 1
    Could you port it to a new platform or new technology? That way it would be interesting for you to work on and you could explain to support calls that bug fixes and enhancements would no longer be made to the old code and suggest they upgrade when it is ready etc?
    – Stefan
    Commented Apr 4, 2013 at 12:52
  • 5
    Out of curiosity, what is the project? Link? (assuming it's open source)
    – Andres F.
    Commented Apr 5, 2013 at 0:49
  • 70
    It's Google Reader, isn't it?
    – Kyralessa
    Commented Apr 5, 2013 at 3:13
  • 3
    Double-check your assumption: Is your userbase too non-technical to maintain the project or is your project too closed to enable participation beyond issues and feature requests?
    – Bengt
    Commented Apr 8, 2013 at 21:47
  • Now we all want to see the project... You should add the link.
    – daviewales
    Commented Jul 14, 2013 at 2:56

9 Answers 9

41

I'm guessing this is not a project at a workplace where you are a paid employee and something you do in your spare time for free?

If you are making no money from this, then clearly there is no incentive for you, and no incentive for anyone else to come in fresh to deal with it. (unless maybe it is for a charity or similar voluntary organisation)

As an alternative, why not look at the possibility of adding paid for features.

This way you may have some incentive to continue. You might find people willing to pay, especially when the alternative is for the system to stop being actively developed. (of course people may abandon your system, but what do you care, you already aren't being paid).

Another option could be to use the project to learn new technologies? Is it a website? Upgrade to the latest technology? Convert from Asp.Net to MVC4 for example? build a mobile version, make it service based and create an iOS app front end for it?

10
  • 23
    A different possibility is to sell (or donate) the project to a company. You have the users, a company can see the profit.
    – Sulthan
    Commented Apr 4, 2013 at 13:25
  • @Sulthan absolutely!
    – ozz
    Commented Apr 4, 2013 at 13:31
  • 1
    If you are not making money from this raise rates or start charging for the service. Commented Apr 4, 2013 at 15:44
  • 10
    He tagged it "open source". That IS kinda like charity or volunteer work. The motives are simply different. Typically you can't sell open sourced projects. But he could always charge for additional work. Get a donation pool going for what gets fixed/added next.
    – Philip
    Commented Apr 4, 2013 at 20:13
  • @Sulthan - very interesting, hadn't considered that. I will see which companies would be interested in this.
    – Mendhak
    Commented Apr 5, 2013 at 5:44
27

Announce your abandoning of the product to your community of users. Maybe you will find a successor for your role as maintainer. Try to organize some time of handover, as you would with a project in your day job.

As esr put it in The Cathedral And The Bazaar:

When you lose interest in a program, your last duty to it is to hand it off to a competent successor.

1
  • 2
    To add to this, comment on programming sites and see if anyone is willing to take over. Some people aren't sure what projects they want to do but want some coding experience and are open to ideas. The handover period may involve more work in the short term but will hopefully pay off in the long term.
    – James
    Commented Apr 5, 2013 at 7:19
11

Another suggestion for you, which is slightly the opposite of what you're asking but I think should be in your list for consideration. Have you considered not abandoning it? If you have a project that there are people actively using and have increasing requirements for, but are unable to modify it themselves and you are the only expert in the software... then you are in the position to charge them money for it.

If the source is open, you could consider closing it (your choice if you want to stifle competition developing the project further). When the next feature request comes in, say yes for a charge of $xyz.

Just an option to consider.

5
  • 12
    Taking a previously open source application and making it closed source would annoy many users greatly and may not even be legally possible if other users have contributed code under certain open source licenses, depending on any contributor agreements they did or did not sign. There is a very big difference between charging for your work on an open source project and suddenly closing what was previously open.
    – James
    Commented Apr 4, 2013 at 19:59
  • 3
    @James Charging for work done doesn't necessarily mean closed source. It just means that someone wants the software to have a new features, and he wants incentive to add it - there's no reason he can't charge for his work while keeping it open source.
    – Daenyth
    Commented Jul 14, 2013 at 20:03
  • 1
    @Daenyth Of course, but this answer specifically mentions closing it, so its something that needs discussing.
    – James
    Commented Jul 14, 2013 at 21:33
  • @James You don't need to make it closed source. You can still release the new features as open-source... but there is no reason to release to commit the code until the cheque clears.
    – Sled
    Commented Jul 15, 2013 at 17:09
  • 1
    @ArtB Yes I know, but this answer specifically mentions closing it, so my comment was specifically in reference to that.
    – James
    Commented Jul 15, 2013 at 17:46
8

It's a tough thing to abandon your fan base, especially when you're different from them. If there were developers in the user group, it would be an easy problem to solve: just announce your impending exit and suggest that someone else step up, offering to help them get up to speed before you leave. Since there aren't, the question is really this: Can you (or your users) find someone to replace you in a timeframe that makes sense to you (or your users).

In the past, I've maintained several projects for years longer than I cared to because it was good for my reputation. My stature, comparatively small though it is, in my field has helped me find jobs when I've needed or wanted them, and that has value to me. Enough value to make it worth putting my time in when I could. Eventually, of course, I walked away, but I made sure the full project code was available to any successors.

2
  • "It's a tough thing to abandon your fan base, especially when you're different from them." - Exactly! I do care about them and some of the other posts here are talking about making my intentions clear + charging, which could work.
    – Mendhak
    Commented Apr 5, 2013 at 5:36
  • "My stature in my field has helped me find jobs". Good point - an Open Source project always looks impressive on a resume/CV.
    – Mawg
    Commented Mar 26, 2015 at 15:22
5

Do you want to abandon the project because...

you don't want to do it any more ?

Then: Graceful shutdown ala Reader.

Or ... hire a developer ( continue below)

Or because you are losing money?

Calculate out-of-pocket costs ( and continue below)

Or because you aren't making money?

Calculate how much you need to make for you to feel differently :

  1. out-of-pocket costs must be covered
  2. cost of a developer to continue development
  3. a profit margin

Be honest with your users: explain to them that it costs a certain amount of time, energy, etc. to maintain the service.

Then ask for donations and/or charge for existing features. Do not try to invent premium features that just delays determining if the service is really valuable enough to support itself. Just go with the features you have.

If users bitch well then they can go elsewhere. If not enough donations and/or sign-ups, then shutdown.

Be brutal - once you pull the plug don't look back.

2
  • 2
    +1 for these ideas. Include your monthly "bill" you would charge if you were doing this for somebody commercially. Then say to your users they could pool in and hire a maintainer from that point on. Hell, maybe you can even apply for the position then :)
    – Zlatko
    Commented Jul 15, 2013 at 9:25
  • @zladuric - agreed that is why I have "cost of a developer to continue development" ( where "you" could be that developer ). Too many developers do something "fun" without recognizing the need to run a business. TANSTAAFL
    – Pat
    Commented Jul 15, 2013 at 19:35
3

You have a couple of options as other have noted. My option is to put out an end of life notice. Indicate that the product will be shutting down on such and such a date.

Additionally indicate that since this product is nearing end of life, only critical bugs that impact the ability of the application to function as designed or intended will be addressed. I.E. if the server is down you will get it up and running again.

If users have data, you may have to add a way for them to export it.

Take a look at what Google recently did with Reader for guidance. They shut it down and it was a very popular service, but it didn't fit their long term goals so the tough decision to shut it down needed to be made.

1
3

Is some kind of half way measure a possible solution? Keep the project going but lessen your workload?

For example, you say you are still responding to emails for help. Can you set up a users forum and insist all support queries are done through that so other power-users can help?

6
  • 1
    Furthermore, limit development to only major bugfixes. That way the application (is supposed to end up) functional and robust.
    – Vorac
    Commented Apr 11, 2013 at 10:38
  • Well meaning answer that is just delaying the inevitable. Kill it or make money. Don't do it halfway - then it just becomes a energy drain.
    – Pat
    Commented Jul 13, 2013 at 21:16
  • 2
    @pat you seem to be assuming the only motivation someone could have is money. There are other motivations to writing open source software, something I think the op understands as they talk about wanting to help their users. Whatever, maybe this answer isn't right for the OP in this case but their are other solutions than "OMG Money" that should at least be discussed.
    – James
    Commented Jul 14, 2013 at 21:41
  • @James - sorry but yes. We need money to survive. We all have a very limited amount of time in this world. We should focus on the things that create the most "value". Working on projects that are not valued is a waste of life. How to measure value: 1) if other people don't find value in a project (and don't use it), then how "rewarding" is that project? 2) money is how we measure "value". 3) Opportunity cost - if OP continues to work on this (not valued?) project - what is the OP passing on working on?
    – Pat
    Commented Jul 15, 2013 at 19:52
  • @Pat OP clearly states project has a large user base, so i don't known where your getting this "not valued" rubbish from. Just because no-one currently pays for does not mean no-one values it. Money is one measure of value; many people also put stock in other measures, such as they made a useful piece of software many others want. But talking of limited time, I really can't be bothered to get into a political argument on this in a comments section - goodbye.
    – James
    Commented Jul 15, 2013 at 22:51
1

Well going over to pure paid will kill off a lot of users, but there are a lot of alternatives to pure paid. A video game I play gives donators some extra perks like more downloads per hour "a pure skill based game, not to confuse with pay to win garbage lol". Another game Path of Exile offers cosmetic upgrades. Other sites put surveys in exchange for bandwidth. Donation coder gives free users a licenses for (X Time) renewable many times as they want, but donators get a permanent licenses.

There are tons of options offer it for cash but still keep the free users around as well.

Most people have no problem supporting something they like so honestly I'd just try asking first by setting up a tip area calculated to cover your monthly cost.

1
  • 1
    I can see how your answer relates to the OP's question, but the OP is asking a slightly different aspect. They want to move on from the project. Many of the points in your answer would create a continued tie to the project.
    – user53019
    Commented Jul 14, 2013 at 12:15
1

You have included the open-source tag, so I guess your project is software is open source.

there have been very few code contributions in the past

That's unfortunate, but understandable in case you were doing everything. Many users don't get involved as long as it works reasonably.

Some leaders like to delegate all responsibilities, and some leaders like to keep tighter control. While a balance is necessary, delegating as soon as possible is the key here.

I have created over 30 open source projects, and many are still active even though I have left them. Here is what I would recommend:

  1. Give bug tracker access VERY generously, maybe to anyone who has ever contributed a line of code. If someone starts doing crazy things (very low probability), you still have admin control to remove them. Don't forget to give out other rights: source code control, wiki, crowd-translation, facebook page, twitter account, official website, google analytics, etc.

  2. Post in the forum (and website notice) announcing that you are retiring, and looking for a new project leader.

  3. Even if no one steps in as a team leader, fatal problems that could occur (silly example: a hard-coded URL becomes 404, making the app crash at startup), it will probably be fixed by someone. If nobody fixes fatal flaws, then it means you should not worry too much anymore, you have done what you could, but the project does not appear to be viable anymore.

2
  • Thanks - I suppose this is where Github doesn't exactly shine - I don't have those kind of security controls. What VCS platforms support the kind of features you're talking about?
    – Mendhak
    Commented Jul 29, 2013 at 12:03
  • On the contrary, Github is actually one of the best places. With Github you can create an "organization" account, and invite other developers to join it. Also, Github makes it easy to see popular forks, which is a good thing. Commented Jul 30, 2013 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.