While this is the smartest objection to my usual comparison of free software and free speech, I think you are missing an important detail.
#FreeSoftware is a work-aroud to defeat unjust #Copyright laws.
If I take #Microsoft #Windows code (or executables, it doesn't change much), modify it and publicily share the result under any form, I'm going to be criminalised and actually indicted for copyright infridgement.
Now for a #hacker, programming is a form of expression just like writing is for everybody else.
International copyright laws and agreements is basically statal censorship for economical (thus ideological and political) gain.
Now, one might argue that #hackers are a tiny minority that do not deserve such right to expression and it have to sacrify it for the other mainstream programmers.
And it's surely true that the #OpenSource people did their best to take Free Software from hackers to turn it into an exploitative, ethically washed, #marketing tool.
And I agree that, because of that, we are reaching the limits of what a #copyleft licence, however strong, can protect.
For example, thanks to the progress of #hardware, we can all see that all free software copyleft forgot the right (duty?) to #SelfHosting.
But free software still stands as a tool to create a protected zone of free programming expression in a hostil environment ruled by (corporate friendly) copyright law.
Since copyright infrigement can lead hackers to statal jail, free software IS free speech.