Origin: English, Old French
Meaning: an English surname with several possible meanings. It could be a variant form of Forester, an occupational surname given to someone who worked in the forest, overseeing the upkeep of hunting grounds for kings and nobles and ensuring people didn't poach animals. It could also be a habitational surname referring to someone who lived near a forest.
Foster also comes from Old French forcetier meaning "shearer", another occupational surname referring to steel shears used in agriculture and textiles; or it could be from Old French fustrier from fustre referring to a block of wood.
Foster is also from Old English cild-fostre, referring to someone who was a foster parent or a foster child. It's also an English verb, meaning to either "raise or bring up", or "to feed or nourish", "to promote the growth and development of something or someone".