Working on your own project is great. You can basically decide all the features you want to implement by yourself. You get to implement the features you are capable of and those you are willing to learn the necessary skills. You can even implement features just for the sake of learning.
But when all those features start flowing in it feels like there is no end. There are always things to add, improve or learn. The only limit is you willingness to put your time and effort into the project.
On the other end of the spectrum are those customer projects where you have to implement exactly what the customer wants. There is no room for creativity and no opportunities to learn. Except when you are asked to do something far beyond your skills.
Doing a community project falls somewhere in between these two extremes. You can still greatly affect the things you do, but you still need to keep the needs and hopes of the community in mind. There will be new feature requests, but there will also be different opinions on how things should be. It's the balance of freedom and discipline that needs to be found.