I feel like there’s a very fine balance for the effort required to publish a package.
Too easy and you get npm.
Too hard and you get an empty repo.
I feel like Java is actually doing a relatively good job here. Most packages are at least documented a bit, though obviously many are outdated.
There was a very simple phone from Samsung a few years back that had a solar cell on the back.
Since the battery lasted over a week anyway, you could easily double the battery life by just having it in indirect light.
Modern phones are guzzling so much power that it’s hardly useful there.