на мой взгляд private - это не про то, что "не используй эту функу, потому что я жадина!", а про то, что "не используй эту функу, потому что я сам ещё не решил, сохранится ли она в будущих версиях".
когда ты пишешь модуль для себя, то проще, если всё открыто по умолчанию. когда пишешь либу для общественности, тогда проще, если всё закрыто по умолчанию.
Но либа для общественности это всегда реже, чем модуль для себя. Поэтому проще сделать по умолчанию открыто, а потом изредка накидать ^private в может быть единственном проекте своей жизни, выложенном на github.