# Software livre/Mal entendidos
## Introdução

O movimento do SL ganhou a amplitude que conhecemos hoje graças ao trabalho colaborativo da comunidade envolvida.
Software Livre não é sinônimo de gratuidade. Há a possibilidade de desenvolver software livre comercialmente, somente não há a possibilidade de aprisionar o seu cliente, visto que todo software livre deve ser fornecido com binários e código-fonte, sendo que o cliente é dono do código fonte que comprou, e, se a licença contiver copyleft, os direitos de autor são preservados no sentido do cliente não poder se apropriar do código e revendê-lo como produto fechado.
Quem dá suporte ao software livre não vende o software em si, mas vende a consultoria para utilizá-los.
Software livre é uma questão de licenciamento de software que visa preservar os direitos de autor e ainda assim trazer liberdade. Liberdade para utilizar o software para qualquer objetivo, redistribuí-lo, modificá-lo. O SL não é um movimento de especialistas para especialistas. É um movimento de cunho social e cuja maior motivação está em manter a inovação e a liberdade de criação.

## Mal entendidos
### Suporte
##### Tenho a quem culpar?

A confusão entre software livre e gratuito gera algumas confusões e alguns temores. O mais comum são preconceitos com relação à ideologia e preocupações em relação à ausência de suporte. Será verdade? A licença GPL realmente tira a responsabilidade do desenvolvedor por eventuais garantias e indenizações. Mas vejamos as cláusulas de garantia limitada presentes nos produtos de uma grande empresa de software, líder em sistemas operacionais para desktop:
"ISENÇÃO DE GARANTIAS. NA EXTENSÃO MÁXIMA PERMITIDA PELA LEGISLAÇÃO APLICÁVEL, A MICROSOFT E SEUS FORNECEDORES FORNECEM A VOCÊ OS COMPONENTES DO SISTEMA OPERACIONAL E QUAISQUER SERVIÇOS DE SUPORTE (SE HOUVER) RELATIVOS AOS COMPONENTES DO SISTEMA OPERACIONAL ("SERVIÇOS DE SUPORTE") NO ESTADO EM QUE SE ENCONTRAM E COM TODAS AS FALHAS, E A MICROSOFT E SEUS FORNECEDORES SE ISENTAM DE TODAS AS CONDIÇÕES E GARANTIAS RELACIONADAS AOS COMPONENTES DO SISTEMA OPERACIONAL E SERVIÇOS DE SUPORTE, SEJAM EXPRESSAS, IMPLÍCITAS OU LEGAIS, INCLUINDO, MAS NÃO SE LIMITANDO A QUAISQUER GARANTIAS OU CONDIÇÕES (SE HOUVER) RELACIONADAS A: COMERCIALIZAÇÃO, ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA, AUSÊNCIA DE VÍRUS, RESPOSTAS COMPLETAS E CORRETAS, RESULTADOS, AUSÊNCIA DE NEGLIGÊNCIA OU AUSÊNCIA DE ESFORÇO DE APRIMORAMENTO E AUSÊNCIA DE NEGLIGÊNCIA. TAMBÉM NÃO HÁ GARANTIAS OU CONDIÇÃO DE TITULARIDADE, USO PACÍFICO, POSSE PACÍFICA, CORRESPONDÊNCIA À DESCRIÇÃO OU NÃO-VIOLAÇÃO COM REFERÊNCIA AO PRODUTO. VOCÊ ASSUME TODOS OS RISCOS RESULTANTES DO USO OU DO DESEMPENHO DOS COMPONENTES DO SO E DE QUALQUER SERVIÇO DE SUPORTE.
EXCLUSÃO DE DANOS INCIDENTAIS, CONSEQÜENCIAIS E OUTROS. NA EXTENSÃO MÁXIMA PERMITIDA PELA LEGISLAÇÃO APLICÁVEL, EM NENHUMA HIPÓTESE A MICROSOFT OU SEUS FORNECEDORES SERÃO RESPONSÁVEIS POR QUAISQUER DANOS ESPECIAIS, INCIDENTAIS, INDIRETOS, PUNITIVOS OU CONSEQÜENCIAIS (INCLUINDO, SEM LIMITAÇÕES, DANOS POR: POR LUCROS CESSANTES, PERDA DE INFORMAÇÕES CONFIDENCIAIS OU OUTRAS, INTERRUPÇÃO NOS NEGÓCIOS, DANOS PESSOAIS, PERDA DE PRIVACIDADE, FALHA NO CUMPRIMENTO DE QUALQUER OBRIGAÇÃO (INCLUSIVE DE BOA FÉ E COM CUIDADOS RAZOÁVEIS), NEGLIGÊNCIA E QUALQUER OUTRA PERDA FINANCEIRA OU DE QUALQUER NATUREZA) RESULTANTES DO OU DE QUALQUER FORMA RELACIONADOS COM O USO OU INABILIDADE NO USO DO SOFTWARE ATUALIZADO OU DOS SERVIÇOS DE SUPORTE OU O FORNECIMENTO OU FALHA NO FORNECIMENTO DE SERVIÇOS DE SUPORTE OU DE OUTRO MODO SOB OU COM RELAÇÃO A QUALQUER DISPOSIÇÃO DESTE EULA, MESMO QUE A MICROSOFT OU QUALQUER FORNECEDOR TENHAM SIDO ALERTADOS SOBRE A POSSIBILIDADE DE TAIS DANOS.
LIMITAÇÃO DE RESPONSABILIDADE E RECURSOS. NÃO OBSTANTE QUAISQUER DANOS QUE VOCÊ VENHA A TER POR QUALQUER RAZÃO (INCLUINDO, SEM LIMITAÇÕES, TODOS OS DANOS MENCIONADOS ACIMA E TODOS OS DANOS DIRETOS OU GERAIS), A RESPONSABILIDADE TOTAL DA MICROSOFT E DE QUALQUER UM DE SEUS FORNECEDORES SOB QUALQUER DISPOSIÇÃO DESTE EULA COMPLEMENTAR E O SEU EXCLUSIVO RECURSO PARA TODAS AS HIPÓTESES ACIMA SERÃO LIMITADOS AO VALOR EFETIVAMENTE PAGO POR VOCÊ PELOS COMPONENTES DO SO OU US$5,00 (CINCO DÓLARES AMERICANOS), O QUE FOR MAIOR. AS LIMITAÇÕES, EXCLUSÕES E ISENÇÕES DE RESPONSABILIDADE ACIMA SE APLICAM NA EXTENSÃO MÁXIMA PERMITIDA PELA LEGISLAÇÃO APLICÁVEL, MESMO QUE QUALQUER RECURSO NÃO CUMPRA O SEU PROPÓSITO ESSENCIAL."
Aí temos a segunda parte: "poder culpar alguém", conforme dito reiteradamente como justificativa para uso de software proprietário, também não se aplica para este tipo de licenciamento. Ou seja, o modelo comum de licenciamento de software proprietário pelo qual se pagou costuma fornecer garantias bastante equivalentes à simples utilização de SL conseguido gratuitamente".
A questão do suporte pago: muitas empresas, pequenas e grandes, fornecem diversos tipos de suportes e serviços para produtos de SL. Desta forma, você pode adquirir suporte comercial, se quiser minimizar seus riscos, de uma imensa variedade de fornecedores, de acordo com o seu bolso. Além disso, há sempre o suporte da "comunidade", presente em qualquer tipo de software, inclusive os proprietários, tendo se mostrado muito eficiente nas comunidades de SL, mas o importante é que você não está dependente apenas de suporte comunitário, muito menos preso a apenas um fornecedor.

### Ideologia
##### SL é comunismo?

Bill Gates e outros comunistas por Richard Stallman, tradução de Falcon Dark
Quando o site CNET News.com perguntou à Bill Gates sobre patentes de software, ele mudou de assunto e falou sobre propriedade intelectual misturando tudo com várias outras prerrogativas legais.
Então ele disse que todos que não derem suporte para a legislação sobre patentes é um comunista. Já que não sou comunista mas tenho criticado as patentes de software, fiquei pensando que esse tipo de comentário deve referir-se à mim.
Quando alguém usa o termo propriedade intelectual normalmente ou está confuso sobre o assunto ou está tentando confundir você. Esse termo é usado para colocar no mesmo pacote as leis de copyright (direitos autorais), leis de patentes e várias outras legislações, cujos dispositivos e efeitos são totalmente diferentes uns dos outros. Por que o Sr. Gates faz isso, misturando todos esses conceitos? Vamos analisar as diferenças que ele escolheu esconder.
Desenvolvedores de software não estão lutando contra as leis de copyright (direitos autorais e direitos de cópia), porque o desenvolvedor de um programa mantém o copyright do programa; desde que os programadores tenham escrito o código, ninguém mais possuirá o copyright para esse código. Não há perigo de que terceiros tenham um caso legal válido de quebra de direitos de copyright contra os programadores de um código.
Patentes são uma história diferente. Patentes de Software não cobrem o código do programa ou o programa pronto; cobrem idéias (métodos, técnicas, caracteristicas, algoritmos, etc.). Desenvolver um grande programa envolve combinar milhares de idéias, e mesmo que algumas delas sejam completamente novas, o resto precisa vir de outros softwares que o desenvolvedor já tenha visto. Se cada uma dessas idéias pudesse ser patenteada por alguém, cada grande programa iria infringir centenas de patentes. Desenvolver um grande programa significaria estar vulnerável à centenas de potenciais processos judiciais. Patentes de software são ameaças aos desenvolvedores de software, e aos usuários, que também podem ser processados.
Alguns poucos afortunados desenvolvedores de software estariam livres de todo o perigo. Seriam as megacorporações que, normalmente, possuem milhares de patentes cada e licenciamento cruzado uma com a outra. Isto lhes dá uma vantagem sobre rivais menores que é irreversível. Esta é a razão pela qual geralmente são as megacorporações que fazem lobby por patentes de software.
A Microsoft de hoje é uma megacorporação com milhares de patentes. Microsoft disse em juízo que o maior competidor do Windows é Linux, referindo-se ao sistema operacional e software livre chamado GNU/Linux. Documentos internos da Microsoft que vazaram para o público dizem que a Microsoft visa usar as patentes de software para anular o desenvolvimento do GNU/Linux.
Quando o Sr. Gates começou a criar sua solução para o problema do spam, eu suspeitei que tratava-se de um plano de usar as patentes de software para assumir o controle da Internet. De fato, em 2004, a Microsoft pediu à IETF (Internet Engineering Task Force ou Força Tarefa de Engenharia da Internet) para aprovar um protocolo de e-mail que a Microsoft tentava patentear. A política de licenciamento para o protocolo foi criada para proibir inteiramente o software livre. Nenhum programa que suportasse esse protocolo de e-mail poderia ser lançado como software livre, sob a GNU GPL (Licença Geral Pública do GNU), a MPL (Licença pública Mozilla), a licença Apache, quaisquer licenças BSD, ou qualquer outra licença livre.
A IETF rejeitou o protocolo da Microsoft, mas a Microsoft afirmou que tentaria convencer grandes provedores de internet a usar o protocolo de qualquer modo. Graças ao Sr. Gates agora sabemos que uma internet aberta com protocolos que qualquer um possa implementar é comunismo; e que esta foi desenvolvida pelo mais famoso agente comunista que há, o departamento de defesa dos Estados Unidos da América.
Com a participação de mercado que a Microsoft tem, ela pode impor sua escolha de sistema de programação ao mercado como um padrão de-facto. A Microsoft já patenteou alguns métodos de implementação usados em .Net, aumentando a preocupação de que milhões de usuários foram inseridos em um monopólio que o próprio governo dos Estados Unidos da América já tentou combater.
Mas capitalismo significa monopólio; ao menos a visão de capitalismo de Gates significa. Pessoas que acham que qualquer um deve estar livre para programar, livre para escrever softwares complexos, são comunistas como o Sr. Gates já colocou. Mas estes comunistas já infiltraram-se até mesmo na Microsoft. Aqui está o que Bill Gates disse à seus empregados na Microsoft em 1991:
'Se as pessoas tivessem entendimento sobre como patentes seriam concedidas quando a maioria das idéias de hoje foram inventadas e tivessem registrado-as, a industria de hoje estaria completamente paralisada...No futuro uma pequena empresa de informática que não possua patentes próprias será forçada a pagar qualquer preço que as gigantes escolham impor.'
O segredo do Sr. Gates foi agora revelado; ele também era um comunista; ele também reconheceu que patentes de software eram danosas, até que a Microsoft tornou-se uma das gigantes. Agora a Microsoft pretende usar as patentes de software para impor qualquer preço que escolha à você e à mim. E se objetarmos contra isso o Sr. Gates irá nos chamar de comunistas
Se você não tiver medo de ser assim rotulado, visite ffii.org (Foundation for a Free Information Infratructure ou Fundação para uma Estrutura de Informação Livre), e junte-se à luta contra as patentes de software na Europa. Nós já persuadimos o Parlamento Europeu uma vez - até mesmo alguns Primeiros Ministros de direita são comunistas ao que parece - e com sua ajuda vamos fazê-lo novamente.
Richar Stallman é presidente da Free Software Foundation e chefe do projeto GNU.

##### Mostrando o código para todos, não perco a propriedade e a segurança?

Há basicamente duas formas de explorar vulnerabilidades em um software. A primeira seria de fora pra dentro: através de tentativas sistemáticas de exploração de falhas já conhecidas.
A outra forma é de dentro para fora: descobre-se falhas de programação através da análise do código-fonte e, então, cria-se mecanismos que explorem estas falhas.
A primeira, de fora para dentro, funciona da mesma forma tanto para softwares proprietários quanto para livres. A segunda, entretanto, salvo nos casos em que o código-fonte proprietário possa ser roubado, expõe apenas os SL.
É possível que alguém mal-intencionado e com grande conhecimento de programação dedique-se a encontrar e explorar estas falhas. Da mesma forma, é possível que alguém bem-intencionado faça o mesmo mas, ao invés de explorar a falha, disponha-se a oferecer à humanidade (ou comunidade) o conhecimento à falha e uma solução seja quase imediatamente encontrada, seja por ele, seja por outros programadores.
A questão é mais de fé do que de probabilidade. Se a pessoa prefere apostar na segurança escondendo as vulnerabilidades do software, mas que continuarão lá até a empresa que o desenvolveu tomar conhecimento e dispor-se a corrigi-las, talvez a aposta no software proprietário seja mais confortável.
Se a pessoa, entretanto, prefere que o máximo de pessoas possível tenha acesso às eventuais vulnerabilidades, e acredita que a falha será mais facilmente identificada e corrigida com a existência de uma comunidade disposta a analisar o código-fonte do software, mesmo podendo haver pessoas mal-intencionadas neste meio, então talvez apostar no SL seja mais confortável.
Um exemplo prático: as urnas eletrônicas. O que é mais seguro para o sistema eleitoral: que apenas alguns poucos indivíduos tenham acesso ao código-fonte das urnas eletrônicas ou que toda a humanidade tenha este acesso? Na primeira hipótese, as chances de uma pessoa mal-intencionada no seleto grupo de privilegiados conseguir explorar vulnerabilidades é muito maior, pois as chances de eventuais falhas serem reconhecidas são muito menores. No outro caso, se milhares de programadores tiverem acesso a este código-fonte, as chances de, na existência de uma vulnerabilidade, algum bem-intencionado encontrá-la e divulgá-la à humanidade, são muito maiores!
Fica a pergunta: o que é mais seguro? Que apenas os exploradores de falhas (seja de dentro pra fora, seja de fora pra dentro) saibam das mesmas, ou que toda a comunidade tenha acesso a este conhecimento e medidas corretivas possam ser imediatamente providenciadas? É uma questão de fé e bom-senso.

##### SL e CA são a mesma coisa?

O SL gera uma indepedência tecnológica, e isso contraria práticas monopolistas de algumas empresas grandes que possuem posição privilegiada e tentam mantê-la a todo custo. Para tentar continuar garantindo estes privilégios, estas empresas procuram reforçar temores com mitos como: código aberto gera insegurança, SL é comunismo, SL é difícil/para especialistas/coisa de hacker. A experiência e as demonstrações da validade do modelo bazar como ambiente de desenvolvimento de Software (ver "A Catedral e o Bazar"), têm feito cair por terra estes preconceitos.
SL visa preservar liberdades individuais e os princípios básicos de uma economia livre moderna: competição, inovação, e combate a mono/oligopólios.
Na obra "A Catedral e o Bazar" e estudando formas de organização de companhias como Mozilla e a comunidade Linux, vemos a maturidade do modelo de organização de SL. Temos ainda RedHat, IBM, Debian, etc, que fazem um segundo estágio de QA nos pacotes de software. Por isso podemos enunciar: O SL tem um modelo maduro de organização de uma comunidade de beta-testers/co-desenvolvedores que garante um código de qualidade e adequação aos requisitos dos usuários.
Outra confusão muito comum é sobre a diferença entre software livre e software de código aberto. A diferença primordial entre o movimento Open Source (código aberto) e o SL, está no plano dos valores. Para o movimento Open Source, o fato de um software ser aberto é uma questão de praticidade, não ética. Para o SL, fala-se da questão fundamentalmente social. Para ambos os movimentos, software é uma arte e uma função social (ver Hackers e Pintores). O movimento SL, entretanto, tem uma preocupação maior em garantir os direitos e a liberdade do autor. As diferenças podem ser melhor entendidas compreeendendo a diferença entre as licenças BSD (CA) e as licenças GPL (SL), e também compreendendo a diferença entre estas e domínio público. É importante compreender que ser software livre e ver o código (ou parte dele) são coisas muito diferentes.

### Adoção
##### Quem está usando?

Países
Brasil; Espanha; Venezuela; França; Alemanha; Suiça; Peru; Austrália; China; Itália; Estados Unidos; Colômbia; Cuba; África do Sul; Argentina; Uruguai; Noruega; Dinamarca; Portugal e Japão.
Setor Público Federal
Dataprev; Interlegis; Embrapa; Marinha do Brasil; Exército Brasileiro; Aeronáutica; Embratur; Agência Espacial Brasileira; Serpro; ITI; Radiobrás; Cobra Tecnologia; Banco do Brasil; Caixa Ecônomica Federal; DATASUS; ENAP; CONAB; CORREIOS; ANTAQ; Ministério do Planejamento; Ministério do Desenvolvimento Agrário; Ministério do Desenvolvimento Social e Combate à Fome; Ministério da Cultura; Ministério da Educação; Ministério da Saúde; Ministério da Agricultura; Ministério do Trabalho e Emprego; Ministério do Meio Ambiente; Ministério da Defesa; Ministério das Comunicações; Ministério da Saúde; e Secretaria Especial de Aquicultura e Pesca.
Governo Estadual
Paraná; Santa Catarina; Rio de Janeiro; São Paulo; Rio Grande do Norte; Sergipe; CELEPAR; PRODERJ; CIASC; e METRÔ-SP.
Governo Municipal
Belo Horizonte - MG; Rio das Ostras - RJ; Recife - PE; Sobral - CE; Diadema - SP; São Paulo - SP; Porto Alegre - RS; Caxias do Sul - RS; Niterói - RJ; Piraí - RJ; Amparo - SP; Ourinhos - SP; Fortaleza - CE; Manaus - AM; Olinda - PE; Conélio Procópio - PR; e Recreio - MG
Empresas Privadas
Casas Bahia; Lojas Renner; Grupo Bombril; Grupo Pão de Açucar; Wal-Mart; Malharia Marisol; IBM; Novell; Sun; Dell; e HP
Universidades
IME - Instituto Militar de Engenharia; UFCG - Federal de Campina Grande; UFRJ - Federal do Rio de Janeiro; UFSC - Federal de Santa Catarina; UNIRIO; USP - Estadual de São Paulo; UNICAMP - Estadual de Campinas; UERJ - Estadual do Rio de Janeiro; PUC-RS; PUC-Minas; UNISINOS; UNIVATES; e Estácio de Sá
Faculdades
Instituto Superior Fátima (Brasília - DF);
Terceiro Setor e Movimentos Sociais
MST - Movimento dos Sem Terra; SOCID - Sociedade Digital; Coletivo Digital; e ANCA

##### É fácil migrar para SL?

Hoje em dia muitos governos já estão usando SL em seus programas de inclusão digital. Computadores populares já estão sendo vendidos com Linux instalado como sistema operacional. A migração para SL é fácil de ser feita. Muitos desses sistemas possuem a versão "live", ou seja, sistemas que rodam diretamente do CD, dando ao usuário a possibilidade de usá-lo primeiro e tirar suas conclusões antes de instalar no disco rígido do PC. Sistemas operacionais linux podem ser baiuxados diretamente dos servidores FTP e gravados em CD sem custo e sua instalação é tão fácil como o windows XP. Basta programar a maquina para que de o boot inicial pelo leitor de CD e deixar rodar, seguindo as instruções.

##### Grandes empresas usam SL?

Sim. Atualmente a IBM, uma das maiores, desistiu de portar o seu próprio sistema UNIX-like, o AIX, para a plataforma x86 pelo alto custo decorrente. Na época, o kernel do Linux não era estável o suficiente para missões críticas. A falta de alguns drivers e serviços também eram pontos fracos no kernel de então.
A IBM decidiu apostar e implementar o que faltava. Hoje, a IBM é uma das empresas que mais investe e apóia o SL.
Agora, IBM, Sun e Google apóiam a iniciativa OpenDocument.

##### Porque usar SL?

O Apache (servidor web e SL) é usado em mais de 70% dos servidores web, e pode-se dizer que a Apache Foundation é um dos grandes responsáveis pelo sucesso da Internet. O PHP (linguagem de SL) é usado em mais de 20 milhões de sites no mundo (quase um terço dos sites dinâmicos). A IBM e a Oracle integraram o PHP e o Apache em seus produtos.
A adoção do GNU/Linux (sotware livre mais famoso atualmente) em servidores e desktops gera uma redução de custos no longo prazo (os custos de aprisionamento são quebrados, a empresa fica mais independente).
No momento, as maiores dificuldades são causadas pelo software legado, muitas vezes preso a SP, pela mudança cultural envolvida (novas habilidades e saber comprar serviços), pela imaturidade da profissão de informática (baixa capacitação/amadorismo), e o descaso com questões legais (pirataria, que faz com que o SP seja mais barato que o SL). Mas os pioneiros que enfrentaram estes problemas já estão colhendo frutos:
Um caso de sucesso de migração foi o da Bombril. Veja o que o CIO, Marcelo de Cillo, relata -"Conseguimos migrar gradativamente todos os usuários do MS Mail para o ambiente Linux sem criar nenhum impacto na organização, trazendo melhorias significativas na solução técnica, assim como nos recursos disponíveis para os usuários finais".
Veja também a opinião de Rogério Oliveira, presidente da IBM Brasil - "Para países em desenvolvimento como o Brasil e governos focados em incentivar o desenvolvimento econômico e a diversificação da indústria de tecnologia da informação no país, os padrões abertos podem desempenhar um importante papel na estratégia governamental".
As empresas líderes em tecnologia no mundo estão cada vez mais aderindo a SL, nesse rol estão nomes como Wal-Mart, Cisco, HP, IBM, Pão-de-Açúcar e até diversos bancos, historicamente um setor mais conservador. Grandes parques de máquinas com sistemas Linux e outros SL estão nestas empresas e os planos de expansão para 2006 são muito ambiciosos, inclusive em Desktops e PDVs. Governos da Europa, Ásia e o Brasil também anunciam planos e o governo dos EUA é um dos maiores usuários de SL em missão crítica.
O sistema do pingüim, vedete do SL, ainda permite redução dos custos, alta disponibilidade e melhoria dos níveis de serviços prestados pela empresas. Com isso, há a criação de sistemas mais estáveis e abrangentes e a abertura de uma nova concepção para o aproveitamento de equipamentos legados. O GNU/Linux já mostrou pra que veio. Trata-se de um sistema bem sedimentado e com desenvolvimento constante. A resistência que algumas corporações apresentam ao utilizar o S.O. livre pode ser explicada na própria cultura organizacional e na falta de conhecimento tanto conceitual quanto técnico.
Uma das principais razões para o sucesso do Linux a longo prazo é a sua natureza de SL e os fatores decorrentes disso (independência, customização, adequação, inovação, suporte).

## Panorama para o futuro

Com a crescente popularização, o entendimento dos conceitos por trás do SL, o cada vez maior apoio de grandes empresas, que enxergam o potencial de expansão de negócios de informática potencializados pelo SL, a criação de facilidades em que os desenvolvedores e empresas têm se empenhado (ver incrível evolução do projeto KDE, as ferramentas de administração como Webmin, e outros desktops como Gnome).
De qualquer forma, uma adoção de SL bem sucedida deve conter estudos, justificativas, e, principalmente, planejamento e treinamento de técnicos e usuários.

## Referências

* Lacy, Sarah (28 de dezembro de 2005). A Watershed for Open Source.