1. O documento descreve uma palestra sobre software livre, estruturalismo e oportunidades de carreira. O palestrante é Sandro S. Andrade, professor e desenvolvedor de software livre.
2. A palestra discute o que é software livre, suas quatro liberdades, como projetos de software livre como Qt e KDE são estruturados socialmente e como contribuir para esses projetos pode beneficiar estudantes e profissionais de computação.
3. Contribuir para projetos de software livre pode ampliar referências, conectar com profission
Software Livre: Estruturalismo, Impactos no Processo de Ensino-Aprendizagem e Oportunidades de Carreira
1. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre:
Estruturalismo,
Impactos no Processo de Ensino-Aprendizagem e
Oportunidades de Carreira
Sandro S. Andrade
sandroandrade@kde.org
@andradesandro
2. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Quemsoueu?
● Professor do Instituto Federal de Educação, Ciência
e Tecnologia da Bahia (IFBa).
● Desenvolvedor, projetista e arquiteto de software.
● Colaborador nos projetos de software livre Qt e
KDE.
● Músico nas horas vagas.
● Interesses:
– Computação Gráfica.
– Arquitetura de Software / Engenharia de Software.
– Sistemas Distribuídos / Sistemas Self-Adaptive.
3. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Decisões!
O que quero para minha carreira ?
O que estou fazendo para atingir meus objetivos ?
Software Livre ? Como assim ?
4. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre
● A Computação nasceu livre!
● Em 1983 o Projeto GNU é criado. [http://www.gnu.org]
● Liberdade significa ter controle sobre sua própria
vida.
● Se o usuário não controla o programa, o programa
controla o usuário.
● Em 1998, nasce a Open Source Initiative (OSI).
[http://opensource.org]
● Open Source é uma metodologia de desenvolvimento.
● Free Software é um movimento social.
5. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre
● As quatro liberdades: [http://www.gnu.org/philosophy/free-sw.html]
– L0: executar o programa como você quiser, para qualquer
propósito.
– L1: estudar como o programa funciona e modificá-lo de
acordo com suas necessidades.
– L2: redistribuir cópias do programa para quem você
quiser.
– L3: distribuir cópias da sua versão modificada do
programa para quem você quiser.
● Mas não é só isso:
– Liberdade do Produto x Liberdade do Processo.
6. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre
● Software Livre não é:
– Software gratuito.
– Software de domínio público.
– Software shareware/freeware.
● Um conjunto de licenças, mais ou menos restritivas,
está disponível atualmente. [http://www.gnu.org/licenses/]
● 668.666 projetos cadastrados no OpenHub.
● Impactos não só na Ciência da Computação, mas em
áreas como Administração, Ciências Sociais,
Psicologia, Economia e Direito.
[The Many Meanings of Open Source. Gacek & Arief. IEEE Software. 2:1. págs. 34-40. 2004]
7. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Edaí?
Por que eu devo me importar com isso ?
Por que todos devem se importar com isso ?
Por que professores devem se importar com isso ?
8. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Características:
Distribuição do trabalho e dispersão geográfica
Diferentes graus de descentralização
Meritocracia e gerência de qualidade
Código de conduta e respeito mútuo
The sense of belonging
9. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre-EstruturaSocial
● Princípios do Estruturalismo de Claude Lévi-Strauss:
[O primeiro estruturalismo: método de pesquisa para as ciências da gestão. Thiry-Cherques. 2006]
– Foco na estrutura que sustenta e ordena os elementos
sociais e, principalmente, suas relações.
– Conceber a ordenação destas relações como sistema
inteligíveis.
– Identificar as leis gerais destes sistemas, seja por indução
ou por dedução lógica.
● Análises sociais do Movimento Software Livre:
– [The Social Structure of Open Source Software Development Teams. Crowston & Howison. OASIS.
2003.]
– [Carrots and Rainbows: Motivation and Social Practice in Open Source Software Development.
Krogh. 2012.]
10. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre-EstruturaSocial
● Desenvolvedores e usuários:
[The Social Structure of Free and Open Source Software Development. Crowston & Howison.
First Monday. 2005]
● Mas também:
– Testadores, tradutores, designers, equipe de promoção.
11. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre–porquê ?
● Por que todos devem se importar com isso ?
– Liberdade, privacidade, controle do seu computador.
● Por que professores devem se importar com isso ?
– O insumo fundamental desta profissão é o conhecimento
compartilhado.
– Adotar software livre é incentivar a ampla disseminação
do conhecimento.
● Por que estudantes de Ciência da Computação
devem se importar com isso ?
12. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre–porquê ?
● Porque contribuir em projetos de software livre:
[Carrots and Rainbows: Motivation in Open Source Software Development. Krogh. 2012.]
– Motivações intrínsecas:
● Ideologia, altruísmo, gentileza, diversão.
– Motivações extrínsecas internalizadas:
● Reputação, reciprocidade, aprendizado, uso próprio.
– Motivações extrínsecas:
● Carreira, pagamento.
● Olhemos mais de perto ...
13. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre Por quê ?
1 Suas referências serão ampliadas !
14. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre Por quê ?
2 Os melhores profissionais do mundo estão lá !
15. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre Por quê ?
3 Você vai conhecer pessoas do mundo inteiro !
16. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre Por quê ?
4 Pessoas do mundo inteiro serão gratas a você !
17. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre Por quê ?
5 Novas oportunidades podem surgir !
18. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre
● Como não contribuir (aka: racionalização da não-
contribuição):
– “Não tenho tempo e/ou interesse ...”
– “Não estou preparado ainda ...”
– “Não sei programar ...”
– “Eles vão falar mal do meu código-fonte ...”
– “Sou uma pessoa boss-oriented ...”
– “São todos xiitas, comunistas ...”
– “Tenho dificuldades com a língua inglesa ...”
– “Gosto de trabalhar sozinho ...”
19. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OQt
● Toolkit para desenvolvimento multi-plataforma de
aplicações mantido desde 1995.
● Amplo conjunto de funcionalidades, excelente
documentação e suportado nas plataformas mais
utilizadas atualmente.
● http://www.qt.io.
● Primariamente desenvolvido em C++, mas com
amplo uso de QML e JavaScript.
● Bindings para: Ada, C#, Go, Haskell, Python e Ruby.
● Licença dual: open source (LGPL) e comercial.
20. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OQt
● Utilizado em grandes organizações: Agência
Espacial Européia, DreamWorks, Panasonic,
Phillips, Samsung, Walt Disney.
● É o toolkit utilizado para desenvolver o:
– Guitar Pro
– Autodesk Maya
– Skype
– VirtualBox
– VLC
– KDE
21. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OQt
● Mas também em uma série de aplicações
embarcadas:
22. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OKDE
● Comunidade internacional de desenvolvedores de
software livre existente desde 1996.
● Produtos principais:
– KDE Plasma
● Área de Trabalho.
– KDE Applications
● Mais de 300 aplicações em diversas áreas.
– KDE Frameworks
● Conjunto de bibliotecas que estendem as funcionalidades do
Qt.
23. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
KDEPlasma5
24. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
KDEApplications:Amarok
25. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
KDEApplications:Digikam
26. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
KDEApplications:Marble
27. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OKDE
● A comunidade:
– Cerca de 3.000 colaboradores, entre desenvolvedores,
tradutores, artistas gráficos, testadores, empacotadores e
equipe de promoção.
– Fluxo médio de 11.000 commits por mês.
– Cerca de 31 milhões de linhas de código.
– Maior parte na Europa, mas muitos também na Índia e
EUA. Alguns no Brasil.
● KDE e.V.: organização alemã de representação legal
do KDE.
● KDE Free Qt Foundation.
28. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OKDE
● Como ela funciona ?
– Consideravelmente descentralizada.
– Ciclos agéis de desenvolvimento.
– Comunicação primariamente via listas de discussão e
canais de IRC.
– Diversos sprints presenciais durante o ano.
– Encontro mundial anual dos desenvolvedores (Europa) –
Akademy.
29. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OKDE
● Principais empresas do ecossistema KDE:
– KDAB
– BasysKom
– Blue Systems
– ICS
– Digia
30. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Qt,KDEeoestudantedeComputação
● A formação técnica e social de um profissional da
Computação envolve diversos fatores:
– Raciocínio lógico e capacidade de abstração.
– Pragmatismo e estratégia.
– Processos de desenvolvimento de software.
– Idiomas.
– Habilidades sociais e networking.
– Disciplina, proatividade, humidade e empatia.
31. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Qt,KDEeoestudantedeComputação
● Software livre e habilidades de programação:
– Problemas reais … soluções reais … usuários reais.
– O resultado é a necessidade de gerenciar a complexidade.
● Software livre e processos de desenvolvimento:
– Quanto mais consolidado é o software livre mais maduro
é o processo de desenvolvimento.
– Geralmente adotam processos agéis.
● Software livre e gerência de qualidade:
– Testes de sanidade, revisões, integração contínua, beta
tests.
32. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Qt,KDEeoestudantedeComputação
● Software livre e gerência de projetos:
– Release management.
– Bug tracking.
● Software livre e projeto arquitetural de software:
– Arquiteturas inferiores não são soluções adequadas.
– Excelentes fontes de inspiração:
● Design patterns.
● Estilos arquiteturais.
● Software livre, educação, ética e sociedade:
– Impactos, consequências, desdobramentos, etc.
33. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
OKDEnoBrasil
● Maior expansão a partir de 2008, com diversas ações
de divulgação e incentivo à contribuição.
● Maior participação do KDE nas principais
conferências de software livre do Brasil (FISL,
Latinoware, etc).
● Palestras e minicursos em todo o Brasil.
● Eventos próprios do KDE no Brasil e no exterior.
34. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Akademy-BR 2010
35. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
1stLaKademy 2012
36. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
2ndLaKademy 2014
37. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
3rdLaKademy 2015
3 a 6 de junho
38. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Konqi 2012
39. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Akademy 2014
40. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
Conclusões
● Software Livre é fonte de conhecimento
indispensável para uma melhor formação de carreira
na Computação.
● Software Livre, atualmente, não é só trabalho
voluntário. Você pode ser pago para isso, mas
mantenha seus princípios !
● Estude … mantenha seus interesses profissionais
vivos … a Computação é uma área maravilhosa.
41. Ciclo de Palestras – Computação e Ética na Sociedade Contemporânea – UFBa – Sandro S. Andrade – sandroandrade@kde.org – @andradesandro
SoftwareLivre:
Estruturalismo,
Impactos no Processo de Ensino-Aprendizagem e
Oportunidades de Carreira
Sandro S. Andrade
sandroandrade@kde.org
@andradesandro
Obrigado!