It's a double-edged sword, IMO.
On the one hand, yes, you can get the education to become a programmer for free.
On the other hand, programming requires a semi-decent computer, which can set someone back a few hundred dollars.
And of course it's time vs money: sure, you can spend a lot of time and zero money to become a great programmer, or you can spend a bit of money and much less time to become a great programmer.
Some people can't afford that money to save the time.