Agreed.
My distractions are:
- Kids
- Xbox
- Work
- Investments
- Friends
- Music (Learning to play Bass and Drums)
In that order
I wish I had more time to spend on OSDev, and I wish that I had started back in my teens or 20's when I had way more free time, but, alas...
However, staying motivated, for me, involves imagination, vision, and focus on the end goal, and a desire to see it become a reality some day.
I think they key is to let yourself become just shy of completely obsessed for a short time -- a few weeks, perhaps -- and then, once you've become "burned out" a little, you take some time and enjoy the other things in your life that you've missed. This may take a month or two, but it will clear your mind and set you up for the next "burn out" phase.
I've noticed that other people use this same approach for most other side-projects as well, like recording albums, home improvement, working on old cars, etc.
Another problem that I have is thinking up other development projects and trying to work on them at the same time. I did this for a few years, but I've pretty much stopped even trying to swap between active projects, because it really does prevent you from finishing anything on any project. I would recommend either saving these other projects for later, or completely stopping development on your current project for a few years, if you are going to focus on a more important, or a more interesting project. This takes discipline, though...
This site is a good motivator. Seeing other people making progress on their dream projects makes me want to focus on mine. And even the negative feedback, which I normally try to ignore, still seems to inspire me, even if it's only to prove the nay-sayers wrong.
Good luck staying motivated...