I am developing
python library for database inspection. When is good time to announce/release it? Obvious answer is that when it's ready to be used. But I would like to get some feedback on the API, on what would be useful and act accordingly to
release early rule. Any advice on what I should consider before releasing?
I am developing
There's a fine line between releasing too early, when there's not enough functionality in your library and the API can change wildly, and releasing too late to be open to critical feedback. Unless your library does something really new or interesting, it had better do what it does pretty well or few people will take the time to learn how to use it and offer any useful feedback. If you then need to change the API out from under them, expect some grumbling. So be clear about your status, clear about what your library offers its potential users, and don't be afraid to trust your judgement over someone else's when you're right.
I should say now. The reason I say this is because you can never really be sure how much people will take to it. Maybe nobody will care, maybe it will be in huge demand. If you keep on working alone, you may put in wasted effort because nobody wants it. Or you may end up doing work that interested people may have done. Also, any early software project could do with some extra eyeballs going over the design choices, API etc.
Obviously, the restriction that it should be usable applies. But if you are following proper SE principles, you probably have several stages where the software would be in a releasable state. Try to release it whenever it reaches such a stage.
Now is always a good time. Unless it's some ungodly huge code base with oodles of unique functionality you're probably not going to receive a lot of feedback in the near future. Swearing in the code base is also almost a requirement these days, so don't worry about that. The only check I'd do is to make sure no data that is only relevant for you is hardcoded.