What happens if you remove these lines?
uniform float gaus[25];
uniform float offset[5];
gaus and offset are not uniforms. They are assigned constant values inside main(). And I don't think you should declare variables with the same names as uniforms.
I remember reading that when a shader is compiled, the compiler is really good at stripping unnecessary code from the shader. When you leave out the line
gl_FragColor = outSum;
or assign
texture2D(s_texture, textureCoordinate)
to gl_FragColor, gaus and offset are not used to calculate the final value of gl_FragColor, so it is possible that they are being stripped out and the variable naming collisions don't occur. When you assign outSum to gl_FragColor, gaus and offset are used to calculate outSum, so they are not stripped and naming collisions occur, causing errors.