TBRSS does a lot of interesting things – it is a feed fetcher, a feed reader, and a sophisticated text analyzer – but it is not a large program, usually around 10,000 lines of code. It stays small because, whenever possible, I move functionality into separate libraries. Lately, I have been getting some of these libraries ready for release.
TBRSS is built on open source software; naturally I want to do my part. But I see very little value in the fashionable idea of open sourcing the application. Applications are compromises: they run in a particular environment, on particular hardware, and reflect a path-dependent history of hacks and trade-offs.
As a rule, interesting functionality should be moved into libraries, and those libraries should be open-sourced. It’s only fair; it’s an sleazeless form of self-promotion; and it’s best for the library, both because it permits outside contributions, and because, in bringing it up to publishable standards, you make it better and more maintainable.
Our first release is the foundation for all the others – Serapeum, “utilities beyond Alexandria.” The README explains the purpose and reasoning behind yet another utility library.
As other libraries are prepared, they will be released on the TBRSS GitHub.