A Quem Aquele Servidor Realmente Serve?

por Richard Stallman

Na internet, software privativo não Ê a única maneira de você perder a sua liberdade computacional. Serviço como Substituto de Software, Service as a Software Substitute ou SaaSS, Ê outra forma de dar a alguÊm poder sobre sua computação.

O ponto båsico Ê que você pode ter controle sobre um programa que outra pessoa escreveu (se ele Ê livre), mas você nunca pode ter controle sobre um serviço executado por uma outra pessoa, então nunca use um serviço onde, em princípio, executar um programa faria.

SaaSS significa usar um serviço, implementado por outra pessoa, como um substituto da execução de sua própria cópia de um programa. O termo é nosso; artigos e anúncios publicitários não irão usá-lo, e eles não vão contar a você que um serviço é SaaSS. Ao invés disso, provavelmente usarão o termo vago e elusivo “nuvem”, ou sua versão em inglês “cloud”, o qual mistura SaaSS junto com várias outras práticas, algumas abusivas e algumas aceitáveis. Com a explanação e os exemplos desta página, você poderá determinar se um serviço é ou não SaaSS.

Plano de fundo: Como o Software Privativo Toma a Sua Liberdade

Tecnologia digital pode dar a você liberdade; ela também pode tomar a sua liberdade. A primeira ameaça ao nosso controle sobre a nossa computação veio do software privativo: softwares que os usuários não podem controlar porque o fabricante (uma empresa como a Apple ou a Microsoft) o controla. O dono com frequência tira vantagem desse poder injusto, inserindo funcionalidades maliciosas tais como spyware, back doors e Gestão Digital de Restrições (DRM) (referenciado como “Gestão de Direitos Digitais” [Digital Rights Management] nas suas propagandas).

Nossa solução para este problema ĂŠ o desenvolvimento de software livre e a rejeição de software privativo. Software livre significa que vocĂŞ, como um usuĂĄrio, tem quatro liberdades essenciais: (0) de executar o programa como vocĂŞ desejar, (1) de estudar e alterar o cĂłdigo-fonte para que ele faça o que vocĂŞ desejar, (2) de redistribuir cĂłpias exatas e (3) de redistribuir cĂłpias de suas versĂľes modificadas. (Veja a definição de software livre.)

Com software livre, nós, os usuårios, tomamos de volta o controle sobre nossa computação. Software privativo ainda existe, mas nós podemos excluí-lo de nossas vidas, e muitos de nós jå o fizemos. PorÊm, agora a nós Ê oferecida uma outra forma tentadora de ceder o controle de nossa computação: Serviço como Substituto de Software (SaaSS). Para o bem de nossa liberdade, temos que rejeitar isso tambÊm.

Como Serviço como substituto de Software Tira Sua Liberdade

Serviço como Substituto de Software (SaaSS) significa usar um serviço como substituto de executar sua cópia de um programa. Concretamente, significa que alguém configura um servidor de rede para realizar determinadas atividades computacionais – por exemplo, modificar uma fotografia, traduzir um texto para outro idioma, etc – e, então, convida usuários a deixara o servidor fazer sua própria computação para eles. Como um usuário do servidor, você enviaria seus dados para o servidor aquela atividade computacional no dados fornecidos, e então envia os resultados de volta para você, ou age diretamente em seu nome.

O que significa dizer que uma determinada atividade computacional é sua própria? Isso significa que ninguém mais está intrinsecamente envolvido nisso. Para esclarecer o significado de “intrinsecamente envolvido”, apresentamos um experimento de pensamento. Suponha que qualquer software livre de que você possa precisar para o trabalho esteja disponível para você, e todos os dados de que você possa precisar, bem como computadores de qualquer velocidade, funcionalidade e capacidade que possam ser necessários. Você poderia fazer essa atividade de computação específica inteiramente nesses computadores, sem se comunicar com os computadores de outra pessoa?

Se você pudesse, a atividade Ê inteiramente sua própria. Para o bem da sua liberdade, você merece controlå-la. Se você fizer isso executando software livre, você a controla. No entanto, fazer isso por meio do serviço de outra pessoa daria a essa outra pessoa o controle sobre sua atividade computacional. Chamamos esse cenårio de SaaSS e dizemos que Ê injusto.

Por outro lado, se por razþes fundamentais você não puder fazer essa atividade em seus próprios computadores, então a atividade não Ê inteiramente sua, então a questão do SaaSS não se aplica a essa atividade. Em geral, essas atividades envolvem comunicação com outras pessoas.

Servidores SaaSS tiram o controle dos usuĂĄrios de forma ainda mais inexorĂĄvel do que os softwares privativos. Com software privativo, os usuĂĄrios normalmente tĂŞm um arquivo executĂĄvel, mas nĂŁo o cĂłdigo-fonte. Isso torna difĂ­cil estudar o cĂłdigo que estĂĄ sendo executado e, portanto, ĂŠ difĂ­cil determinar o que o programa realmente faz, e ĂŠ difĂ­cil alterĂĄ-lo.

Com SaaSS, os usuårios não têm nem mesmo o arquivo executåvel que realiza sua computação: ele estå no servidor de outra pessoa, onde os usuårios não podem vê-lo nem tocå-lo. Portanto, Ê impossível para eles ter certeza do que o programa realmente faz, e Ê impossível modificå-lo.

AlĂŠm do mais, SaaSS automaticamente leva a consequĂŞncias equivalentes aos recursos maliciosos de certos programas privativos.

Por exemplo, alguns programas privativos são “spyware”: o programa envia dados sobre as atividades computacionais dos usuários. Microsoft Windows envia informações das atividades do usuário para a Microsoft. Windows Media Player relata o que cada usuário assiste ou ouve. O Amazon Kindle relata quais páginas de quais livros o usuário vê, e quando. Angry Birds relata o histórico de localização geográfica do usuário.

Diferentemente do software privativo, SaaSS nĂŁo requer cĂłdigo oculto para obter dados do usuĂĄrio. Ao invĂŠs disso, os usuĂĄrios devem enviar seus dados para o servidor, para poderem usĂĄ-lo. Isso tem o mesmo efeito que o spyware: o operador do servidor obtĂŠm os dados — sem nenhum esforço em especial, pela prĂłpria natureza do SaaSS. Amy Webb, que nunca teve a intenção de postar nenhuma foto de sua filha, cometeu o erro de usar SaaSS (Instagram) para editar fotos dela. Eventualmente, as fotos vazaram de lĂĄ.

Teoricamente, criptografia homomórfica pode, em algum dia, avançar atÊ o ponto em que futuros serviços de SaaSS poderem ser construídos com a capacidade de entender alguns dados que usuårios lhes enviam. Tais serviços poderiam ser configurados para não bisbilhotar os usuårios; isso não significa que eles não vão bisbilhotar. AlÊm disso, bisbilhotar Ê apenas um entre as injustiças secundårias de SaaSS.

Alguns sistemas operacionais privativos têm uma porta dos fundos [back door] universal, permitindo que alguÊm possa, remotamente, instalar alteraçþes nos programas. Por exemplo, Windows tem uma porta dos fundos universal com a qual a Microsoft pode alterar à força qualquer software naquela måquina. Praticamente todos os telefones portåteis as têm, tambÊm. Algumas aplicaçþes privativas tambÊm têm portas dos fundos universais: por exemplo, o cliente Steam para GNU/Linux permite ao desenvolvedor instalar versþes modificadas à distância.

Com SaaSS, o operador do servidor pode modificar o software usado no servidor. Ele tem que ser capaz de fazer isso, jå que o computador Ê dele; mas o resultado [para o usuårio] Ê o mesmo que usar programa aplicativo privativo com uma porta dos fundos universal: alguÊm tem o poder de, silenciosamente, impor mudanças no modo com que a computação do usuårio Ê feita.

Portanto, SaaSS ĂŠ equivalente a executar software privativo com spyware e uma porta dos fundos [back door] universal. Ele concede ao operador do servidor um poder injusto sobre o usuĂĄrio, e esse poder ĂŠ algo a que devemos resistir.

SaaSS e SaaS

Originalmente, nós nos referíamos a essa prática problemática como “SaaS”, que significa Software como Serviço [“Software as a Service”]. Trata-se de um termo comumente usado para a configuração de software em um servidor, ao invés da oferta de cópias dele aos usuários, e nós pensávamos que esse termo descrevia com precisão os casos em que esse problema ocorre.

Subsequentemente, tomamos consciĂŞncia de que o termo SaaS algumas vezes ĂŠ usado para serviços de comunicação — atividades em que essa questĂŁo nĂŁo se aplica. Adicionalmente, o termo “Software como Serviço” nĂŁo explica por que a prĂĄtica ĂŠ ruim. EntĂŁo, nĂłs cunhamos o termo “Serviço como Substituto de Software” [“Service as a Software Substitute”], que define a mĂĄ prĂĄtica mais claramente e diz o que ĂŠ ruim nela.

Separando a QuestĂŁo do SaaSS da QuestĂŁo do Software Privativo

SaaSS e software privativo levam a resultados similarmente danosos, mas os mecanismos são diferentes. Com o software privativo, o mecanismo Ê que você tem e usa uma cópia que Ê difícil ou ilegal alterar. Com o SaaSS, o mecanismo Ê que você não tem a cópia que executa sua computação.

Essas duas questões são frequentemente confundidas, e não apenas por acidente. Desenvolvedores web usam o termo vago “aplicação web” para amontoar os softwares de servidor juntos com programas que executam no navegador web da sua máquina. Algumas páginas web instalam programas JavaScript não-triviais, ou por vezes grandes, em seu navegador, sem lhe informar. Quando esses programas JavaScripts são não-livres, eles podem ser tão ruins quanto qualquer outro software não-livre. Aqui, porém, estamos tratando do problema do software do servidor em si mesmo.

Muitos apoiadores de software livre presumem que o problema do SaaSS vai ser resolvido pelo desenvolvimento de software livre para servidores. Para o bem dos operadores de servidor, ĂŠ melhor que os programas no servidor sejam livres; quando eles sĂŁo privativos, seus donos tĂŞm o poder sobre o servidor. Isso ĂŠ injusto com o operador e nĂŁo ajuda os usuĂĄrios em nada. Mas se os programas no servidor sĂŁo livres, isso nĂŁo protege vocĂŞ como usuĂĄrio do servidor dos efeitos do SaaSS. Eles dĂŁo liberdade ao operador, mas nĂŁo aos usuĂĄrios do servidor.

Liberar o código-fonte de software para servidor beneficia a comunidade: isso permite que usuårios com as habilidades adequadas configurem servidores similares, possivelmente alterando o software. Recomendamos o uso da GNU Affero GPL como licença para os programas frequentemente usados em servidores.

Mas nenhum daqueles servidores daria a você o controle sobre a computação que você faz nele, a não ser que seja o seu servidor (um daqueles cuja carga de software você controla, independentemente da måquina ser de sua propriedade). Pode ser aceitåvel confiar algumas tarefas a servidores de amigos seus, assim como você poderia deixar um amigo seu configurar os programas de seu próprio computador. Fora isso, todos aqueles servidores serão SaaSS para você. SaaSS sempre lhe sujeita ao poder do operador do servidor, e o único remÊdio Ê: Não use SaaSS! Não use um servidor alheio para fazer suas próprias atividades computacionais sobre dados fornecidos por você.

Essa questão demonstra a profundidade da diferença entre “aberto” e “livre”. Código-fonte que é um código aberto é (quase sempre) livre. Porém, a ideia de um serviço “software aberto”, referindo-se a um software de servidor ser código aberto e/ou livre, falha em resolver a questão do SaaSS.

Serviços são fundamentalmente diferentes de programas, e as questões éticas que serviços levantam são fundamentalmente diferentes das questões que programas levantam. Para evitar confusão, evitamos descrever algum serviço como “livre” ou “privativo”.

Diferenciando SaaSS de Outros Serviços de Rede

Quais serviços são SaaSS? O exemplo mais claro Ê um serviço de tradução, que traduz (digamos) um texto de inglês para espanhol. A tradução de um texto para você Ê uma tarefa computacional que Ê puramente sua. Você poderia realizå-la executando um programa em seu próprio computador, se você simplesmente tivesse o programa certo. (Para ser Êtico, esse programa deve ser livre.) O serviço de tradução substitui esse programa, então trata-se de Serviço como Substituto de Software, ou SaaSS. Por lhe negar o controle de sua própria computação, ele Ê ruim para você.

Outro exemplo claro Ê o uso de um serviço como Flickr ou Instagram para modificar uma foto. Modificar fotos Ê uma atividade que as pessoas têm feito em seus próprios computadores ao longo de dÊcadas; fazê-la em um servidor, ao invÊs de em seu próprio computador Ê SaaSS.

Rejeitar SaaSS não significa se recusar a usar quaisquer servidores de rede mantidos por qualquer pessoa alÊm de você. A maioria dos servidores não são SaaSS porque os trabalhos que eles fazem não são a computação do próprio usuårio.

O propósito original de servidores web não era realizar atividades computacionais por você, e sim publicar informaçþes para você acessar. Mesmo hoje em dia, Ê isso o que faz a maioria dos sites, sem que haja o problema do SaaSS, pois acessar uma informação publicada por outra pessoa não Ê fazer sua própria computação. Nem a publicação de seu próprio material atravÊs de um site de blog ou serviço de microblog, como Twitter ou StatusNet. (Esses serviços podem ter outros problemas, Ê claro.) O mesmo vale para outras comunicaçþes que não têm a intenção de ser privadas, como grupos de bate-papo.

Na sua essência, as redes sociais digitais são uma forma de comunicação e publicação, não SaaSS. Entretanto, um serviço cuja principal função Ê a de rede social pode ter recursos e extensþes que são SaaSS.

Se um serviço não Ê SaaSS, isso não significa que ele não apresente algum problema. Hå outras questþes Êticas sobre serviços. Por exemplo, o Facebook requer a execução de código JavaScript não livre; e ele då aos usuårios uma impressão enganosa de privacidade, enquanto os induz a desnudar suas vidas para o Facebook. Essas são questþes importantes, diversas da questão do SaaSS.

Serviços como mecanismos de pesquisa coletam dados de toda a web e permitem que vocĂŞ os examine. Observar a coleção de dados deles nĂŁo ĂŠ fazer sua prĂłpria atividade computacional, no sentido comum — vocĂŞ nĂŁo forneceu aquela coleção de dados —, entĂŁo o uso de um tal serviço para pesquisar a web nĂŁo ĂŠ SaaSS. PorĂŠm, usar o mecanismo de pesquisa alheio para implementar um recurso de pesquisa em seu prĂłprio site definitivamente ĂŠ SaaSS.

Compras pela internet não Ê SaaSS, pois a computação não Ê sua própria atividade; pelo contrårio, ela Ê feita conjuntamente por você e pela loja. O problema real nas compras pela internet Ê se você confia seu dinheiro e outras informaçþes pessoais (a começar pelo seu nome) à outra parte.

Sites de repositĂłrios tais como Savannah e SourceForge nĂŁo sĂŁo inerentemente SaaSS porque a tarefa de um repositĂłrio ĂŠ publicar os dados a ele fornecidos.

Usar servidores de projeto conjunto não Ê SaaSS porque a atividade computacional que você faz desta forma não Ê sua própria. Por exemplo, ao editar påginas na WikipÊdia, você não estå fazendo sua própria computação; ao invÊs disso, você estå colaborando para a atividade computacional da WikipÊdia. A WikipÊdia controla seus próprios servidores, mas organizaçþes, assim como indivíduos, encontram o problema do SaaSS quando fazem sua própria computação em um servidor alheio.

Alguns sites oferecem múltiplos serviços, e se um não Ê SaaSS, outro pode ser SaaSS. Por exemplo, o serviço principal do Facebook Ê o de rede social, e isso não Ê SaaSS; porÊm, ele possui suporte a aplicativos de terceiros, alguns dos quais são SaaSS. O serviço principal do Flickr Ê a distribuição de fotos, que não Ê SaaSS, mas ele tambÊm possui recursos para a edição de fotos, que Ê SaaSS. Da mesma maneira, usar Instagram para postar uma foto não Ê SaaSS, mas uså-lo para transformar uma foto Ê SaaSS.

Google Docs mostra o quão complexa pode se tornar a avaliação de um único serviço. Ele convida pessoas a editarem um documento atravÊs da execução de um enorme programa JavaScript não-livre, claramente mau. Contudo, oferece uma API para upload e download de documentos em formatos padrão. Um software editor livre pode fazer isso usando essa API. Esse cenårio de uso não Ê SaaSS porque usa Google Docs como um mero repositório. Mostrar todos os seus dados para uma companhia Ê ruim, mas isso Ê um problema de privacidade, não de SaaSS; depender de um serviço para acessar seus próprios dados Ê mau, porÊm Ê um problema de risco, não de SaaSS. Por outro lado, usar o serviço para converter documentos de um formato a outro Ê SaaSS, porque Ê algo que poderia ser feito rodando um programa adequado (livre, espera-se) em seu próprio computador.

Usar Google Docs atravÊs de um editor livre Ê raro, Ê claro. Mais frequentemente, as pessoas o usam atravÊs do programa JavaScript não-livre, que Ê tão ruim quanto qualquer programa não-livre. Esse cenårio poderia envolver SaaSS, tambÊm; isso vai depender de que parte da edição Ê feita no programa JavaScript e que parte Ê feita no servidor. Não sabemos como isso Ê feito, mas, desde que SaaSS e software privativo causam males parecidos ao usuårio, não Ê crucial saber como.

A publicação atravĂŠs do repositĂłrio de outra pessoa nĂŁo levanta problemas de privacidade, mas publicar atravĂŠs do Google Docs tem um problema especial: ĂŠ impossĂ­vel atĂŠ mesmo ver o texto de um documento no Google Docs em um navegador, sem executar o cĂłdigo JavaScript nĂŁo-livre. EntĂŁo, vocĂŞ nĂŁo deve usar Google Docs para publicar nada — mas a razĂŁo nĂŁo ĂŠ um assunto de SaaSS.

A indústria de TI desencoraja os usuários a considerarem essas diferenças. É para isso que serve a expressão do momento “computação em nuvem” [“cloud computing”]. Esse termo é tão nebuloso que pode referir-se a quase qualquer uso da internet. Ele inclui SaaSS assim como muitas outras práticas de uso de rede. Em qualquer dado contexto, um autor que escreve “nuvem” (se ele é uma pessoa técnica) provavelmente tem um significado específico em mente, mas usualmente não explica que em outros artigos o termo tem outros significados específicos. O termo induz as pessoas a generalizarem sobre práticas que elas deveriam considerar separadamente.

Se “computação em nuvem” tem algum significado, não se trata de um jeito de efetuar uma computação, mas de um jeito de pensar sobre computação. Uma abordagem irresponsável, que diz: “Não façam perguntas. Não se preocupem com quem controla sua computação ou quem detém seus dados. Não verifiquem se há algum anzol escondido em nosso serviço antes de engoli-lo. Confiem em companhias sem hesitar”. Em outras palavras, “Seja um otário”. Uma nuvem na mente é um obstáculo ao pensamento claro. Em prol do pensamento claro, evitemos o termo “nuvem”.

Alugando um Servidor Diferente de SaaSS

Se você alugar um servidor (real ou virtual), cujo carregamento de software você tem controle, isso não Ê SaaSS. No SaaSS, outra pessoa decide qual software Ê usado no servidor e, portanto, controla a computador que ele faz por você. No caso em que você instala o software no servidor, você controla qual computação ele faz por você. Então, o servidor alugado Ê, virtualmente, seu computador. Neste quesito, ele conta como seu próprio.

Os dados no servidor remoto alugado sĂŁo menos seguros do que se vocĂŞ tivesse o servidor em casa, mas essa ĂŠ uma questĂŁo separada do SaaSS.

Esse tipo de aluguel de servidor Ă s vezes ĂŠ chamado de "IaaS", mas esse termo se encaixa em uma estrutura conceitual que minimiza as questĂľes que consideramos importantes.

Lidando com o Problema do SaaSS

Somente uma pequena fração de todos os sítios web fazem SaaSS; a maioria não apresenta esse problema. Mas o que nós devemos fazer quanto àqueles que o apresentam?

Para o simples caso em que você estå fazendo sua própria atividade computacional sobre dados que estão em suas próprias mãos, a solução Ê simples: use sua própria cópia de um software livre. Faça sua edição de texto com sua própria cópia de um editor de textos livre, como o GNU Emacs, ou um processador de textos livre. Faça sua edição de fotos com sua cópia de um software livre, como o GIMP. Mas, e se não houver nenhum programa livre à disposição? Um programa privativo ou um SaaSS tiraria sua liberdade, portanto você não deve uså-los. Você pode contribuir com tempo ou dinheiro para o desenvolvimento de um substituto livre.

Mas, e sobre a colaboração com outras pessoas como um grupo? Isso pode ser difícil de se fazer no momento sem usar um servidor, e seu grupo pode não saber como rodar um servidor próprio. Se você usar um servidor alheio, pelo menos não confie em um servidor mantido por uma empresa. Um mero contrato como um cliente não Ê proteção, a não ser que você possa detectar falhas e possa realmente processar a empresa, e provavelmente a empresa escreve seus contratos de forma a permitir uma vasta gama de abusos. O Estado pode apreender seus dados na empresa, junto com os dados de todos os demais, como o Obama fez com companhias telefônicas que ilegalmente grampeavam seus clientes para o Bush. Se você precisar usar um servidor, use um servidor cujos operadores deem a você uma base para confiar alÊm de um mero relacionamento comercial.

Porém, em uma escala a longo prazo, nós podemos criar alternativas ao uso de servidores. Por exemplo, nós podemos criar um programa ponto-a-ponto [peer-to-peer] através do qual colaboradores possam compartilhar dados criptografados. A comunidade de software livre deve desenvolver substitutos ponto-a-ponto distribuídos para “aplicações web” importantes. Pode ser sábio disponibilizá-los sob a GNU AGPL, pois eles são prováveis candidatos a se converterem em programas baseados em servidor por outra pessoa. O Projeto GNU está procurando voluntários para trabalhar em tais substitutos. Nós também convidamos outros projetos de software livre a considerarem essa questão em seu design.

Enquanto isso, se uma empresa convidar você a usar o servidor dela para fazer suas próprias tarefas computacionais, não se submeta. Não use SaaSS. Não compre ou instale “thin clients”, que são apenas computadores tão fracos que obrigam-lhe a fazer o trabalho real em um servidor, a não ser que você vá usá-los em seu próprio servidor. Use um computador real e mantenha seus dados nele. Faça sua própria computação com sua própria cópia de programa livre, em prol da sua liberdade.

Nota do Tradutor: O termo “thin client” foi mantido original dado seu comum uso em português, mas uma tradução não tão comum seria “cliente magro”.