Use a default source if `source` is nil.