A question I've been getting a lot lately is "why [do I] make open-source contributions?" It's an interesting question, and definitely worthy of some thought.
For me, programming is more than a hobby- it's an expressive art form. I thoroughly enjoy writing functional, attractive code. Even if it's something that I or someone else could do for work, it's relaxing and pleasant. It's what I want to spend my free time doing.
This creates a situation where I do end up spending a lot of my own time on software development. And while I do have my own ideas that I enjoy working on (see: beekeeper), working with a team can be incredibly fulfilling.
So, spending time working on urllib3 with the rest of that team is a really satisfying way to "waste time". Not only is it something I enjoy, not only is having a team to work with instructional and useful, but the end result also ends up being used by millions of people and organizations worldwide.
Obviously there's a bit of a vanity factor going on. I love being associated with the urllib3 project; it's a high-quality codebase with global impact. But even if that wasn't the case, I'd still enjoy making things that other developers find useful.