public and private, when would you use which

BlitzMax Forums/BlitzMax Beginners Area/public and private, when would you use which

I am looking at perhaps making a module out of a set of types and functions, but what should be labeled public and what should be labeled private, and what is the impact of using these?