O que é código aberto? Software de código aberto é um software que disponibiliza o código fonte gratuitamente, para qualquer um ver e usar. Empresas, indivíduos, universidades e muitas outras entidades criam projetos inteiros e usam uma licença de código-fonte aberto; depois, eles distribuem o código para quem quiser usá-lo. A licença usada determina como outras pessoas que usam esse código compartilham suas modificações.
Existem diferentes licenças de código aberto com diferentes condições de uso, desde a GPL (GNU General Public License) - que permite "distribuição gratuita sob a condição de que desenvolvimentos e aplicativos adicionais sejam colocados sob a mesma licença" - até licenças mais liberais como a Licença Apache, que não requer modificações para ser aberto e ter o código fonte disponível. O Android usa essas duas licenças, e vamos dar uma olhada nelas.
O kernel do Linux usado no Android é coberto pela GPL. Isso significa que quaisquer alterações feitas no código-fonte devem ser disponibilizadas quando um binário (linguagem nerd para um software executável compilado) é lançado ao público. Isso significa que fabricantes como HTC, Samsung, Motorola e o restante devem liberar o código-fonte do kernel para todos os dispositivos que venderem ao mesmo tempo em que começarem a vendê-los. Obviamente, isso raramente acontece e acabamos esperando uma equipe remover notas, comentários de fontes e outras coisas úteis antes que cheguem até nós. Estes são os lançamentos de código que você verá mencionados na Internet e consistem na fonte do kernel e outros "bits" de código aberto que são cobertos pela GPL.
O código fonte para o próprio Android é lançado principalmente sob a licença Apache. Qualquer pessoa pode fazer o download do código-fonte e alterá-lo como quiser, mas eles não são obrigados a disponibilizar suas alterações no código-fonte ao público. É por isso que não podemos modificar facilmente o Touchwiz da Samsung (por exemplo) - as alterações que eles fizeram no código-fonte Android básico não estão disponíveis para nós. Embora muitas pessoas (inclusive eu) não gostem muito dessa situação, faz sentido do ponto de vista comercial. Se os fabricantes tivessem que compartilhar todos os seus segredos, não haveria tanto incentivo monetário para inovar, então a fonte foi oferecida com uma licença muito mais liberal. Certamente funcionou, pois vemos dispositivos de muitos dos principais players do mundo da eletrônica.
O outro principal produto de consumo do Google - o Chrome OS - foi criado a partir da fonte do Chromium. As partes escritas pelo Google do Chromium são de código aberto, sob a licença BSD. Outros colaboradores usam várias licenças de código aberto, como a licença MIT ou a GPL.
Uma coisa importante a lembrar aqui é que o Android e o Chromium são de código aberto, mas os sistemas operacionais usados para dispositivos Nexus e Chromebooks não. Eles são criados a partir de projetos de código aberto, mas podem conter peças proprietárias para melhorar o software de cada dispositivo em particular. Para telefones Nexus, esses bits proprietários são lançados no site do desenvolvedor Android e estão prontos para serem usados em qualquer coisa que você possa criar no AOSP para obter a mesma experiência. Os Chromebooks serão executados em uma versão totalmente aberta do Chromium, mas não terão algumas APIs fechadas do Google ou os codecs de vídeo e áudio do conjunto completo.
O Google também libera aplicativos que não têm licença de código aberto. O Gmail, o Google Maps e muitos outros aplicativos do Google que vêm em nossos telefones não fazem parte do AOSP e foram desenvolvidos de forma independente para Android, Chrome, iOS e web. Quando você ouve a Internet brigar sobre o Android não ser "aberto", é sobre isso que eles estão falando. O Android e tudo o que é necessário para instalar e executar aplicativos Android são completamente de código aberto, mas os aplicativos populares que o tornam melhor não são. Não é provável que isso mude.