I work as a freelancer and at the moment I do client work 3 days a week and dedicate the rest of the time to the open-source work. The open-source work includes doing research and implementing these tools, but also preparing the talks, which is a very time consuming task for me. Doing conference talks is very emotionally exhausting, I dread the previous weeks to the talk---but the feeling afterwards is very good and it is a good way to get exposure, I hope.
My dream is to some day form a social company with a coop structure that works full-time on open-source, either directly or indirectly helping clients use these tools in their system. I hope I am set up in the right direction.
Recently I opened a Twitter account to talk mostly about my open-source stuff [1]. I admittedly hate Twitter as a social network, but I've been convinced that it is a good place for networking in our industry, so I just play the game.
I keep telling myself that I should open blog too, but then I realize that one can't simply do everything all the time, so I guess maybe I'll never do it.
To your last question: is it unfair to not do marketing to your work? Totally not. Just do whatever feels right to you. If one day you realize you have built something really useful, probably you'll get the urge to tell people about it.
[1] Immutable data-structures for C++: https://github.com/arximboldi/immer
Example usage: https://github.com/arximboldi/ewig
[2] https://www.youtube.com/watch?v=sPhpelUfu8Q