I think your definition of "free software" is too strict, otherwise public domain software would not be free software