If it came to that, you could use public services like IRC to push newer versions through P2P networks. Other than IRC and P2P server traffic (if there is one, since serverless networks exist), that would have zero cost.
I'm not saying it would be practical, I'm just saying it would be free.
EDIT:
What helios said is a perfectly valid pointed question.
That question was rhetorical, by the way. It's preposterous to suggest you can't produce software in a non-commercial environment.
Watch: f(a,b,0)=b+1
f(a,0,1)=a
f(a,0,2)=0
f(a,0,c)=1
f(a,b,c)=f(a,f(a,b-1,c),c-1)
g(1)=f(3,3,6)
g(a)=f(3,3,g(a-1)-2)
g=g(64)
A cookie to whoever can figure out what that does.
EDIT 2: Fixed definition of f(). Somehow, I missed the infinite recursion.
Blender was initially developed as a commercial project.
The company investors were not interested in developing it further, but they did not want to give up their property without some money first.
Hence, the Blender Foundation which sprung up to collect the money to purchase the rights to the code base and to use the trademark name and symbol (which they still own, IIRC).