Sometimes a crazy idea leads to an interesting side project and you start right away, you are incredibly motivated and then, all of a sudden, your side project gives you a hard time and you try to tell yourself you will finish it when, in fact, you have already killed it in your subconsciousness.
At that stage your side project is already hindering you from creating other great stuff so simply get rid of your side project now. It's as easy as putting it somewhere you don't see it every day. If you are like me, you probably have a "projects" directory somewhere on your harddrive. Skim through your projects and decide if you really want to continue them. If not, delete it or put it somewhere into the cloud. If you have some clever lines in it, extract them and put them into a dedicated place. Imho this is the better side project :).
The dilemma with side projects is that you keep yourself distracted whenever you think about them. In fact, most of your side projects were born so you can show yourself off. So even if you didn't finish it, you have to keep the projects, you have to maintain websites that show off these projects etc...this is time consuming and meaningless as your subconsciousness already hates these side projects.
And when I'm writing "you", I probably just writing about myself. So what am I going to do with my side projects I list on the "projects" website? Yup, I'll get rid of them :).
Please don't pollute github with your unfinished and abandoned side projects. I know most people judge by looking at your github profile but if that's your goal of life, I feel very sorry for you. So what will I do with my github projects? Yup, delete most of them! :).
So it sounds I want to give up all kinds of side projects; well, no, I actually recommend to code something in your free time as it's often the only time you can break out of corporate jails. Not everyone is working in a hippietrippie start up company where you can start with something 0.0.1 :).
A perfect side project is something that you would use regularly. Something you really need but isn't available anywhere. Don't re-implement something that you are already using unless you really miss a feature. And even then you should try to add your desired functionality to the product if it's opensource. If it's not opensource, try to find an alternative and if you don't succeed, then it's probably safe to start a side project and create just what you need. But make sure you are really using it; otherwise you will kill it in your subconsciousness.
What? Why not? If you start a side project just to get respect from other people, just don't do it. Why not? Because your side project will feel like you are at work working for money when, in fact, you are sitting at home, and giving away your free time for nothing. Your project will probably fail as your brain realizes the fact you really don't like your own side project :P. If you are your best user, then it's ok if other people respect you for doing this side project because then it's just a side effect. But make sure people aren't requesting changes as it will lead to a "work" feeling again.
This is controversial but I'm convinced about it. Never ever choose something like BSD or any other similar license for your side project as this means you are opening up the possibility for companies to use your code, make improvements or changes, and profit from it without ever giving back the improvements to you. Do you want that? I don't. I don't see a single reason this is good for your side project in any way. It's only a gift for greedy companies that just want to use your implementation to complement theirs. If you choose gpl as your license these greedy companies will more likely stay away from your code :). Do you want that? Yup, I want that.
I never wanted to write a post like this but I feel better now. Now I need some time cleaning up my github mess :).
I hope this text was useful.