I thought a lot about this problem in an HCI (Human-Computer Interaction) project in my graduate studies. Most professional developers end up learning languages at work. Unfortunately, not everyone has a team of developers to lean on and code bases to develop and learn a new language in. The approach you exactly described stood out as one of the best options that exists today to emulate that approach. I'd recommend this to anyone looking to build their skills in a new language. It also doesn't hurt that contributing to open-source will be something you can later show off if needed!
Someone really should build a site that can help people find a good open source library to contribute to.
They exist :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.