There is another way not mentioned on the GNU website, that you can help the free software movement. And that is to create a technology that helps make the benefits of free software easier to attain.
For example broadband facilitates the spread of free software as more people can download large source packages more quickly and so spend more time working on the source. Also p2p technology might in the future make it unnessescary to have large centralised servers for the ditribution of free software.
I'm looking at how to help the Freedom 1 of free software, the ability to adapt the software to your own needs.
However if we are to avoid having a huge unwieldy human speech to machine code program that needs to be udpated by coders, I think we will have to rethink how computers work.
What I am proposing, although it may not be the only way of to help freedom 1, is to try an evolutionary aproach. Some of you may have heard of Tierra, which was one of the first computer systems that had self-replicating computer code. The process of coding in that program was embodied in a random changes to code, to simulate cosmic rays and the like. Now as we coders know, that method of programming isn't the best :). So my proposal is to encode a method of programming into the programs themselves. And this method is then used to alter a copy of that program, hopefully to improve it. Then the programs complete a task, fetching information from the internet or similar and the user rewards the best ones. Those with the higher reward survive.
This means the method of programming can also be maintained and improved, as the previous generation can change the next generations method of programming. Also my memory has unix inspired permissions on all sections of the memory so that programs can protect themselves from overwriting and viruses in the system.
It also means programs can communicate with each other and I hope they will cooperate, fulfiling the Unix philosophy of lots of specialised programs.
I have started work on it already, but I am looking for help, which is not easy to find on a risky project that may not pay off very quickly, and also different views on how free software might go in the future.