Richard Stallman e o futuro da inovação de software

O problema da inovação de software: do passado ao presente



imagem



Há muito tempo, o principal obstáculo à inovação no desenvolvimento de software era o acesso a computadores.



Conforme a computação se tornou mais difundida e a indústria de software se tornou uma parte importante da economia, o obstáculo para a inovação no desenvolvimento de software não era a falta de acesso à computação (já que os computadores surgiam em todos os lugares), mas um novo fenômeno: na busca do lucro, as corporações começaram a restringir o acesso aberto a POR.



Pessoas como Richard Stallman começaram a lutar contra isso.



Richard Stallman lidera o Movimento do Software Livre, que mostra como os desenvolvedores de software proprietário restringem a liberdade dos usuários, bem como identificam a vigilância e manipulação de tal software, e campanhas para substituir software proprietário por software livre.



O artigoEm Por que o software deve ser gratuito, Richard Stallman argumenta que o desenvolvimento de software deve ser tratado separadamente da distribuição ou modificação do software. Ele cita vários exemplos de como prevenir a distribuição ou modificação de software prejudica a sociedade: menos pessoas podem usá-lo, nenhum usuário pode adaptá-lo ou consertá-lo e outros desenvolvedores não podem aprender com o software ou criar novos projetos baseados nele.



Richard Stallman enfatiza em seus escritos que a transição de valor entre consumidor e produtor deve ser reconhecida, quantificada e transparente para alocar recursos de maneira eficiente.



Por exemplo, o Facebook ganha $ fn (x) de cada usuário por meio de sua impressão digital, e o usuário ganha $ fn (y) do Facebook por serviços de mídia social acessíveis e confiáveis ​​com base no uso do usuário. Se Richard Stallman precisasse projetar essa transição de valor, o Facebook teria que pagar ao usuário uma pequena quantia por cada interação na qual a empresa coleta dados do usuário, e o usuário teria que pagar ao Facebook uma pequena quantia por cada uma de suas ações. ...



A ideia é boa, mas a realidade, infelizmente, não foi bem o que Stallman imaginou.



Realidade: não só o código está fechado, mas também os dados



Infelizmente, o movimento do código aberto (ainda) não ganhou. Mesmo que o código-fonte aberto como uma indústria seja agora maior do que nunca, a maior parte do código ainda está fechada devido ao fato de que o criador do software pode obter mais receita do ecossistema ao proibir o uso gratuito de seu software.



É importante observar que, à medida que a indústria de software se desenvolve, esses sistemas se tornam mais importantes do que o próprio software. Dados são informações sobre os usuários do aplicativo e sobre o próprio serviço da web, que são constantemente atualizadas dependendo de como as pessoas os utilizam.



Denis Nazarov de Andreessen Horowitz em seu artigoem “O que vem depois do código aberto?” observou que a mudança de ferramentas de software pessoal offline (por exemplo, Excel, Photoshop) para serviços da web (por exemplo, Spotify, Netflix, Uber, Instagram) resultou em uma diferença fundamental : no primeiro caso, os usuários armazenam seus próprios dados e, no segundo, o serviço web armazena dados para o usuário. Isso levou à consolidação do controle nas mãos dos serviços que acumulavam dados de seus usuários (por exemplo, bancos de dados contendo todas as informações sobre os usuários do serviço).



Com o tempo, os dados desse serviço se tornam mais importantes do que o código real que executa esse serviço da web. À medida que os usuários criam mais e mais dados (aos quais o sistema atualmente tem acesso), o serviço se torna mais útil e atraente para novos usuários, continuando assim a aumentar a quantidade de dados. Isso cria um círculo vicioso e coloca ainda mais controle nas mãos dos serviços da web.



Por exemplo, o Spotify melhora as recomendações de música com um algoritmo que analisa os dados de escuta, melhorando assim a experiência do usuário. Como resultado, mais usuários ingressam no Spotify, que por sua vez gera ainda mais dados para o Spotify e, em seguida, melhora ainda mais o produto e a experiência do usuário.



É como um volante: quanto mais dados você tem como serviço, mais valioso você tem a longo prazo. Foi assim que o Facebook-Amazon-Netflix-Google se tornou uma empresa tão poderosa.



2019: a inovação está morta?



Hoje, os serviços de web e nuvem para o consumidor estão muito próximos dos oligopólios. Isso é ruim para o consumidor final e para a inovação do mercado em geral. Ben Thompson em sua teoria de agregaçãoescreve que “A Internet mudou fundamentalmente o cenário competitivo: os distribuidores não competem mais com base em relacionamentos exclusivos com um fornecedor, pensando que os consumidores / usuários duram. Em vez disso, os fornecedores podem se tornar uma mercadoria, tornando os consumidores / usuários uma prioridade. Em um sentido mais amplo, isso significa que o determinante mais importante do sucesso é a experiência do usuário. Os melhores distribuidores / agregadores / criadores de mercado ganham ao oferecer uma experiência melhor, que traz mais consumidores / usuários e atrai mais fornecedores, enquanto melhora a experiência do usuário em um círculo favorável. ”



Isso também significa que os dados armazenados em sistemas com um estado fechado, aprimore a experiência do usuário ajudando o serviço dominante a aumentar ainda mais sua base de usuários. No momento em que este livro foi escrito, eu tinha 11 aplicativos do Google, 7 aplicativos da Amazon e 4 aplicativos do Facebook instalados no meu telefone.



Na rede do consumidor, como no espaço do software corporativo, há uma óbvia centralização de poder.



Ben Thompson apontou recentemente que AWS, Azure e outros serviços de infraestrutura em nuvem comerão vivas as empresas de código aberto. O MongoDB é um exemplo , mas obviamente haverá muito mais vítimas no futuro. AWS e Azure vão devorar o mercado de infraestrutura, enquanto Salesforce, Workday e ServiceNow vão devorar o mercado de aplicativos de negócios.



A distribuição é importante aqui: embora esses fornecedores se beneficiem do código aberto todos os dias, eles estão consolidando o poder por meio da distribuição dominante. Eles se beneficiam do uso da mesma fórmula que seus colegas oligopolistas consumidores: quanto mais dados de clientes eles têm, mais produtos e serviços podem vender por meio de upsell e vendas cruzadas no futuro.



O que temos então?



Temos uma rede de consumidores controlada por empresas que podem ser contadas nos dedos de uma mão e temos uma infraestrutura em nuvem cada vez mais controlada por aproximadamente o mesmo número de fornecedores.



Com esse tipo de consolidação, é muito difícil que a inovação surja fora dessas empresas.



Se você é um aspirante a empresário de software corporativo ou consumidor da web, será muito difícil encontrar usuários.



Saída



Surgiu uma nova tecnologia que expandirá as possibilidades de inovação de software.



E se pegarmos as ideias de Richard Stallman sobre software de código aberto e implementá-las? E vamos ainda mais longe: e se também tornarmos os dados do estado públicos e disponíveis para todos os serviços da web?



Existe uma combinação de incentivos e tecnologia que pode criar esse mundo.



Apresente um novo tipo de computação.



De acordo com a definição de Vitalik Buterin, esse tipo de computação é descentralizado em arquitetura e política, mas centralizado logicamente.



É uma arquitetura descentralizada porque é composta por muitos computadores que se comunicam entre si. É descentralizado na política porque um grande número de pessoas ou organizações controlam os computadores que compõem este sistema. É centralizado logicamente, porque há apenas um estado acordado por todos e o sistema se comporta como um computador.



Quais são as vantagens de um computador descentralizado?



  1. Os usuários podem ver o código-fonte executado no backend;
  2. Todos os dados públicos são de domínio público para todos;
  3. E o mais importante, pode gerar a maior onda de inovação que a indústria de software já viu, porque todos os serviços abertos se comunicarão entre si e trocarão dados.



Vamos chamar esta última propriedade de “composição de serviço”.



Composibilidade?



Se pegarmos a abordagem de código aberto de Richard Stallman e aplicá-la aos serviços abertos, o mundo mudará além do reconhecimento.



Com base nos ensinamentos de Stallman, é importante que os desenvolvedores interajam e reutilizem o código abertamente.



Se transferirmos essa mesma ideia para serviços da web, isso permitirá que serviços diferentes usem os dados uns dos outros, por sua vez, permitindo que os desenvolvedores reutilizem serviços da web, conversem entre si e melhorem o trabalho uns dos outros.



Vamos ver como isso pode funcionar.



Exemplo 1: serviços abertos na luta contra a censura



Imagine um motorista que dirigiu 100 viagens Uber e conquistou uma reputação brilhante. Imagine um cenário em que o Uber censura um motorista por uma reclamação falsa, excluindo completamente seus dados de reputação no processo.



Se houvesse OpenUber, que foi construído em dados abertos para que o serviço pudesse se comunicar com outros serviços semelhantes, esse driver poderia levar sua reputação para OpenLyft, OpenInstacart, OpenDoorDash e outros serviços da web disponíveis sem registro adicional, KYC ou, mais importante, sem qualquer risco de perda de reputação. Isso permite que todos os serviços sejam interoperáveis ​​e reutilizáveis ​​para outras interfaces e negócios, tornando a reputação do usuário portátil também. Ele também protege os usuários de censura subjetiva.



imagem



Exemplo 2: dados abertos para melhorar a experiência do usuário



Imagine um mundo no qual um usuário armazena seus dados. O usuário pode fornecer acesso aos seus dados em troca de uma experiência personalizada, criando assim um relacionamento mutuamente benéfico.



Por exemplo, eu compartilho minhas compras do OpenAmazon com o OpenNike.com e assim permito que o OpenNike.com personalize minha experiência de compra de calçados com base no histórico de compras de calçados anteriores que está disponível no OpenAmazon.



Em tal mundo, os dados são meus, não a empresa com a qual trabalho. Eu forneço acesso aos dados em troca de uma experiência de usuário diferenciada. Esta é minha decisão, não a corporação.



imagem



Conclusão



Parece um futuro do qual eu realmente gostaria de fazer parte.



Para fazer isso, devemos criar um novo paradigma de computação que nos permita criar serviços escaláveis, descentralizados e abertos em minutos, usando ferramentas de desenvolvimento intuitivas.



Este novo tipo de computação tem o potencial de criar esse futuro enquanto expande as oportunidades limitadas de hoje para inovação no desenvolvimento de software.



Existem vários projetos que estão trabalhando para criar o futuro descrito neste artigo. Solid, sob a liderança de Tim Berners Lee do MIT, constrói muitas coisas fundamentais. Outro exemplo é NEAR , que cria infraestrutura para aplicativos de estado aberto .e permite que tais aplicativos sejam fáceis de desenvolver, fáceis de usar e tenham modelos de negócios funcionais.



Esperamos que este artigo conduza a mais projetos nesta área.



Se você tem ideias para serviços voltados para a comunidade e deseja trabalhar nelas, visite nosso Programa de Apoio ao Empreendedor Coletivo na Web Aberta .



Junte-se ao ecossistema NEAR e vamos construir uma Internet aberta juntos!



All Articles