Eu quero falar hoje para vocês sobre algo que o mundo da programação de código aberto pode ensinar à democracia, mas, antes disso, um pequeno preâmbulo. Vamos começar aqui. Esta é Martha Payne. Martha é uma escocesa de 9 anos que vive no Conselho de Argyll e Bute. Há cerca de dois meses, Payne começou um blog culinário chamado NeverSeconds, e levou sua câmera com ela para a escola todos os dias para documentar seus almoços escolares. Vocês conseguem ver o vegetal? (Risos) E, como acontece às vezes, o blog conquistou primeiramente dúzias de leitores, e então centenas de leitores, e então milhares de leitores, à medida que as pessoas entravam para vê-la classificar seus almoços escolares, incluindo minha categoria favorita: "Pedaços de cabelo encontrados na comida." (Risos) Neste dia não houve nenhum. Isso é bom. E então, ontem fez duas semanas, ela postou isso. Um post que dizia: "Adeus." E ela disse: "Eu sinto muito em dizer isso a vocês, mas a professora me colocou para fora da sala hoje e disse que eu não posso mais tirar fotos no refeitório. Eu realmente gostava de fazer isso. Obrigada por lerem. Adeus." Vocês podem adivinhar o que aconteceu depois, certo? (Risos) A indignação foi tão rápida, tão volumosa, tão unânime que o Conselho de Argyll e Bute voltou atrás no mesmo dia e disse: "Nós nunca censuraríamos uma menina de 9 anos." (Risos) Exceto, é claro, esta manhã. (Risos) E isso levanta a questão: o que os fez pensar que poderiam fugir assim de uma questão como esta? (Risos) E a resposta é: toda a história humana até agora. (Risos). Então, o que acontece quando um meio de repente coloca um monte de novas ideias em circulação? Agora, isto não é apenas uma questão contemporânea. É algo com que nos deparamos várias vezes ao longo dos últimos séculos. Quando o telégrafo apareceu, estava claro que ele iria globalizar a indústria das notícias. Isso levaria a quê? Bem, obviamente, levaria à paz mundial. A televisão, um meio que nos permite não apenas ouvir, mas ver, literalmente ver, o que está acontecendo em qualquer lugar do mundo, levaria a quê? À paz mundial. (Risos) O telefone? Vocês adivinharam: à paz mundial. Perdoem-me pelo falso alerta, mas nada de paz mundial. Não ainda. Até mesmo a imprensa escrita, até mesmo a imprensa escrita foi considerada como uma ferramenta que iria reforçar a hegemonia intelectual católica na Europa. Em vez disso, o que tivemos foram as 95 Teses de Martin Luther, a Reforma Protestante, e, vocês sabem, a Guerra dos 30 Anos. Certo, então, no que todas estas previsões de paz mundial acertaram é que, quando muitas novas ideias de repente entram em circulação, isso muda a sociedade. O que elas erraram muito foi o que acontece depois. Quanto mais ideias há em circulação, mais ideias há para qualquer indivíduo discordar delas. Mais mídia sempre significa mais discussão. Isso é o que acontece quando o espaço da mídia se expande. E ainda, quando olhamos para trás, para o prelo nos primeiros anos, nós gostamos do que aconteceu. Nós somos uma sociedade pró-prelo. Então como conciliamos essas duas coisas, que isso leva a mais discussão, mas pensamos que isso é bom? E a resposta, eu acho, pode ser achada em coisas como essa. Esta é a capa do "Philosophical Transactions", o primeiro jornal científico já publicado em inglês, em meados de 1600, e foi criado por um grupo de pessoas que se auto-denominavam "A Faculdade Invisível", um grupo de filósofos naturais que apenas mais tarde iria se denominar cientistas, e eles queriam melhorar a forma como os filósofos naturais debatiam uns com os outros, e eles precisavam fazer duas coisas para isso. Eles precisavam de abertura. Precisavam criar uma norma que dissesse: quando você fizer um experimento, você tem que publicar não apenas suas afirmações, mas como você fez o experimento. Se você não nos disser como você fez, não vamos acreditar em você. Mas a outra coisa de que eles precisavam era velocidade. Eles precisavam sincronizar rapidamente o que outros filósofos naturais sabiam. Do contrário, não se poderia acompanhar o debate. A mída impressa era claramente o meio certo para isso, mas o livro era a ferramenta errada. Ele era muito lento. E então eles inventaram o jornal científico como um modo de sincronizar o debate entre a comunidade de cientistas naturais. A revolução científica não foi criada pela mídia impressa. Ela foi criada pelos cientistas, mas não poderia ter sido criada se eles não tivessem uma mídia impressa como ferramenta. E nós? E nossa geração, e nossa revolução midiática, a internet? Bem, previsões de paz mundial? Vejamos. (Risos) Mais discussão? Uma estrelinha dourada para quem acertar. (Risos) (Risos) Quer dizer, o YouTube é uma mina de ouro. (Risos) Melhor discussão? Esta é a questão. Eu estudo mídias sociais, o que significa, numa primeira aproximação, eu observo as pessoas discutirem. E se eu tivesse que escolher um grupo que eu penso que é nossa "Faculdade Invisível", coleção de pessoas da nossa geração tentando pegar essas ferramentas e colocá-las a serviço, não para mais argumentos, mas para melhores argumentos, eu escolheria os programadores de código aberto. Programação é uma relação de três vias entre um programador, algum código-fonte, e o computador no qual isso deve funcionar, mas computadores são tão famosos pela interpretação inflexível das instruções que é extraordinariamente difícil escrever um conjunto de instruções que o computador saiba como executar, e isso se uma pessoa está escrevendo. Uma vez que se tem mais de uma pessoa escrevendo, é muito fácil para qualquer dos dois programadores sobrepor o trabalho um do outro se estão trabalhando no mesmo arquivo, ou mandar instruções incompatíveis, que simplesmente fazem o computador travar, e este problema fica maior quanto maior o número de programadores envolvidos. Para uma primeira aproximação, a questão de administrar um grande projeto de software é o problema de manter este caos social sob controle. Agora, há décadas existe uma solução canônica para este problema, que é usar algo chamado "sistema de controle de versão", e um sistema de controle de versão faz o que seu nome diz. Ele fornece uma cópia canônica do software em um outro servidor. Os únicos programadores que podem mudá-la são pessoas com autorização específica para acessá-la, e elas só podem acessar a subseção que têm permissão para mudar. E quando as pessoas desenham diagramas de sistemas de controle de versão, eles sempre se parecem com isso. Certo. Eles se parecem com organogramas. E você não precisa olhar muito detalhadamente para ver as ramificações políticas de um sistema como este. Isso é feudalismo: um dono, muitos trabalhadores. Agora, isso é bom para a indústria de softwares comerciais. Isso é o Microsof Office. É o Adobe Photoshop. A corporação é dona do software. Os programadores vêm e vão. Mas houve um programador que decidiu que esta não era a forma de trabalhar. Este é Linus Torvalds. Torvalds é o mais famoso programador de código aberto, criou o Linux, obviamente, e Torvalds olhou para a forma como o movimento de código aberto estava lidando com este problema. Softwares de código aberto, a promessa-chave da licença de código aberto, é que qualquer pessoa deveria ter acesso a todo o código-fonte o tempo todo, mas, é claro, isso cria a ameaça de caos que você tem que prevenir para que as coisas funcionem. Então, a maioria dos projetos de código aberto fez vista grossa e adotou sistemas de gestão feudais. Mas Torvalds disse: "Não, eu não vou fazer isso". Seu ponto de vista sobre isso era muito claro. Quando você adota uma ferramenta, você também adota a filosofia de gestão intrínseca a ela, e ele não ia adotar nada que não funcionasse da forma como a comunidade Linux trabalhava. E para dar a vocês uma ideia do tamanho de uma decisão como esta, este é um mapa das dependências internas do Linux, do sistema operacional Linux, no qual subpartes dependem de outras subpartes para funcionar. É um processo tremendamente complicado. É um programa tremendamente complicado, e ainda assim, por anos, Torvalds o fez funcionar sem nenhuma ferramenta automática a não ser sua caixa de e-mail. As pessoas literalmente mandavam as mudanças para ele por e-mail que tinham acordado, e ele fazia as mudanças manualmente. E então, depois de 15 anos olhando para o Linux e vendo como a comunidade trabalhava, ele disse: "Eu acho que sei como escrever um sistema de controle de versão para pessoas livres." E ele o chamou de "Git". Git é um controle de versão distribuído. Ele tem duas grandes diferenças em relação aos tradicionais sistemas de controle de versão. A primeira é que ele faz jus à promessa filosófica do código aberto. Qualquer um que trabalhe em um projeto têm acesso a todo o código-fonte o tempo todo. E quando as pessoas desenham diagramas do fluxo de trabalho do Git, eles se parecem com isso. E você não tem que entender o que os círculos, as caixas e as setas significam para ver que é um modo de trabalhar muito mais complicado do que o dos sistemas comuns de controle de versão. Mas é isto também que traz o caos de volta, e esta é a segunda grande inovação do Git. Esta é uma tela do GitHub, o principal serviço de hospedagem do Git, e toda vez que um programador usa o Git para fazer qualquer mudanças importante, criando um novo arquivo, ou modificando um já existente, misturando dois arquivos, o Git cria este tipo de assinatura. Esta longa sequência com números e letras é um identificador único associado a cada mudança, mas sem qualquer coordenação central. Todos os sistemas Git geram este número da mesma forma, o que significa que esta é uma assinatura associada diretamente a uma mudança particular, e que não pode ser fraudada. Isso tem o seguinte efeito: Um programador em Edinburgo e um programador em Entebbe podem ter o mesmo - uma cópia do mesmo software. Cada um deles pode fazer mudanças e eles podem combiná-las depois disso, mesmo que não soubessem da existência um do outro até então. Isso é cooperação sem coordenação. Esta é a grande mudança. Agora, eu digo isso a vocês não para convencê-los de que é genial que os programadores de código aberto tenham agora uma ferramenta que suporta sua filosofia de trabalho, embora eu pense que é genial. Eu digo isso por conta do que eu penso que significa para o modo como as comunidades se unem. Uma vez que o Git permitiu a cooperação sem coordenação, você começa a ver comunidades se formarem que são extremamente grandes e complexas. Este é um gráfico da comunidade Ruby. É uma linguagem de programação de código aberto, e todas as interconexões entre as pessoas – este já não é um gráfico de software, mas um gráfico de pessoas – todas as interconexões entre as pessoas trabalhando no projeto – e isso não se parece com um organograma. Isso se parece com um "desorgranograma", e, ainda assim, fora desta comunidade, mas usando estas ferramentas, eles podem agora criar algo juntos. Então há duas boas razões para pensar que este tipo de técnica pode ser aplicado a democracias em geral e, em particular à lei. Quando você faz a afirmação, na verdade, de que alguma coisa na internet será boa para a democracia, você geralmente encontra esta reação. (música) (risos) O que significa: você está falando sobre a coisa com os gatos que cantam? É isso que você pensa que será bom para a sociedade? E eu devo dizer: aqui está a coisa dos gatos que cantam. Isso sempre acontece. E eu não quero dizer que sempre acontece com a internet, digo que sempre acontece com a mídia. Ponto final. Não se passou muito tempo após o surgimento da imprensa comercial escrita até que alguém descobrisse que as novelas eróticas eram uma boa ideia. (risos) Não é necessário um incentivo econômico para vender livros por muito tempo até que alguém diga: "Ei, sabe o que eu aposto que as pessoas pagariam para ler?" (risos) As pessoas levaram outros 150 anos para pensar sobre um jornal científico, certo? Então – (risos) (aplausos) Então, a mobilização por parte da Faculdade Invisível da imprensa escrita para criar o jornal científico foi extremamente importante, mas isso surgiu grande, e não aconteceu rápido, então se você vai olhar para onde a mudança está acontecendo, você tem que olhar para as margens. Então, a lei também é relacionada à dependência. Aqui está um gráfico do Código Fiscal dos EUA, e as correlações de uma lei com outras leis para o resultado global. Então, existe esse lugar para a gestão do código-fonte. Mas há também o fato de que a lei é outro lugar onde há muitas opiniões em circulação, mas elas precisam resultar em uma cópia canônica, e quando você entra no GitHub, e procura, há milhões e milhões de projetos, quase todos eles de códigos-fonte, mas se você olha as margens, você vê pessoas experimentando com as ramificações políticas de um sistema como este. Alguém colocou todos os cabos de Wikileak do Departamento de Estado, juntamente com softwares usados para interpretá-los, incluindo o meu uso favorito dos cabos Cablegate, que é uma ferramenta para detectar haikais que aparecem naturalmente na prosa do Departamento de Estado. (risos) Certo. (risos) O Senado de Nova Iorque criou algo chamado Legislação Aberta, também alojado no GitHub, novamente, devido a razões de atualização e fluidez. Você pode ver seu senador e uma lista de projetos de lei que ele apoiou. Alguém sob o pseudônimo de Divegeek postou o código de Utah, as leis do estado de Utah, e colocou isso lá não apenas para distribuir o código, mas com a possibilidade muito interessante de que isso fosse usado para favorecer o desenvolvimento da legislação. Alguém postou uma ferramenta durante o debate sobre direitos autorais no ano passado, no Senado, dizendo: "É estranho que Hollywood acesse mais os legisladores canadenses do que os cidadãos canadenses. Por que não usar o GitHub para mostrar a eles como seria um projeto de lei desenvolvido pelos cidadãos? E inclui esta imagem muito sugestiva. Isso aqui à direita é o que chamamos "diff". Isso mostra, em textos que muitas pessoas estão editando, quando uma mudança foi feita, quem fez e qual é a mudança. O que aparece em vermelho é o que foi deletado. O que aparece em verde é o que foi acrescentado. Programadores consideram esta capacidade como garantida. Nenhuma democracia em nenhum lugar do mundo oferece esta funcionalidade a seus cidadãos, seja para legislação ou para orçamentos, mesmo que estas coisas sejam feitas com nosso consentimento e nosso dinheiro. Eu adoraria dizer a vocês que o fato de programadores de código aberto terem criado um método colaborativo em larga escala, distribuído, barato e em sintonia com os ideais da democracia, eu adoraria dizer que, por conta dessas ferramentas, a inovação é inevitável. Mas não é. Parte do problema, é claro, é apenas falta de informação. Alguém postou uma pergunta no Quora dizendo: "Por que os legisladores não usam controle de versão distribuído?" Esta, graficamente, foi a resposta. (risos) (risos) (aplausos) E esta é realmente parte do problema, mas apenas parte. O maior problema, obviamente, é poder. As pessoas que estão experimentando com participação não têm poder legislativo, e as pessoas que têm poder legislativo não estão experimentando com participação. Elas estão experimentando com abertura. Não há democracia digna deste nome que não tenha um movimento de transparência, mas transparência é abertura em apenas uma direção, e dar um painel de controle sem um controle nunca foi a promessa central que uma democracia faz aos seus cidadãos. Então considerem isto. O que levou as opiniões de Martha Payne ao público foi a tecnologia, mas o que as manteve lá foi vontade política. Foi a expectativa dos cidadãos de que ela não devia ser censurada. Este é o estado atual de nossas ferramentas colaborativas. Nós temos essas ferramentas. Nós as vimos. Elas funcionam. Podemos usá-las? Podemos aplicar ali as tecnologias que funcionaram aqui? T.S. Eliot disse uma vez: "Uma das coisas mais significativas que podem acontecer a uma cultura é ela adquirir uma nova forma de prosa." Eu acho que isso é errado, mas - (risos) Acho que é o direito de argumentação. Certo? Uma coisa significativa que pode acontecer a uma cultura é ela adquirir um novo estilo de debate: julgamento por júri, direito de voto, revisão por pares, agora isso. Certo? Uma nova forma de debate foi inventada durante nossas vidas, na última década, na verdade. É grande, é distribuída, é de baixo custo, e é compatível com os ideais de democracia. A questão para nós agora é: nós vamos deixar os programadores manterem isso entre eles próprios? Ou vamos tentar pegar isso e colocar a serviço da sociedade em larga escala? Obrigado por me ouvirem. (aplausos) (aplausos) Obrigado. Obrigado. (aplausos)