• Nenhum resultado encontrado

Reúso e cultura do software livre

N/A
N/A
Protected

Academic year: 2021

Share "Reúso e cultura do software livre"

Copied!
31
0
0

Texto

(1)

Reúso e cultura do

software livre

(2)

Cristiano Carvalho Lacerda

Fernando Vinícius GIanini SIlva

Rafael Olivier Cardoso

Leonardo Kobe Choyoung Lim

(3)

"Abra seu celular. Suas redes

sociais, suas notícias, seus

registros médicos, seu banco:

todos usam código aberto e

livre."

Roads and Bridges - The Unseen Labor Behind Our Digital Infrastructure.

(4)

Definição de software livre

Qualquer software que adere às 4 liberdades fundamentais:

● A liberdade de rodar o programa da maneira que você quiser, para qualquer propósito. (Liberdade 0)

● A liberdade de estudar como o programa funciona e adaptá-lo para fazer a computação que você deseja. (Liberdade 1)

● A liberdade para redistribuir cópias do software para que você possa ajudar seu vizinho. (Liberdade 2)

● A liberdade de distribuir cópias da sua versão modificada do programa. (Liberdade 3)

(5)

Free Software x Open Source

● Os dois conceitos se referem basicamente ao exato mesmo tipo de software e conjunto de licenças. Cada termo porém carrega filosofias e valores distintos.

“Open source is a development methodology; free software is a social movement.” - Richard Stallman

(6)

Free Software x Open Source

Bruce Perens - Criador da Open Source Initiative - 1998

(7)

Free Software x Open Source

● Ambiguidade do termo "Free".

● A mudança de nomenclatura não foi um simples acidente.

● Este esforço foi fundamental para a adoção em massa do open source ao se distanciar do “radicalismo” pregado pelo movimento do software livre - Free software, free society.

(8)

Como software livre é diferente de tudo, e

a promessa de uma sociedade livre

De muitas maneiras desenvolver software é como construir um prédio.

Uma construtora não fabrica os tijolos e o cimento que vai utilizar. Ao invés disso ele compra essa matéria prima de um fornecedor para reduzir custos e realizar o trabalho mais rápido.

Da mesma forma usar software livre para uma companhia como o Facebook é muito mais eficiente do que desenvolver todas as partes internamente.

É o equivalente a olaria, a fábrica de cimento e a loja de materiais de construção doarem de graça toda a matéria prima que construtora desejasse e continuar a oferecer suporte para a companhia.

(9)

Por que utilizar software livre?

● Confiabilidade e transparência:

● Flexibilidade e suporte:

● Qualidade do software e boas práticas de desenvolvimento:

(10)

GitHub

● O uso do github mostra o seu crescimento exponencial.

● Em 2011, havia somente 2 milhões de repositórios ● Hoje (2016), GitHub tem 14 milhões de usuários e

aproximadamente 35 milhões de repositórios. Isto incluindo “forked repositories”.

● A contagem de repositórios únicos chegam perto de 17 milhões.

● Brian Doll notou que o primeiro milhão de repositórios levou quase 4 anos para serem criados; Do nono ao décimo milhão levou apenas 48 dias.

(11)
(12)

Como os projetos open source são mantidos e

construídos?

(13)

Por uma empresa

Por que as empresas abrem o codigo de seus softwares?

Menos trabalho;

Facilidade na contratação de talentos;

Fortalecer a marca e seus usuários;

Ideologia;

(14)
(15)
(16)
(17)

Porque alguém investiria em um novo negócio baseado em open source?

● Neste caso, quase sempre o modelo de negócios é o mesmo criado pela Red Hat: Venda de suporte e garantia.

● Apoio de capitais de risco, mesmo que não haja ganho direto envolvido; ○ Crescimento de todo o ecossistema: +open source = +startups

(18)

Por um novo negócio

Npm recebeu mais de USD 11M de investimentos da True

Ventures and Bessemer Ventures, entre outros. O modelo de negócio foca em funcionalidades pagas e suporte para privacidade e segurança.

O projeto Docker se tornou código aberto em 2013. A

Docker recebeu USD 180M com um valor de mercado estimado em USD 1B. O modelo de

negócios é baseado em suporte e planos sob demanda. O

faturamento era de apenas USD 10M

(19)

Por uma comunidade

Porque as pessoas colaboram com uma comunidade?

● Em muitos casos os desenvolvedores não são pagos diretamente

○ Construção de uma reputação

○ Mentalidade de ajudar o mundo

○ O trabalho é feito por amor

● Quase ⅔ dependem de um ou dois desenvolvedores apenas

○ “Cauda longa” de contribuições

○ Mantidos por “ditador benevolente para a vida”, core-team ou fundações ● Sucesso acidental de bons projetos

(20)

Por uma comunidade

- Steve Marquess, contribuidor do OpenSSL

(21)

Por uma comunidade

“Over six years ago, in December 1989, I

was looking for a ‘hobby’ programming project that would keep me occupied during the week around Christmas” -

(22)

Por uma comunidade

O Linux em números:

● Linhas de código: ○ 1991 (versão 0.01): 10.239 linhas ○ 2020 (versão 5.7): +33M linhas ● Contribuidores ○ 2005 - 2017: 15.600 contribuidores; +1.400 companhias 2017: 4.300 desenvolvedores; 500 companhias

(23)

A Catedral e o Bazar

O modelo Catedral

○ O código fonte está disponível para cada release do software

○ O código desenvolvido entre dois releases é restrito a um grupo de desenvolvedores exclusivo.

O modelo Bazar

○ O código é desenvolvido de forma totalmente aberta e pública, utilizando a Internet

○ Raymond credita Linus Torvalds, líder do projeto Linux, como o inventor deste modelo

(24)

Reúso e software livre

Com a ferramenta de versionamento como git, o fork é uma forma mais

(25)

Famosos reúsos de software livre

● LibreOffice <- OpenOffice.org <- StarOffice

● MariaDB <- MySQL

● Ubuntu <- Debian

● neovim <- vim <- vi

● MATE <- GNOME2

● Edge, Opera <- Chrome

● FluentUI (Microsoft) <- React (Facebook)

(26)
(27)

Reúso em forma de pacotes

(data science /

(28)

Reúso em forma de frameworks

(29)
(30)

Exemplos de software livres utilizados para

fazer software

Sistema de banco de dados: SQlite, MySQL, Postgres, Mongo, Redis

Frameworks de aplicação: React, Angular, Vue, Express, Laravel, Django, Qt,

Gtk, Wxwidgets

Bibliotecas de data science: Pandas, Scikit Leaning, Numpy, TensorFlow,

Keras

Editores de texto e IDEs: Elipse, VS Code, Vim, Emacs

Versionamento: Git, SVN, Mercurial

Deploy: Docker, Jenkins, Kubernetes

(microservices

(31)

Referências

Documentos relacionados

Pode adicionar o botão de seleção de veículos ao menu rápido para poder selecionar o tipo de veículo rapidamente. Toque em Definições no

Se nesta verificação posterior for constatado que o candidato não está inscrito no ENEM ou sua inscrição foi feita com CPF diferente ou em nome de outra pessoa, ficará sem

Organização do Trabalho 3 ART-2A, a qual é utilizada na tarefa de classificação dos componentes para seu agrupamento; no capítulo 4 são fornecidos detalhes sobre o desenvolvimento

Os desafios da sociedade atual exige dos diferentes sujeitos, atitudes diferenciadas no seu modo de vida, e o aumento da escolarização tem sido uma condição para

§ 4.º - Somente será permitida a locação da Sede Social, para não associado, de terça a sexta-feira, cabendo a secretaria da ADPETO divulgar aos associados os dias da

Por se tratar de um equipamento disponibilizado universalmente, sem os riscos da irradiação ionizante, com elevada resolução de contraste e espacial, aliada a novas técnicas como

Neste trabalho, trataremos da pesquisa “Meta-avaliação da alfabetização: Uma investigação do papel e potencialidade de itens e escalas de escrita” 1 , que

Os apoios a conceder no âmbito da acção n.º 2.2.1 «Alteração dos modos de produção» e da acção n.º 2.2.4 «Conservação do solo», são cumuláveis com os apoios a conceder