knappe (Middle High German) comes from Old High German knappo, from Proto-West Germanic knappō — boy.