views:

204

answers:

5

Hey, I've built a project over the course of a year. I've put in a lot of hours into it, and it has come out great. A bunch of people use it, and a bunch of people write plugins for it. However, I have since moved on to different languages, different styles, the codebase is dirty and hackish, and I'm not sure I want to continue working in the framework I built it in.

When do you know that you should shut down a project and move on?

+6  A: 

When you don't want to work on it anymore. Have you thought about open sourcing it so the community of users could continue to support it if they wanted?

zodeus
it already is open source
Majd Taby
Then just find a new maintainer. Someone like who you were a year ago when you started, who will be excited to look at and learn from all the code and won't mind what you find to be it's poor-ish quality.
Chris Lutz
I agree with Chris
zodeus
A: 

Are you certain you won't gain more valuable experience/knowledge from working on this project? Why not reimplement it in the language/platform of your choice thereby making it a learning experience?

Assaf Lavie
+2  A: 

If you are sure you are ready to leave the project, then you can do so, but you should consider your users first. They still find it useful; they have contributed hours of work to write the plugins.

So, your first imperative is to make sure that those who want to use what they find useful can still do so, and can still enhance it. So, ask for a volunteer to take over the project, or a group. Provide them with the source, and your candid assessment of where the flaws are and what needs to be done to rectify them (rewrite).

If you simply close down the project, you will make a lot of people unhappy with you who are currently happy with you - that would be silly. It's easy enough to make enemies without going out of your way to alienate people who will otherwise respect your decision.

Jonathan Leffler
+3  A: 

Once you have lost inspiration and a project starts to get boring and you are to the point you can't get much or anymore experience from the project it's time to move on. If a project's codebase is too screwed up to fix then it's time to move on. If people use it and people write plugins for it, I'd personally make the project open source and turn it over to the community to continue otherwise just end it.

Find a new maintainer since it's already open source. Ask for a volunteer. If they like it they will surely jump at the opportunity to maintain it.

Rayne
"Turning it open-source" is not a fix-all solution. It would be nice as a bare minimum to try and find a new maintainer for the program.
Chris Lutz
Sorry. I didn't see the second paragraph when I posted that. Agree completely now
Chris Lutz
I forgot to add that last paragraph at first. Had it copy-pasted but hit enter before adding it.
Rayne
Actually, not all users of a project necessarily have the skills to develop or maintain it. I look after a project 12+ years since starting, and can't find anyone to take it over because the skills needed to do so are sufficiently esoteric. The customer base is significant - so I continue.
Jonathan Leffler
A: 

I would say that if you are going to spend more time rewriting and trying to work around your current framework then starting from scratch with a better design and plan, then it's a good time to move on.

I think it really depends on your motivation for the project though. If it's purely financial then you can do a straight cost analysis. If it was for a hobby or learning experience, you may want to move on even if it would be easier to stay with the current project.

ChurchSkiz
Well I started it as a learning experience and a way to showcase my abilities and bolster my resume..i accomplished all my goals. Now I have grown as a programmer and the framework (CodeIgniter) along with the language (PHP) both seem like they're more trouble than their worth, and both unorganized.
Majd Taby