Muitas pessoas estão preocupadas com as especificações da câmera, tamanho da tela e capacidade de armazenamento ao adquirir um novo smartphone. Um dos elementos mais essenciais desses itens de consumo atraentes é o sistema operacional, que é fácil de ignorar.
O Android do Google é o sistema operacional móvel mais popular do mundo. É encontrado em mais de 86 por cento dos telefones smartphones em todo o mundo. O que é mais surpreendente é que o Android é baseado no sistema operacional Linux de código aberto. Isso significa que qualquer pessoa pode ler, alterar e, mais importante, compartilhar o código no coração da grande maioria dos smartphones. A colaboração é possibilitada por essa abertura.
Ao contrário do Microsoft Windows, por exemplo, que foi criado e mantido por uma única empresa. Mais de 15000 programadores de todo o mundo contribuem para o desenvolvimento e manutenção do Linux. Esses programadores podem se oferecer para construir algo novo que seja distribuído gratuitamente.
O que é código aberto?
Um pedaço de software para o qual o código-fonte original é disponibilizado publicamente e pode ser compartilhado e atualizado conforme necessário pelo usuário. Software de código aberto é um software no qual o código-fonte ou o código-base é normalmente acessível para qualquer pessoa modificar ou melhorar para reutilização e acessibilidade.
Um software pode ser manipulado e alterado por qualquer pessoa para que o programa ou aplicativo funcione corretamente. Os programadores com acesso ao código-fonte de um programa de computador podem aprimorá-lo adicionando recursos ou corrigindo seções que nem sempre funcionam corretamente.
O software de código aberto é criado de forma descentralizada e colaborativa, contando com revisão por pares e saída da comunidade. Por ser produzido por comunidades e não por um único autor ou corporação, o software de código aberto geralmente é mais barato, mais adaptável e tem uma vida útil mais longa do que o software proprietário.
A cada ano, o código aberto se torna cada vez mais prevalente, aparecendo em todos os lugares, de cidades governamentais a instituições. Também está se tornando mais popular entre empresas de todos os tamanhos. Na verdade, algumas empresas estão levando o código aberto para o próximo nível, financiando projetos ou colaborando com desenvolvedores.
A colaboração promove a inovação com código aberto e gratuito. Muitas das tecnologias que tomamos como garantidas hoje não teriam evoluído ou seriam protegidas pela lei de patentes se não fosse por isso.
A história
Pesquisadores que trabalhavam nas primeiras tecnologias da Internet e protocolos de rede de comunicações se beneficiaram de um ambiente de pesquisa aberto e colaborativo nas décadas de 1950 e 1960. A revisão por pares e os comentários abertos foram promovidos pela Advanced Research Projects Agency Network (ARPANET), que acabou se tornando a pedra angular da internet contemporânea.
O código-fonte de cada grupo de usuários foi compartilhado e aprimorado. Os fóruns ajudaram na facilitação da discussão, bem como no desenvolvimento de normas abertas de comunicação e colaboração. Colaboração, revisão por pares, comunicação e abertura foram incorporados às raízes da internet no momento em que foi lançada no início dos anos 1990.
A noção de tornar o código-fonte disponível publicamente surgiu de uma campanha intelectual iniciada informalmente por Richard Stallman, um programador do MIT, em 1983. Stallman achava que o software deveria estar disponível para os programadores para que eles pudessem alterá-lo como bem entendessem para melhor compreendê-lo, conhecê-lo e melhorá-lo.
Stallman começou a distribuir software livre sob sua própria licença, a GNU Public License. Essa nova técnica e atitude em torno do desenvolvimento de software ganhou força, levando à fundação da Open Source Initiative em 1998.
Software de código aberto vs. software de código fechado
Software livre
- Software-fonte acessível é um software de computador cujo código-fonte é aberto ao público, permitindo que qualquer pessoa o visualize e use.
- O código pode ser alterado por outros indivíduos e organizações, o código fonte é acessível a qualquer pessoa.
- O custo do software de código aberto é bastante baixo.
- Se o programa for popular, um número significativo de programadores pode ser atribuído ao projeto.
- Há menos limitações para os usuários em termos de uso e personalização de software.
- Qualquer máquina pode ser configurada para executar software aberto.
- Raposa de fogo, Android do Google, sistema operacional Linux, Android, Thunderbird, MySQL, Mailman, Moodle, Perl, PHP e Python são alguns exemplos.
Software de código fechado
- Software de código-fonte fechado é um software de computador com código-fonte fechado, o que significa que o público não tem acesso ao código-fonte.
- Apenas a pessoa ou grupo que produziu o software tem a capacidade de alterar o código.
- O código-fonte do software de código fechado é protegido.
- Existem vários limites impostos aos usuários, dependendo da usabilidade e personalização do software.
- A empresa/organização de software contrata programadores para melhorar o software.
- O software de código fechado é caro.
- Antes de ser instalado em qualquer computador, o software fechado deve ter uma licença válida.
- Não há espaço para erro no software de código fechado.
- Skype, Google Earth, Java, Adobe Flash, Virtual Box, Adobe Reader, Microsoft Office, Microsoft Windows, WinRAR, mac OS, Adobe Flash Player são alguns exemplos.
Os benefícios
O código-fonte aberto tem ajudado tanto aspirantes a desenvolvedores quanto grandes corporações em seu conhecimento tecnológico. É uma educação sem fim, especialmente devido à crescente consequência da codificação. Essa rede de ideias em constante expansão é apenas o começo de como esse software pode ajudar sua corporação.
Esticar um orçamento pode ser uma batalha diária para as startups. A disponibilidade de projetos de código aberto permite que os consumidores adotem novas tecnologias sem pagar taxas de associação ou assinar contratos de longo prazo. Além do custo baixo (ou inexistente), as bibliotecas de código aberto permitem que as equipes tenham uma vantagem inicial na construção de uma infraestrutura de TI ou no desenvolvimento de um novo aplicativo.
Muito desse trabalho já foi feito para você graças ao código aberto. Isso libera o tempo dos desenvolvedores para otimização e personalização. Sempre haverá situações em que as organizações desejam começar do zero com o desenvolvimento, mas mesmo as maiores marcas do mundo reconhecem a economia de tempo e dinheiro usando a tecnologia de código aberto. Componentes de código aberto, sejam usados como kits iniciais para aplicativos complexos ou as peças do pequeno quebra-cabeça para ajudar a concluir um projeto, podem ser uma alternativa útil tanto para desenvolvedores individuais quanto para equipes corporativas.
Comunidades online como o GitHub demonstram o potencial colaborativo do software de código aberto, fornecendo um lar para milhões de desenvolvedores e empresas hospedarem, avaliarem e utilizarem plataformas de código aberto. A Microsoft pagou US$ 7.5 bilhões pela plataforma em 2018. Este é provavelmente o exemplo mais visível até hoje de como a tecnologia de código aberto se tornou popular e que gigantes de TI estabelecidos estão investindo no futuro dessa comunidade.
Por várias razões, desenvolver e executar uma estratégia de software de código aberto tornou-se fundamental. Individualmente e juntos, os desenvolvedores de software de código aberto buscam as melhores respostas para os desafios técnicos, resultando em software confiável, seguro e gratuito. O programa melhora ao longo do tempo como resultado de seu trabalho incansável.
O processo é auxiliado por várias fundações, incluindo a Linux Foundation, que oferece suporte ao código aberto em vários domínios tecnológicos, a Apache Software Foundation e a Eclipse Foundation.
Eles estabelecem padrões em colaboração com gigantes digitais como AWS, Facebook, Google, IBM, Microsoft, Netflix e SAP, bem como fabricantes de hardware como Cisco, Intel e Tesla. Eles também constroem casas independentes de fornecedores para projetos, oferecem assistência financeira para infraestrutura, auxiliam no marketing e selecionam comitês para fazer escolhas inteligentes de projetos.
Para resumir, alguns dos principais benefícios do código aberto são:
- As despesas de hardware são menores.
- Software de qualidade excepcional.
- Suporte global por desenvolvedores.
- Flexibilidade e liberdade.
- O gerenciamento de licenças é simples.
- Concentração e dimensionamento de projetos.
Os riscos
Conforme mencionado na seção anterior, o código aberto pode oferecer várias vantagens. Agora, veremos as possíveis desvantagens ou perigos relacionados a ela, que se enquadram em três categorias da seguinte forma:
- Risco de segurança
- Risco de Qualidade
- Riscos de conformidade
Componentes de código aberto podem ser encontrados em vários repositórios da Internet, e os desenvolvedores não têm meios de saber se são bons ou seguros. As organizações que não investem no controle de seu uso se colocam em risco e podem pagar o preço mais tarde, quando a correção de erros se torna muito mais cara.
Risco de segurança
Os hackers podem ganhar muito dinheiro explorando falhas de segurança de código aberto. Isso fornece aos hackers todas as informações necessárias para iniciar um ataque. Para piorar a situação, por ser tão amplamente utilizada, uma vulnerabilidade em um componente popular oferece aos hackers um grande número de possíveis vítimas. Isso significa que os hackers estão de olho na comunidade e são rápidos em explorar falhas de segurança conhecidas em componentes populares de código aberto.
As empresas de software ficam vulneráveis a ataques maliciosos se não monitorarem seu uso de código aberto e ignorarem quaisquer bibliotecas vulneráveis em seu código.
Risco de Qualidade
Enquanto uma empresa gasta muito tempo e dinheiro para garantir o qualidade de seu código proprietário, parece que muitas equipes de desenvolvimento subestimam ou ignoram a qualidade dos componentes de código aberto. Claro, todos nós queremos que nosso produto final seja consistente e estável sob pressão.
Uma das razões pelas quais é difícil verificar se um componente de software de código aberto não compromete o status do seu produto é porque não há critérios acordados para avaliar sua qualidade, e o caráter colaborativo de um código aberto pode dificultar a a medida.
Riscos de conformidade
Cada componente de software de código aberto, bem como suas dependências, é licenciado. Quando os utilizamos em nosso projeto, nos comprometemos com um conjunto de termos e condições aos quais devemos aderir. Para aqueles que não estão familiarizados com a complexidade do licenciamento de código aberto, isso pode ser um pesadelo.
Alguns projetos de código aberto não possuem qualquer tipo de licença de fonte, o que implica que as regras de direitos autorais se aplicam por padrão. Como existem tantas licenças, atender a todos os requisitos legais é bastante difícil. Você sabia que existem mais de 200 tipos distintos de licenças de código aberto, cada uma com seu próprio conjunto de termos e condições exclusivos, especializados e muitas vezes desconcertantes?
O futuro do código aberto
Novas ondas de inovação serão alimentadas por software que é o resultado de um esforço colaborativo, não apenas de um negócio, mas de uma comunidade dedicada a melhorar todo o ambiente.
As empresas estão liberando seus desenvolvedores para competir na arena digital, com o objetivo de serem as primeiras a gerar inovação cada vez maior na indústria tecnológica, à medida que continua ganhando exposição entre as empresas.
Os desenvolvedores podem abordar efetivamente as dificuldades de teste e implementação usando a comunidade de código aberto e aprendendo com os melhores desenvolvedores, especialmente com a enxurrada de novas tecnologias, como IA, aprendizado de máquinae avanços na robótica.
Quando os funcionários aproveitam a comunidade dinâmica e orientada a soluções, vemos os negócios ganharem. De veículos autônomos a robôs médicos, cidades inteligentes a datacenters, não queremos confiar as respostas a esses desafios a um pequeno número de empresas. Em vez disso, devemos confiar no código aberto e em uma série de inventores brilhantes para obter os melhores resultados.
Conclusão
O movimento de código aberto é responsável pelo rápido avanço da tecnologia nas últimas décadas. Embora o código aberto apresente alguns riscos, há muitos benefícios e caminhos promissores a seguir. Uma grande comunidade de contribuidores, diretrizes de como começar, aprender estudando o código de outras pessoas e ganhar experiência na comunicação com outros engenheiros são alguns excelentes benefícios que você obtém do software de código aberto.
Se você também quiser começar a contribuir para um projeto de código aberto, primeiro encontre um que o fascine, depois pesquise no GitHub por um rótulo que diga “bom primeiro problema” ou algo semelhante. Boa primeira edição é um projeto que seleciona seleções fáceis de projetos populares para desenvolvedores que nunca contribuíram antes.
Deixe um comentário