In my experience, making add-ons ready to be used by anyone is the hardest part. All of my code is entirely console based, full of debug lines and uses constant ownership methods (my brickgroup for example). I assure you, I'm not keeping the things I make for myself out of greed, it would simply be too time consuming to make the code fool-proof and give it a logical interaction system (GUI). Like take the time I have spent working on it so far and match it at the very least.
which is why you should release it anyways, we can step in and fix/add things if need be
look at what i did with castle crashers, as an example