Blog by Sumana Harihareswara, Changeset founder

18 Jul 2018, 18:58 p.m. and the Infrastructure of Hospitality

So many times in my life in open source tools and platforms, I've run into the following problem:

We want to make a breaking change/prioritize work/get feedback.
Let's check with our downstreams.
How do we find and communicate with them?

We have stopgaps inside the application (like in-app and in-API messaging, Wikipedia banners) and outside (like creating users and announce mailing lists, publicizing social media broadcast venues, searching the web/GitHub for projects and people that mention/import our tool and pinging them personally).

screenshot of page on usage stats for Twine, displaying bar chart of versions used by downstream packages and repositories, listing projects, and offering requirement kind and version range filtersNow, makes it way easier to be hospitable to my downstreams.

I co-maintain Twine, a utility that many developers use to upload packages to PyPI. We released 1.11.0 in March. The page about Twine shows me who's using it (see the screenshot on the left), and I can dive deeper to check who's pinned to an old version so I can ping them to check what's up. (Sometimes that conversation tells me about a problem in our upstream dependencies that I didn't know about.) If I want to survey some users to find out whether a particular breaking change would hurt them, this makes it way easier to find some representative users to ask, not just the power users and enthusiasts who take the initiative to reach out to me. has an API so I could even automate some of this. And covers npm, CRAN, PyPI, RubyGems, Maven, and a bunch more package managers across different languages and frameworks, so I'll see downstreams that aren't just in Python.

And the code is open source in case I want to understand how they rank projects in search results or add tox.ini support in their dependency checker.

I started drafting this post in March, and in the interim, I did a little paid work for Tidelift, the company that stewards So, disclaimer, I'm a bit biased now. But I thought was supercool before Tidelift and I ever thought of working together. I'm glad the Ford and Sloan Foundations funded the initial version of this tool and I'm glad Tidelift is funding and using it now; it's already very useful, and I see it as part of the infrastructure that lets maintainers and users understand each other's needs.