I mean, it is possible to create application without source code - for example using HEX editor or some debugger that can assembly instructions (actually every decent debugger can).
Creating programs this way is of course hard, but possible for small applications.
I even can imagine cases, where it is the only possible way - for example, on some very old hardware where you simply does not have any development tools.
For another example - read the article "Programming in extreme conditions", published in Assembly programming journal, issue 9
So, what if the author of such application wants to distribute it under GNU GPL?