Sobre Silva, já aqui foi dada uma resposta.
Sobre Barbosa, trata-se de um apelido com origem toponímica, pois existe ou existiu o lugar de Barbosa na freguesia de S. Miguel de Rãs (Penafiel, Norte de Portugal). Segundo Miguel de Sousa, em As Origens dos Apelidos das Famílias Portuguesas (Mem Martins, SporPresss, 2001), os Barbosas foram uma importante família nobre portuguesa no século XII, mas que entrou em decadência nos séculos XIII e XIV.
Como topónimo, José Pedro Machado (Dicionário Onomástico Etimológico da Língua Portuguesa) considera que Barbosa é originalmente um adjectivo na expressão «(terra) barbosa», isto é, «(terra) onde haja abundância de plantas chamadas barba» (ver barba no Novo Dicionário Compacto da Língua Portuguesa, de António de Morais Silva, 2.ª edição).
Quanto ao z, lembro que, antes da implantação da República em Portugal, a ortografia era instável e pouco rigorosa em relação quer à fonética quer à etimologia (cf. Inês Duarte, Língua Portuguesa. Instrumentos de Análise, Lisboa, Universidade Aberta, 2000, págs. 392/393). O grafema surge, pois, só para representar o som sibilante de cozer, mas descura o facto de o som [z] em Barbosa ter outra origem no contexto dos processos fonéticos históricos do português. A minha sugestão é a de que a forma Barboza se manteve talvez como uma reacção ao espírito republicano, apoiada na crença de que a antiga ortografia era historicamente certa, porque tradicional. Assim se entendem algumas grafias antiquadas dos apelidos/sobrenomes (p. ex., “Mello”, “Ornellas”), em Portugal e provavelmente no Brasil.