I would like to learn a couple of languages (polish and Japanese - I already learned Spanish to a decent degree) but it seems like every solution is closed source.
I would use books but listening (and speaking) are very important and books won't help with those.
If you like Duolingo's style, which I honestly do (I mix it with podcasts on the road), then there's probably no close enough alternative.
If you want an open source version because of the ads, just go to your phone settings and set a "private DNS" with dns.adguard.com. There are other options too, but I'll leave them for you to discover. This will filter out most ads on many apps and websites, such as Duolingo.