apply Apache 2.0 license
rename public to proto in order to prevent using a reserrved word