My source is the game's source code. Who needs wikis anyway? I can check the probabilities of loot drops in the game's source code. I know more about Minecraft trees than irl trees.
If you want to know more in depth how I calculated things. I used numerical methods to solve these long equations. Newton's method (tangent) for 1 variable equations. With trees that require 4 saplings it was a lot harder, I haven't seen anyone solve that kind of problem ever before. So I went with the Monte Carlo approach and run thousands of simulations, which should have less than 1 percentage point of imprecision. So dark oak and pale oak may have a slightly different chance than 21%. Other trees are calculated very accurately.
Chapters:
0:00 Trees running out
0:26 Probability of extinction
2:11 Tree types
3:33 Rare trees
5:42 Never run out of trees