Development has to be paid for. Programmers deserve money for their efforts. But there comes a time (10 to 20 years later) when their application is so well known and relatively simple to a large number of programmers that there is little value added to paying customers; and so the switch to open source products.
Open source is becoming the standard application for many who can't afford the top of the line products. But they generally require more effort on the users part. But like Wikipedia, the sheer numbers and cumulative effect of thousands of contributors make it the self sustaining standard for the long term. Look at Linux, Android, Open Office they are blanketing the planet. Non technical users have a very low technological pain threshold and so are very late adopters.
There will always be closed software for those who happen to have cash to spare; but the vast majority will switch to Open Source as quality products become available.