Это просто умные люди за тебя все решили. Если функция локальная (static), то ее и надо писать с ключевым словом static.
Если функция глобальная (не static) - значит она используется в других модулях. И не спорь с этим - умные дяди считают что так оно и есть (и я тоже солидарен с этим).
Поэтому - раз функция глобальная И используется в других модулях - нужен интерфейс в виде .h-файла с прототипом этой функции. Если у тебя сделано не так - то аяяй, предупреждение.