Post

Carreira com Software Livre - O que é e como começar?

Carreira com Software Livre - O que é e como começar?

Introdução

Software Livre é um movimento que tem como objetivo promover a liberdade de uso, estudo, modificação e distribuição de software. O movimento do Software Livre é baseado em quatro liberdades essenciais:

  1. A liberdade de executar o programa, para qualquer propósito (liberdade nº 0).
  2. A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito para esta liberdade.
  3. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2).
  4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). O acesso ao código-fonte é um pré-requisito para esta liberdade.

Tipos de licenças para software livre

Existem diversos tipos de licenças para software livre, sendo as mais populares a GPL, LGPL, MIT, Apache, BSD e a Mozilla. Cada uma dessas licenças possui suas próprias características e restrições, porém, todas elas garantem as quatro liberdades essenciais do movimento do Software Livre.

  1. GPL: A GPL é uma licença copyleft, o que significa que qualquer software que utilize uma biblioteca licenciada sob a GPL também deve ser licenciado sob a GPL. A GPL é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.
  2. LGPL: A LGPL é uma licença copyleft, o que significa que qualquer software que utilize uma biblioteca licenciada sob a LGPL também deve ser licenciado sob a LGPL. A LGPL é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.
  3. MIT: A MIT é uma licença permissiva, o que significa que qualquer software que utilize uma biblioteca licenciada sob a MIT pode ser licenciado sob qualquer outra licença. A MIT é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.
  4. Apache: A Apache é uma licença permissiva, o que significa que qualquer software que utilize uma biblioteca licenciada sob a Apache pode ser licenciado sob qualquer outra licença. A Apache é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.
  5. BSD: A BSD é uma licença permissiva, o que significa que qualquer software que utilize uma biblioteca licenciada sob a BSD pode ser licenciado sob qualquer outra licença. A BSD é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.
  6. Mozilla: A Mozilla é uma licença permissiva, o que significa que qualquer software que utilize uma biblioteca licenciada sob a Mozilla pode ser licenciado sob qualquer outra licença. A Mozilla é uma licença muito popular entre os desenvolvedores de software livre, pois garante que o software permaneça livre e aberto para todos.

Como começar a contribuir com software livre?

Existem diversas formas de contribuir com software livre, sendo as mais populares a contribuição de código, a contribuição de documentação e a contribuição de tradução. Cada uma dessas formas de contribuição possui suas próprias características e restrições, porém, todas elas garantem as quatro liberdades essenciais do movimento do Software Livre.

A Importância do Software Livre na Indústria de Tecnologia

O Software Livre é um movimento que tem como objetivo promover a liberdade de uso, estudo, modificação e distribuição de software. Hoje existem vários projetos que são pilares da indústria e são mantidos por comunidades de desenvolvedores que trabalham de forma voluntária. Esses projetos são essenciais para o desenvolvimento de novas tecnologias e para a evolução da indústria de tecnologia como um todo. Por isso, é importante que os desenvolvedores se envolvam com o movimento do Software Livre e contribuam com projetos que são essenciais para a indústria de tecnologia.

Exemplos de software livre que são essenciais para a indústria de tecnologia:

Linux: O Linux é um sistema operacional de código aberto que é utilizado por milhões de pessoas em todo o mundo. https://www.kernel.org/.

Apache: O Apache é um servidor web de código aberto que é utilizado por milhões de pessoas em todo o mundo. https://httpd.apache.org/.

MariaDB: O MariaDB é um sistema de gerenciamento de banco de dados de código aberto derivado do MySQL. https://mariadb.org/.

Docker: O Docker é uma plataforma de código aberto que permite que os desenvolvedores empacotem seus aplicativos em contêineres. https://www.docker.com/.

Kubernetes: O Kubernetes é uma plataforma de código aberto que permite que os desenvolvedores gerenciem seus aplicativos em contêineres. https://kubernetes.io/.

Ansible: O Ansible é uma ferramenta de código aberto que permite que os desenvolvedores automatizem a implantação de seus aplicativos. https://www.ansible.com/.

Jenkins: O Jenkins é uma ferramenta de código aberto que permite que os desenvolvedores automatizem a construção e o teste de seus aplicativos. https://www.jenkins.io/.

Git: O Git é uma ferramenta de código aberto que permite que os desenvolvedores controlem as versões de seus aplicativos. https://git-scm.com/.

Software livre em números:

  • Atualmente existem mais de 1.000.000 de projetos de software livre no GitHub.
  • O GitHub é a maior plataforma de desenvolvimento de software livre do mundo. GitHub
  • O Linux é o sistema operacional mais utilizado no mundo. Linux
  • Existem mais de projetos 1861 projetos na CNCf. Tanto projetos graduaos, incubados, sabdbvox e arquivados. CNCf
  • Existem mais de 300 projetos na Apache. Apache

CNCF - Cloud Native Computing Foundation

  • CNCF (Cloud Native Computing Foundation): Uma organização sem fins lucrativos.
    • Objetivo: Promover o desenvolvimento de software livre para a nuvem.
    • Características:
      • Foco em Cloud Native: Concentra-se em tecnologias que empoderam sistemas escaláveis, resilientes e agéis baseados em contêineres.
      • Comunidade Aberta e Colaborativa: Encoraja a colaboração e contribuição abertas entre membros da indústria, desenvolvedores e usuários finais.
      • Padrões e Práticas de Governança: Estabelece padrões e melhores práticas para garantir interoperabilidade e eficiência.
      • Apoio à Inovação e Sustentabilidade: Fomenta a inovação e sustentabilidade de projetos e comunidades de software livre.
      • Eventos e Educação: Organiza eventos, webinars e programas educacionais para promover conhecimento e colaboração na comunidade cloud native.
    • Projetos Chave:
      • Kubernetes: Um sistema de orquestração de contêineres.
      • Prometheus: Sistema de monitoramento e alerta.
      • Envoy: Um proxy de serviço de código aberto.
    • Links:

Apache Software Foundation

  • ASF (Apache Software Foundation): Uma organização sem fins lucrativos.
    • Objetivo: O objetivo da ASF é fornecer software livre para o público em geral.
  • Principais Projetos da Apache Software Foundation:
    1. Apache Hadoop: Framework para processamento distribuído de grandes conjuntos de dados.
    2. Apache Kafka: Plataforma de streaming distribuído para construção de pipelines de dados em tempo real.
    3. Apache Cassandra: Banco de dados distribuído para lidar com grandes quantidades de dados.
    4. Apache Spark: Motor de análise unificado para processamento de dados em larga escala.
    5. Apache Lucene: Biblioteca de software para recuperação de informações e pesquisa de texto completo.
    6. Apache Tomcat: Contêiner de servlets para aplicações web Java.
    7. Apache Maven: Ferramenta de automação de compilação para projetos Java.
    8. Apache HBase: Banco de dados não relacional distribuído para grandes conjuntos de dados.
    9. Apache Flink: Framework e mecanismo de processamento de fluxo distribuído.
    10. Apache Airflow: Plataforma para programar, coordenar e monitorar fluxos de trabalho.
  • Links:

Linux Foundation

A Linux Foundation é conhecida por seu apoio a vários projetos importantes de código aberto, incluindo o Linux Kernel, Kubernetes, Hyperledger e Node.js. Eles se concentram em fornecer um lar neutro e apoio para a colaboração em tecnologias de código aberto, priorizando inovação, inclusão e desenvolvimento sustentável.

Para obter informações detalhadas e uma lista completa dos projetos, recomendo visitar diretamente o site da Linux Foundation: Linux Foundation Projects.

Principais Projetos da Linux Foundation:

  • CNCF: Cloud Native Computing Foundation.
  • LF AI: Linux Foundation Artificial Intelligence.
  • LF Edge: Linux Foundation Edge.
  • LF Energy: Linux Foundation Energy.
  • LF Public Health: Linux Foundation Public Health.
  • OpenJS Foundation: OpenJS Foundation.
  • RISC-V: RISC-V.

  • Links:

Resumo

Esse artigo discute a carreira em Software Livre, enfatizando a importância das quatro liberdades essenciais do movimento: executar, estudar, redistribuir e aperfeiçoar programas. Ele explora diferentes tipos de licenças, como GPL, LGPL, MIT, Apache, BSD e Mozilla, destacando suas características únicas. O texto sugere formas de contribuir com software livre, incluindo código, documentação e tradução. Destaca a relevância do Software Livre na indústria de tecnologia, citando exemplos como Linux, Apache e Docker. Além disso, menciona projetos e iniciativas de organizações como CNCF, Apache Software Foundation e Linux Foundation, fornecendo links úteis e informações sobre seus projetos e objetivos.

Esta postagem está licenciada sob CC BY 4.0 pelo autor.