@garbados Free Software can be not published.
Free software means that users of that software need to be able to access the code, edit it, use it with any purpose and all that. But that doesn't mean it has to be public. It has to be accessible for them.
All the projects I make have a social part so I share many of them in public or parts of them (or donate money to FS).
Many times software I make is not usable out of the scope of the projects so I try to share useful parts.