SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Engenharia de Software

Open Source: o que está por trás
da motivação dos
desenvolvedores?



A. César C. França
cesarfranca@gmail.com
Mestre em Ciência da Computação pela Universidade Federal de Pernambuco e
Doutorando em Ciência da Computação pela mesma instituição, bolsista CNPq.
Integrante do grupo de pesquisa HASE – HumanAspects in Software Engineering.
Autor do livro “Um estudo sobre motivação em integrantes de equipes de
desenvolvimento de software”, da Ed. UFPE, 2010. Na FAFICA (Faculdade de
Filosofia, Ciências e Letras de Caruaru), é professor de diversas disciplinas relacionadas
à Engenharia de Software e pesquisador pelo NUPESQ.




Danilo Monteiro Ribeiro
danilomonteiroo@gmail.com
Graduado em Sistemas de Informação na Universidade de Pernambuco, é Ex-bolsista de
Iniciação Científica do PIBIC/CNPQ e Membro do Grupo de Pesquisa: GREAT(GRupo
de Estudos Avançados em Tecnologia da Informação e Comunicação) atuando
principalmente nos seguintes temas: Desenvolvimento MOBILE(Especialmente
ANDROID), metodologias ágeis, Linha de Produto de Software,Gerenciamento de
Portfólio de projetos em TI e Motivação de Engenheiros de Software.


De que trata o artigo:
Este artigo tem como objetivo explanar os fatores que motivam desenvolvedores a
contribuírem em iniciativas Open Source. Fundamentando-se em pesquisas recentes, e
em teorias de Motivação, apresentamos o conjunto de fatores motivadores categorizados
de acordo com as necessidades mais primitivas dos desenvolvedores de software Open
Source.
Para que serve:
Este artigo serve para apresentar alguns fatores motivadores que atuam principalmente
no contexto Open Source e torná-los mais claros para os interessados.
Em que situação o tema útil:
Este tema é útil para todos que já estão envolvidos e para aqueles que querem se
envolver com projetos Open Source .

      No livro "Drive: The surprising true about what motivates us" (Drive: a
verdade surpreendente sobre o que nos motiva), o autor Daniel Pink levanta a
seguinte questão: há 15 anos, a enciclopédia Microsoft Encarta dominava o
mercado das enciclopédias eletrônicas. Ela era desenvolvida por uma equipe
altamente qualificada, devidamente remunerada, e administrada de uma forma
que os esforços individuais fossem recompensados pela empresa na qual
trabalhavam. O projeto aparentemente preenchia todos os requisitos
motivacionais de um projeto de sucesso, para o entendimento da época. Quem
diria que tal sucesso seria desbancado por uma enciclopédia gratuita, de acesso
livre, e construída por pessoas que nem mesmo são remuneradas pelo trabalho?
Era uma previsão muito pouco provável, mas foi exatamente isso que aconteceu
com a chegada da Wikipédia.
      O mesmo fenômeno pode ser atualmente evidenciado em outros produtos
de software Open Source, tais como o Mozilla Firefox1, Linux2, Eclipse IDE3,
Apache Server4, Blender5, entre vários outros. No entanto, os fatores que levam
programadores a contribuírem efetivamente para estas iniciativas
aparentemente continuam sendo uma questão em aberto para a ciência. Por que
desenvolvedores de software aplicam uma fatia considerável do seu tempo
produtivo, desenvolvendo produtos pelos quais eles não serão necessariamente
remunerados? Seria a "Ideologia da Liberdade", como descrito por Stallman
(2002), suficiente para explicar este fenômeno?
      A motivação de desenvolvedores de software, em si, é um fenômeno que
vem sendo estudado desde a década de 80. Comunidades Open Source, ao
mesmo tempo, são objetos de pesquisa desde o final da década de 90. Estudos
como o de von Krogh (2008) e Oreg e Nov (2007) se propuseram a investigar de
forma extensiva a motivação de engenheiros de software em projetos Open


1
    http://www.mozilla.org/
2
    http://www.linux.org/
3
    http://www.eclipse.org
4
    http://www.apache.org/
5
    http://www.blender.org/
Source e neste artigo, nós apresentamos uma síntese da literatura técnica-
científica que investiga o fenômeno da motivação nestas comunidades,
fundamentando os nossos argumentos através de duas teorias principais: a
teoria da Expectativa, de Victor Vroom (1964), e a teoria de Valores Universais,
de Shalom Schwartz (1994).
      Como resultado, apresentamos uma descrição de quatro estereótipos
baseados nos valores que substanciam o comportamento motivado de
desenvolvedores de comunidades Open Source. A principal revelação neste
artigo é que, na pesquisa científica como um todo, a ideologia do
desenvolvimento Open Source aparece apenas como um coadjuvante no
processo de motivação destes desenvolvedores.
      Nas Seções iniciais deste artigo, apresentamos uma definição do que é
motivação e como são organizadas as comunidades Open Source. Em seguida,
apresentamos uma síntese dos fatores que a literatura apresenta como
motivadores para este tipo de desenvolvedor e, por fim, apresentamos uma
reflexão sobre tais motivadores.

Motivação, em essência
     Por que motivar é importante?

      A forma como a motivação é trabalhada dentro de um projeto Open Source
pode afetar diretamente o comportamento de participação e retenção dos
membros, é o que dizem as pesquisas relacionadas com este tema (OREG e
NOV, 2007; WU, GERLACH e YOUNG, 2007; von KROG et al., 2008), por
diversas razões. Ao mesmo tempo, para uma empresa de grande porte decidir
adotar um produto Open Source, ela precisa de garantias de que o produto
continuará sendo evoluído – o que depende diretamente da frequência de
participação dos membros. Além disso, a retenção dos membros faz com que o
conhecimento sobre o produto seja retido dentro do projeto, e se desenvolva de
forma incremental – afetando também a qualidade do produto.
      Logo, administrar a motivação da equipe pode trazer benefícios não
somente relacionados com a frequência e qualidade da contribuição dos
membros da comunidade Open Source, mas também pode determinar a
qualidade do produto final.

     O que é motivação?

     As primeiras investigações focando na motivação no ambiente de trabalho
datam da década de 40 (Da SILVA e FRANÇA, 2011). Ao longo do tempo,
diversas teorias diferentes se propuseram a explicar o fenômeno da motivação
humana no trabalho, originadas no campo das ciências humanas, e sociais. Isso
fez com que, na prática, variados significados fossem atribuídos à motivação,
gerando uma grande confusão ao redor do termo (Da SILVA e FRANÇA, 2011).
Segundo Luthans (2001, tradução nossa), a motivação no contexto do
trabalho deve ser entendida basicamente como "um conjunto de forças internas
ao indivíduo que energizam, canalizam e sustentam o esforço voluntário para a
realização de uma atividade de objetivo específico". Couger e Zawacki (1980)
explicam o funcionamento da motivação no trabalho baseando-se na teoria da
Expectativa de Vroom (1964), da seguinte maneira (Figura 1):

                         Necessidades           Ação




                                    Avaliação


                         Figura 1 - Ciclo da Motivação
          Necessidades são os elementos que guiam o início do processo de
            motivação. Em suma, ela traduz os elementos que o indivíduo
            precisa, acredita que precisa, prefere, deseja, ou tem mais interesse
            em alcançar. Estas necessidades podem ser selecionadas de forma
            consciente ou simplesmente inconsciente.
          Ação é a estratégia escolhida pelo indivíduo para suprir a suas
            necessidades, dentre as N possíveis maneiras de suprir aquela
            necessidade. Para citar um exemplo bem simples, se o indivíduo
            está com sede (necessidade), ele pode optar por beber um copo de
            água (ação). Da mesma forma, se alguma organização tem uma
            necessidade por informação, ela pode optar por desenvolver um
            software.
          Por fim, o indivíduo faz uma Avaliação para julgar se o resultado
            daquela ação foi suficiente para satisfazer a sua necessidade, como
            era esperado. Se não foi, o ciclo tende a continuar. Em caso positivo,
            uma nova necessidade aflora, e o ciclo continua a fim de resolver
            desta vez uma necessidade diferente.
     A ação na qual estamos interessados centralmente neste artigo é a
     contribuição para o software Open Source. Logo, a pergunta que norteia
     este artigo é: Que necessidades levam desenvolvedores de software a
     decidirem contribuir em comunidades Open Source?

     O que não é motivação

     Palestras motivacionais é uma ferramenta comumente em muitas
empresas com o objetivo de “motivar” a sua equipe. No entanto, estas palestras
são capazes apenas de energizar temporariamente o esforço dos participantes,
afetando apenas a sua autoestima e o seu entusiasmo, e não a motivação de fato
– que por sua vez está intimamente ligada à sustentação do comportamento ao
longo do tempo.
A motivação também é frequentemente associada a estratégias de
compensação, financeira e não financeira, em empresas. Por exemplo, “aquele
desenvolvedor que produzir a maior quantidade de Linhas de Código pode
receber um bônus no salário no final do mês”, ou “se a equipe resolver todas as
Change Requests até o final da semana será recompensada com um almoço num
restaurante especial”. Este tipo de estratégia de compensação é eventualmente
eficaz para canalizar o esforço dos membros de uma equipe para um objetivo
pontual. Porém, segundo Pink (2009), este tipo de oferta pode gerar diversos
comportamentos maléficos para o ambiente de trabalho, por exemplo:
          A oferta pode estimular a busca por atalhos e/ou por
            comportamento não ético, dada a competição entre os membros do
            grupo. Por exemplo, liberar o software com bugs, de propósito,
            apenas para cumprir o cronograma;
          Podem gerar vício/dependência – ou seja, das próximas vezes, a
            equipe só terá ânimo para resolver todas as Change Requests se a
            recompensa for pelo menos tão boa quanto a anterior;
          Podem encurtar a perspectiva de tempo do desenvolvedor, e
            incentivar a adoção de gambiarras. Por exemplo, já que o mais
            importante – para o desenvolvedor - é atingir a recompensa, o
            importante é fazer funcionar... algum dia “alguém” normatiza ou
            refatora aquele código.

     Estrutura de valores universais

      Logo, para entender a motivação, em essência, é preciso olhar para o que
está por trás das necessidades dos desenvolvedores – que é o que Schwartz
(1994) chama de valores. Segundo Schwartz (1994) valores são definidos como
critérios ou metas que transcendem situações específicas, que são ordenados
por sua importância, que servem como princípios que guiam a vida do
indivíduo, e que determinam o seu caráter. A Teoria de Valores Humanos de
Schwartz (1994), afirma que existem dez valores distintos que são derivados das
exigências humanas universais (Figura 2):
Figura 2 – Estrutura de Valores Universais de Schwartz (1994)
         Autodireção: Independência no pensamento e na tomada de
          decisão, criação e exploração (criatividade, independente,
          liberdade).
         Estimulação: Ter excitação, novidade e mudança na vida.
         Hedonismo:Prazer ou gratificação para a própria pessoa.
         Realização: Êxito pessoal como resultado da demonstração de
          competência segundo as normas sociais.
         Poder: Posição e prestígio social, controle ou domínio sobre pessoas
          e recursos.
         Benevolência: Preservar e reforçar o bem-estar das pessoas
          próximas com quem se tem um contato pessoal frequente e não
          casual
         Conformidade: Limitar as ações, inclinações e impulsos que
          possam prejudicar a outros e violar expectativas ou normas sociais.
         Tradição: Respeitar, comprometer- se e aceitar os costumes e as
          ideias que a cultura tradicional ou a religião impõem à pessoa.
         Segurança: Conseguir segurança, harmonia e estabilidade na
          sociedade, nas relações interpessoais e na própria pessoa.
         Universalismo: Compreensão, apreço, tolerância e proteção em
          direção ao bem-estar de toda a gente e da natureza.

     Os indivíduos tendem a atribuir diferentes graus de importância aos
valores. Sendo assim, quando em conflito, os valores que vão determinar de
fato o comportamento do indivíduo são aqueles aos quais os indivíduos
atribuem maior grau de importância.
     Antes de entender o que de fato motiva a contribuição de desenvolvedores
de software a comunidades Open Source, é importante descrever em mais
detalhes o que são e como se organizam estas comunidades.
Comunidades Open Source e suas Caraterísticas
      Comunidades Open Source têm sido estudadas igualmente tanto na
Engenharia de Software quanto em outros campos de conhecimento, como na
pesquisa Organizacional e na Economia (ERENKRANTZ e TAYLOR 2003;
LANGLOIS e GARZARELLI, 2008). Feller et al (2005) descrevem quatro tipos
diferentes de comunidades Open Source de acordo com o seu grau de
maturidade:
          Comunidades Ad-hoc: pequenas, adotam práticas informais de
            colaboração, e realizam projetos de tamanho limitado. É totalmente
            baseada em colaboração através da internet, e tem seus projetos
            hospedados em um servidor “na nuvem” (ex. SourceForge6,
            GoogleCode7). Utilizam pouca documentação, e os usuários dos
            seus produtos são, em maior parte, os próprios desenvolvedores.
          Comunidades padronizadas: são comunidades um pouco mais
            maduras e estáveis, que seguem métodos mais formais e padrões
            de desenvolvimento, e são responsáveis por projetos de maiores
            dimensões. Os objetivos são determinados em grupo, e a
            preocupação com a qualidade do produto é maior. Padronização e
            documentação são as chaves dos métodos e processos adotados.
            Usuários são geralmente outros desenvolvedores.
          Comunidades organizadas: são comunidades de práticas muito
            maduras, legalmente estabelecidas. Hospedam seus próprios
            projetos e possuem uma identidade própria. Alguns membros
            encontram-se possivelmente co-localizados, embora maior parte da
            colaboração ocorra pela internet. Os produtos tem “vida própria”,
            independente de seus membros. Os processos são formalizados e o
            gerenciamento de projetos também é formalizado. Usuários-finais
            não se limitam a desenvolvedores.
          Organizações comerciais: comunidades estabelecidas dentro de
            organizações formais com fins lucrativos. Hospedam seus próprios
            projetos e também tem uma identidade própria. Vários membros
            encontram-se co-localizados. A estrutura organizacional se mistura
            com a estrutura de comunicação e gerenciamento da própria
            organização. O objetivo é utilizar práticas Open Source para
            interagir com outras comunidades e gerar valor para a própria
            organização. São altamente padronizadas e documentadas, e os
            usuários são tratados como consumidores.
      Independentemente do seu grau de maturidade, as comunidades Open
Source são constituídas de diferentes papéis de participantes, como mostra a
Figura 3. Porém, esta divisão é mais evidente nas comunidades mais
desenvolvidas. Nas comunidades menos maduras existe uma sobreposição


6
    http://sourceforge.net
7
    http://code.google.com
destes papéis, principalmente porque os usuários finais são geralmente os
próprios desenvolvedores ativos do projeto.




                Figura 3 - Perfis de Participantes de Ye e Kishida (2003)

      Todos estes membros interagem regularmente com os outros através de
uma estrutura de colaboração. Portanto, é natural que a principal característica
do comportamento motivado em uma comunidade Open Source seja percebida
como a qualidade da participação. Qualidade da participação não se refere
apenas à frequência de troca de mensagens, mas também à utilidade destas
mensagens para os objetivos finais do projeto, relevância para os outros
membros, e velocidade de resposta, seja para reportar bugs, ou para ajudar
outros membros a resolverem seus próprios problemas.
      Mas embora exista esta estrutura de colaboração, é razoável assumir que
em cada um dos diferentes tipos de comunidades Open Source, os
desenvolvedores são dirigidos por necessidades diferentes. No mesmo sentido,
é razoável assumir também que os diferentes perfis de participantes são
atraídos a contribuírem na comunidade por diferentes motivos. Na próxima
seção, exploraremos alguns destes motivos em detalhes.

O que motiva desenvolvedores Open Source?
     Stallman (2002) afirma que o objetivo do software Open Source é produzir
software poderoso e de alta qualidade, e que isso é um objetivo louvável, mas
não o mais importante. O mais importante, para ele, é que o software siga as
premissas do software livre, que são: liberdade para qualquer pessoa executar,
modificar, e distribuir o software original e/ou modificado. Porém, os estudos
sobre motivação de desenvolvedores Open Source evidenciam que são variados
os motivos que de fato dirigem o comportamento dos desenvolvedores, e que a
ideologia da liberdade é apenas um deles.
     Na Tabela 1, nós apresentamos a síntese dos fatores motivadores
apresentados em estudos científicos relevantes. É importante destacar que nem
todos os fatores aparecem em todas as pesquisas. Por outro lado, pesquisas
descrevem fatores semelhantes utilizando nomenclaturas diferentes. Nesta
síntese, fazemos uma sugestão tentativa para integrar estes fatores baseando-se
na descrição semântica como apresentada nos seus artigos de origem.
                       Tabela 1: Síntese dos fatores motivadores

Fator           Definição                                  Fonte(s)
Ideologia       Acreditar que o software deve ser livre    Von Krogh et al(2008);
                para todos, ou que o código aberto deve    Benbya e Belbaly (2010).
                substituir o software proprietário.
Altruismo       Preocupação com o bem-estar do             von Krogh et al(2008);
                próximo, vontade de prover soluções de     Oreg e Nov (2007);
                software que vão ajudar a outras pessoas   Wu, Gerlach, Young (2007);
                a resolver os seus problemas.              Bitzer, Schrettl, Schröder (2007);
                                                           Ke e Zhang (2010).
Prazer e        Divertir-se com a própria atividade de     von Krogh et al(2008);
Diversão        passar tempo desenvolvendo software,       Bitzer, Schrettl, Schröder (2007).
                brincando com o código.
Reputação         Ser reconhecido pela comunidade pela     von Krogh et al(2008);
                  competência como programador e/ou        Oreg e Nov (2007);
                  pelo seu esforço, responsabilidade e     Ke e Zhang (2010).
                  outras características técnicas e
                  pessoais.
Reciprocidade     Sentimento de responsabilidade e/ou      von Krogh et al(2008);
                  dívida, para “devolver” para a           Benbya e Belbaly (2010).
                  comunidade aquilo que outrora foi
                  consumido. Economia através da troca.
Aprendizado       Vontade de aprender novas tecnologias,   von Krogh et al(2008);
                  técnicas, habilidades para desenvolver   Oreg e Nov (2007);
                  software, para manter-se atualizado e    Subramanyian e Xia (2008);
                  tornar-se um melhor programador.         Wu, Gerlach, Young (2007);
                                                           Benbya e Belbaly (2010);
                                                           Ye e Kishida (2003);
                                                           Roberts, Hann, Slaughter (2006).
Uso próprio      Contribuir para a evolução de um          von Krogh et al(2008);
                 produto no sentido de resolver algum      Subramanyian and Xia(2008);
                 problema particular, adaptando o          Wu, Gerlach, Young (2007);
                 software para a própria realidade.        Bitzer, Schrettl, Schröder (2007);
                                                           Roberts, Hann, Slaughter (2006).
Carreira         Estabelecer contatos profissionais e      von Krogh et al(2008);
                 aprender tecnologias que possam, num      Wu, Gerlach, Young (2007).
                 momento futuro, garantir um avanço na
                 sua carreira através de promoção, ou
                 novas oportunidades de emprego.
Remuneração      Refere-se àquela minoria que é            von Krogh et al(2008);
                 remunerada para contribuir com            Subramanyian and Xia (2008).
                 projetos Open Source, e àqueles
                 empreendedores cujo modelo de
                 negócio são construídos em cima de
                 comunidades Open Source.
Autonomia       Liberdade de não seguir ordens, de        Ke e Zhang (2010).
                tomar decisões sobre o próprio trabalho
                e definir os seus próprios objetivos.



O que está por trás da motivação dos desenvolvedores Open
Source?

     Após refletir sobre as necessidades que dirigem a motivação dos
desenvolvedores Open Source, utilizamos a Teoria de Valores Humanos de
Schwartz (1994) para propor um conjunto de estereótipos para estes
desenvolvedores, de acordo com o seu perfil e com os valores que mais
fortemente substanciam o seu comportamento motivado. Abaixo, descrevemos
em detalhes estes estereótipos.

     Autotranscedência

      Autotranscedência é um valor que está voltado para o bem-estar e
aprimoramento do próximo, em detrimento do próprio indivíduo. Ele é
traduzido por altos graus de importância para valores como benevolência e
universalismo.
      Desenvolvedores com alto grau de autotranscedência são aqueles guiados
fortemente pela ideologia, pois acreditam que o Open Source é uma forma mais
justa de desenvolvimento e que, consequentemente, ao produzir este tipo de
software, estão ajudando as pessoas e contribuindo de alguma forma para um
mundo mais justo. Geralmente indivíduos como este assumem algum papel de
liderança em comunidades organizadas, principalmente aquelas sem fins
comerciais.
      Para desenvolvedores que atendem a este estereótipo, o tema do projeto é
um fator extremamente importante. Projetos que se propõem a oferecer algum
bem social ou benefício à população em geral são provavelmente atrativos para
este desenvolvedor. Quanto mais significante fora da comunidade seja o
projeto, mais interessado o desenvolvedor estará em oferecer a sua
contribuição, como uma forma de sentir-se útil para a sociedade.
      O desenvolvedor autotranscendente também tem um papel fundamental
no suporte técnico aos parceiros de desenvolvimento. Dada a sua forte lealdade,
e responsabilidade com a comunidade, a oportunidade para ajudar os outros
também atua como um forte motivador.

     Abertura a Novas Experiências

      Abertura a novas experiências é o valor que guia aqueles desenvolvedores
interessados na diversão, liberdade e autonomia propiciadas pelo
desenvolvimento em comunidades Open Source, e que geralmente participam
destas com um baixo nível de envolvimento e responsabilidade.
Dois motivadores relevantes para este estereótipo são: a independência e o
uso-próprio. A independência é o que leva estes desenvolvedores a escolherem
o Open Source como paradigma de desenvolvimento, pela liberdade de
estabelecimento dos seus próprios objetivos que esta filosofia permite. Já o uso-
próprio estimula estes desenvolvedores a aplicar bastante esforço e tempo para
criar suas próprias soluções, ou adaptar projetos existentes às suas próprias
necessidades, principalmente em projetos que julga serem mais excitantes e
divertidos.
      Estes desenvolvedores tem estímulo suficiente para criar e liderar
comunidades ad-hoc, mas também é possível encontrar desenvolvedores com
este perfil contribuindo apenas na periferia de comunidades mais estabelecidas.
As regras e protocolos de comunidades padronizadas ou organizadas fazem
com que o interesse deste tipo de desenvolvedor seja reduzido apenas para um
curto tempo de participação. Ou seja, a liberdade atrai e a burocracia repele este
tipo de desenvolvedor.

     Auto aprimoramento

      Desenvolvedores guiados pelo auto aprimoramento estão nas
comunidades Open Source basicamente buscando aprendizado contínuo e o
desenvolvimento das suas habilidades e competências no que diz respeito ao
domínio de novas tecnologias, métodos e técnicas. Os principais fatores que
levam este desenvolvedor a escolher a comunidade com a qual vai contribuir
são dois: a tecnologia e o ferramental de processos.
      Comunidades ad-hoc, que possuem pouco ferramental de processos,
geralmente atraem desenvolvedores deste tipo, mas interessados em aprender
ou aprofundar-se na linguagem que está sendo utilizada e, consequentemente,
com pouca ou nenhuma experiência de desenvolvimento naquela tecnologia.
      Já comunidades organizadas atraem desenvolvedores deste tipo
interessados em adquirir experiência com mecanismos mais refinados de
engenharia de software, como métodos, padrões de programação, configuração,
documentação, etc. Um processo maduro de desenvolvimento de software Open
Source naturalmente envolve um mecanismo de revisão de pares, e através
deste processo os colaboradores recebem feedback e podem obter sugestões de
estilos de programação e lógicas para melhorar suas habilidades profissionais
(Oreg e Nov, 2007).
      Para este tipo de desenvolvedor, o tema do projeto é menos importante,
servindo apenas como um plano de fundo para praticar as suas habilidades.
Este desenvolvedor preocupa-se mais com a complexidade e o desafio da
funcionalidade que está desenvolvendo, do que com os benefícios que aquela
funcionalidade vai de fato representar para o usuário final. Ter objetivos bem
definidos é importante para este perfil de desenvolvedor. Atingir estes objetivos
é mais importante ainda, pois se trata de um perfil com ambição alta. A
ineficácia ao tentar resolver problemas pode levar estes desenvolvedores a se
afastar da comunidade, pois despertam um sentimento indesejado de
incapacidade.
      Este tipo de desenvolvedor descreve o padrão motivacional de uma parte
representativa dos desenvolvedores ativos e periféricos de comunidades Open
Source padronizadas, organizadas e comerciais.

     Autopromoção

      Desenvolvedores com este perfil poderiam representar a erva-daninha da
ideologia do software Open Source, pois atuam nestas comunidades única e
exclusivamente por motivos individualistas. Porém, eles são extremamente
importantes para o ecossistema de desenvolvimento Open Source. Em
comunidades de tira-dúvidas, por exemplo, especialmente aquelas que
fornecem algum tipo de premiação, mesmo que não financeira, para os
participantes que respondem as dúvidas dos outros, são eles os maiores
interessados em ajudar os colegas.
      A necessidade principal deste perfil motivacional é o seu reconhecimento
pela comunidade, pois através do desenvolvimento da sua própria imagem e
reputação, o desenvolvedor pode ter acesso a oportunidades de negócio
propiciadas pelos parceiros da comunidade. Além disso, a sua rede de contatos
pode também ser útil para conseguir promoções e empregos melhores fora da
comunidade.
      Para este tipo de desenvolvedor, também é importante contribuir projetos
Open Source de marcas reconhecidas, como é o caso da maioria das organizações
comerciais. Remuneração, inclusive, pode ser um motivador altamente eficaz
para atrair este tipo de desenvolvedor. Porém, a possibilidade de alcançar um
status de liderança e autoridade sobre o projeto e sobre os desenvolvedores é
ainda mais eficaz para este tipo de desenvolver.
      Estes desenvolvedores são geralmente muito experientes nas tecnologias
utilizadas pela comunidade e, quando assumem alguma posição de liderança,
são guiados por algum modelo de negócio que se sustentam naquele software
Open Source, ou que dependem deste, para continuarem rentáveis. No entanto,
é comum utilizarem a ideologia do movimento Open Source como plano de
fundo para atraírem outros desenvolvedores para o seu projeto.

Conclusão

     Por que desenvolvedores de software aplicam uma fatia considerável do
seu tempo produtivo, desenvolvendo produtos pelos quais eles não serão
necessariamente remunerados? Embora seja prematuro afirmar que estes são os
únicos motivos existentes, as pesquisas científicas disponíveis apontam
basicamente para quatro motivos essenciais: autotranscedência, abertura a
novas experiências, auto aprimoramento e autopromoção.
     Os resultados apresentados neste artigo devem ser úteis tanto para
orientar os desenvolvedores que estão considerando a possibilidade de
contribuírem voluntariamente para projetos Open Source, quanto para um
melhor autoconhecimento daqueles que já participam ativamente destas
comunidades. Estes resultados devem ainda ser de fundamental importância
para aqueles desenvolvedores que assumem papel de liderança e
eventualmente estão encarregados de administrar a motivação dos outros
participantes do projeto.
      Por outro lado, esta questão deve continuar estimulando pesquisadores
em busca de novas ou mais completas respostas que sejam capazes de explicar
mais amplamente o comportamento dos desenvolvedores que contribuem com
comunidades Open Source. Apesar desta pesquisa ter sido baseada em revisões
sistemáticas da literatura, executadas cuidadosamente e com alto rigor técnico-
metodológico, não é possível garantir que todos os estudos disponíveis foram
cobertos na nossa síntese. Além disso, também não é possível garantir que a
própria ciência já revelou todos os motivadores que de fato guiam o
comportamento destes desenvolvedores. Portanto, neste artigo, apresentamos
apenas os resultados iniciais de um esforço de longo prazo que deverá nos
ajudar a aprofundar o entendimento sobre o comportamento de
desenvolvedores em comunidades Open Source.

Referências


      Benbya H. and Belbaly, N. (2010) “Understanding Developers’ Motives
in Open Source Projects: A Multi-Theoretical Framework” Communications of
the Association for Information Systems Volume 27 Article 30
       Bitzer, J., Schrettl, W., Schroder, P., (2007) "Intrinsic motivation in open
source software development," Journal of Comparative Economics, Elsevier,
vol. 35(1), pages 160-169.
    Couger, D. and Zawacki, R. (1980)“Motivating and Managing
Computer” Personnel. John Wiley & Sons, 1A edição.
       Da Silva F. and França, A. (2011) “Towards Understanding the
Underlying Structure of Motivational Factors for Software Engineers to Guide
the Definition of Motivational Programs.”, The Journal of Systems and Software
85 216–226.
      Erenkrantz J. and Taylor R. (2003) “Supporting Distributed and
Decentralized Projects: Drawing Lessons from the Open Source Community”
       Feller, J; Fitzgerald, B; Hissam, S. and Lakhani, K. (2005) “Perspectives on
Free and Open Source Software” The MIT Press, 1A edição.
       Ke, W. and Zhang, P. (2010) "The Effects of Extrinsic Motivations and
Satisfaction in Open Source Software Development," Journal of the Association
for Information Systems: Vol. 11: Iss. 12, Article 5.
Luthans, F. (2001) “Organisational Behaviour.”, McGraw Hill 9 edição.
      Langlois R. and Garzarelli G. (2008) "Of Hackers and Hairdressers:
Modularity     and   the  Organizational    Economics    of   Open-source
Collaboration," Working papers , University of Connecticut, Department of
Economics.
      Oreg, S. and Nov, O. (2007) “Exploring motivations for contributing to
open source initiatives: The roles of contribution context and personal values”
Computers in Human Behavior, 24, 2055–2073.
     Pink, D. (2009) “Drive: The Surprising Truth About What Motivates Us”
Hardcove, 1A edição.
       Roberts, J., Hann, I.H. and Slaughter, S., (2006) “Understanding the
Motivations, Participation, and Performance of Open Source Software
Developers: A Longitudinal Study of the Apache Projects,” Management
Science, Vol. 52, No 7.
      Schwartz, S. (1994) “Are There Universal Aspects in the Structure and
Contents of Human Values?” Journal of Social Issues, Vol. 50, No. 4, 1994, 19-
45.
      Stallman, R. (2002) “Free Software, Free Society: Selected Essays of
Richard M. Stallman.”, GNU Press, 2nd edição.
      Subramanyam, R. and Xia, U. (2008) “Free/Libre Open Source Software
development in developing and developed countries: A conceptual framework
with an exploratory study.” In Journal Decision Support Systems archive
Volume 46 Issue 1.
      Vroom, V. (1964) “Work and Motivation.” McGraw Hill, New York.
     Von Krogh, G; Haefliger, S; Spaeth, S and Wallin, M. (2008) “What we
know (and do not know) about motivations to contribute”, Department Of
Management, Technology, and Economics, ETH Zurich, 11-30
      Wu,G., Gerlach, J., Young, C. (2007)“An empirical analysis of Open
Souce software developers motivation and continuance intention.” In Journal
Information and Management, Volume 44 Issue 3.
      Ye, Y., and Kishida K. (2003) “Toward an Understanding of the
Motivation of Open Source Software Developers”, International Conference on
Software Engineering (ICSE2003),Portland, Oregon, pp. 419-429.

Mais conteúdo relacionado

Destaque

Legislaçao normas para aplicacao
Legislaçao normas para aplicacaoLegislaçao normas para aplicacao
Legislaçao normas para aplicacaojsoeiro
 
Lideranaporjackwelch 090722212711-phpapp02
Lideranaporjackwelch 090722212711-phpapp02Lideranaporjackwelch 090722212711-phpapp02
Lideranaporjackwelch 090722212711-phpapp02Alberto Barth
 
Sk 1020 terrace_(a)_page 13
Sk 1020 terrace_(a)_page 13Sk 1020 terrace_(a)_page 13
Sk 1020 terrace_(a)_page 13Radzuan Yaakob
 
Plano acao
Plano acaoPlano acao
Plano acaoedlayara
 
Plano acti formação divulg e parceria sdef2finalissimo_controlejunho
Plano acti formação divulg e parceria sdef2finalissimo_controlejunhoPlano acti formação divulg e parceria sdef2finalissimo_controlejunho
Plano acti formação divulg e parceria sdef2finalissimo_controlejunhoculturalmente
 
Reubicación laboral no significa disminución del salario pactado inicialmente
Reubicación laboral no significa disminución del salario pactado inicialmenteReubicación laboral no significa disminución del salario pactado inicialmente
Reubicación laboral no significa disminución del salario pactado inicialmenteMiguel Ramírez
 
AmandaWyma.RecommendationLetter
AmandaWyma.RecommendationLetterAmandaWyma.RecommendationLetter
AmandaWyma.RecommendationLetterAmanda Wyma
 
La ergonomía computacional
La ergonomía computacionalLa ergonomía computacional
La ergonomía computacionalyurleidync
 
L'escultura humana
L'escultura humanaL'escultura humana
L'escultura humanaamorera3
 
Marisol gonzález; verónica sánchez
Marisol gonzález; verónica sánchezMarisol gonzález; verónica sánchez
Marisol gonzález; verónica sánchezMarisol González
 
Tecnología subida mariano
Tecnología subida  marianoTecnología subida  mariano
Tecnología subida marianomariano jimenez
 
Código Penal Colombiano: conceptos que debes conocer
Código Penal Colombiano: conceptos que debes conocerCódigo Penal Colombiano: conceptos que debes conocer
Código Penal Colombiano: conceptos que debes conocerMiguel Ramírez
 
Derechos, impuestos y obligaciones como persona natural
Derechos, impuestos y obligaciones como persona naturalDerechos, impuestos y obligaciones como persona natural
Derechos, impuestos y obligaciones como persona naturalMiguel Ramírez
 

Destaque (20)

Legislaçao normas para aplicacao
Legislaçao normas para aplicacaoLegislaçao normas para aplicacao
Legislaçao normas para aplicacao
 
Lideranaporjackwelch 090722212711-phpapp02
Lideranaporjackwelch 090722212711-phpapp02Lideranaporjackwelch 090722212711-phpapp02
Lideranaporjackwelch 090722212711-phpapp02
 
Sk 1020 terrace_(a)_page 13
Sk 1020 terrace_(a)_page 13Sk 1020 terrace_(a)_page 13
Sk 1020 terrace_(a)_page 13
 
Plano acao
Plano acaoPlano acao
Plano acao
 
Plano acti formação divulg e parceria sdef2finalissimo_controlejunho
Plano acti formação divulg e parceria sdef2finalissimo_controlejunhoPlano acti formação divulg e parceria sdef2finalissimo_controlejunho
Plano acti formação divulg e parceria sdef2finalissimo_controlejunho
 
Minha Terra 2010
Minha Terra 2010Minha Terra 2010
Minha Terra 2010
 
Complejos 11 03
Complejos 11 03Complejos 11 03
Complejos 11 03
 
Reubicación laboral no significa disminución del salario pactado inicialmente
Reubicación laboral no significa disminución del salario pactado inicialmenteReubicación laboral no significa disminución del salario pactado inicialmente
Reubicación laboral no significa disminución del salario pactado inicialmente
 
filosofia
filosofiafilosofia
filosofia
 
AmandaWyma.RecommendationLetter
AmandaWyma.RecommendationLetterAmandaWyma.RecommendationLetter
AmandaWyma.RecommendationLetter
 
La ergonomía computacional
La ergonomía computacionalLa ergonomía computacional
La ergonomía computacional
 
L'escultura humana
L'escultura humanaL'escultura humana
L'escultura humana
 
Marisol gonzález; verónica sánchez
Marisol gonzález; verónica sánchezMarisol gonzález; verónica sánchez
Marisol gonzález; verónica sánchez
 
investigación de mercados
investigación de mercadosinvestigación de mercados
investigación de mercados
 
Tecnología subida mariano
Tecnología subida  marianoTecnología subida  mariano
Tecnología subida mariano
 
T
TT
T
 
Expo.sistemas operativos
Expo.sistemas operativosExpo.sistemas operativos
Expo.sistemas operativos
 
Código Penal Colombiano: conceptos que debes conocer
Código Penal Colombiano: conceptos que debes conocerCódigo Penal Colombiano: conceptos que debes conocer
Código Penal Colombiano: conceptos que debes conocer
 
Derechos, impuestos y obligaciones como persona natural
Derechos, impuestos y obligaciones como persona naturalDerechos, impuestos y obligaciones como persona natural
Derechos, impuestos y obligaciones como persona natural
 
QUALIDADE PREMIADA
QUALIDADE PREMIADAQUALIDADE PREMIADA
QUALIDADE PREMIADA
 

Semelhante a Open Source: o que está por trás da motivação dos desenvolvedores? Revista es magazine monteiro e franca 2012

Transformational Design Thinking - Aula 6
Transformational Design Thinking - Aula 6Transformational Design Thinking - Aula 6
Transformational Design Thinking - Aula 6Lu Terceiro
 
Microinovação - Fabricar Ideias, Rui Marques
Microinovação - Fabricar Ideias, Rui MarquesMicroinovação - Fabricar Ideias, Rui Marques
Microinovação - Fabricar Ideias, Rui Marquescomunidades@ina
 
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANAC
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANACCaixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANAC
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANACRodrigo Narcizo
 
Workshop • UX design •
Workshop • UX design •  Workshop • UX design •
Workshop • UX design • Suzi Sarmento
 
(ConSePS 2015) Imersão 3
(ConSePS 2015) Imersão 3(ConSePS 2015) Imersão 3
(ConSePS 2015) Imersão 3Ink_conteudos
 
O olhar cultural do Agile Coach
O olhar cultural do Agile CoachO olhar cultural do Agile Coach
O olhar cultural do Agile CoachTadeu Marinho
 
Projeto Aplicado Desafiar - Gamificação ASKE
Projeto Aplicado Desafiar - Gamificação ASKEProjeto Aplicado Desafiar - Gamificação ASKE
Projeto Aplicado Desafiar - Gamificação ASKECinara Miranda
 
Lean Inception Remota.pdf
Lean Inception Remota.pdfLean Inception Remota.pdf
Lean Inception Remota.pdfalga20
 
Artigo: Domínio pessoal: o que é preciso descobrir antes de aprender
Artigo: Domínio pessoal: o que é preciso  descobrir antes de aprenderArtigo: Domínio pessoal: o que é preciso  descobrir antes de aprender
Artigo: Domínio pessoal: o que é preciso descobrir antes de aprenderPriscila Stuani
 
Weme School | Design Thinking
Weme School | Design ThinkingWeme School | Design Thinking
Weme School | Design ThinkingFernanda Bisso
 
Open innovation sebrae mg
Open innovation sebrae mgOpen innovation sebrae mg
Open innovation sebrae mgFlávio Moreira
 
Design Thinking - Uma proposta para inovar em RH
Design Thinking - Uma proposta para inovar em RHDesign Thinking - Uma proposta para inovar em RH
Design Thinking - Uma proposta para inovar em RHJuliana Feitosa Andrade
 
My Report - Personas
My Report - PersonasMy Report - Personas
My Report - PersonasMichel Alves
 
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)TransLAB - Laboratório Cidadão
 
CORPOS Corporate Open Source Management
CORPOS Corporate Open Source ManagementCORPOS Corporate Open Source Management
CORPOS Corporate Open Source ManagementMeridiano Digital
 

Semelhante a Open Source: o que está por trás da motivação dos desenvolvedores? Revista es magazine monteiro e franca 2012 (20)

Transformational Design Thinking - Aula 6
Transformational Design Thinking - Aula 6Transformational Design Thinking - Aula 6
Transformational Design Thinking - Aula 6
 
Microinovação - Fabricar Ideias, Rui Marques
Microinovação - Fabricar Ideias, Rui MarquesMicroinovação - Fabricar Ideias, Rui Marques
Microinovação - Fabricar Ideias, Rui Marques
 
Elaboração de projeto
Elaboração de projetoElaboração de projeto
Elaboração de projeto
 
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANAC
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANACCaixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANAC
Caixa de ferramentas para oficinas de Design Thinking (protótipo - v.0.5) - ANAC
 
Workshop • UX design •
Workshop • UX design •  Workshop • UX design •
Workshop • UX design •
 
Banco de duplicatas concluido-ok
Banco de duplicatas concluido-okBanco de duplicatas concluido-ok
Banco de duplicatas concluido-ok
 
Motivacao 3.0
Motivacao 3.0Motivacao 3.0
Motivacao 3.0
 
(ConSePS 2015) Imersão 3
(ConSePS 2015) Imersão 3(ConSePS 2015) Imersão 3
(ConSePS 2015) Imersão 3
 
23_Hugo_S%26G14_vf
23_Hugo_S%26G14_vf23_Hugo_S%26G14_vf
23_Hugo_S%26G14_vf
 
O olhar cultural do Agile Coach
O olhar cultural do Agile CoachO olhar cultural do Agile Coach
O olhar cultural do Agile Coach
 
Elaboração de projeto 2013 2
Elaboração de projeto 2013 2Elaboração de projeto 2013 2
Elaboração de projeto 2013 2
 
Projeto Aplicado Desafiar - Gamificação ASKE
Projeto Aplicado Desafiar - Gamificação ASKEProjeto Aplicado Desafiar - Gamificação ASKE
Projeto Aplicado Desafiar - Gamificação ASKE
 
Lean Inception Remota.pdf
Lean Inception Remota.pdfLean Inception Remota.pdf
Lean Inception Remota.pdf
 
Artigo: Domínio pessoal: o que é preciso descobrir antes de aprender
Artigo: Domínio pessoal: o que é preciso  descobrir antes de aprenderArtigo: Domínio pessoal: o que é preciso  descobrir antes de aprender
Artigo: Domínio pessoal: o que é preciso descobrir antes de aprender
 
Weme School | Design Thinking
Weme School | Design ThinkingWeme School | Design Thinking
Weme School | Design Thinking
 
Open innovation sebrae mg
Open innovation sebrae mgOpen innovation sebrae mg
Open innovation sebrae mg
 
Design Thinking - Uma proposta para inovar em RH
Design Thinking - Uma proposta para inovar em RHDesign Thinking - Uma proposta para inovar em RH
Design Thinking - Uma proposta para inovar em RH
 
My Report - Personas
My Report - PersonasMy Report - Personas
My Report - Personas
 
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)
Workshop Tecna PUCRS // Gestão por projetos em rede (Maio 2015)
 
CORPOS Corporate Open Source Management
CORPOS Corporate Open Source ManagementCORPOS Corporate Open Source Management
CORPOS Corporate Open Source Management
 

Open Source: o que está por trás da motivação dos desenvolvedores? Revista es magazine monteiro e franca 2012

  • 1. Engenharia de Software Open Source: o que está por trás da motivação dos desenvolvedores? A. César C. França cesarfranca@gmail.com Mestre em Ciência da Computação pela Universidade Federal de Pernambuco e Doutorando em Ciência da Computação pela mesma instituição, bolsista CNPq. Integrante do grupo de pesquisa HASE – HumanAspects in Software Engineering. Autor do livro “Um estudo sobre motivação em integrantes de equipes de desenvolvimento de software”, da Ed. UFPE, 2010. Na FAFICA (Faculdade de Filosofia, Ciências e Letras de Caruaru), é professor de diversas disciplinas relacionadas à Engenharia de Software e pesquisador pelo NUPESQ. Danilo Monteiro Ribeiro danilomonteiroo@gmail.com Graduado em Sistemas de Informação na Universidade de Pernambuco, é Ex-bolsista de Iniciação Científica do PIBIC/CNPQ e Membro do Grupo de Pesquisa: GREAT(GRupo de Estudos Avançados em Tecnologia da Informação e Comunicação) atuando principalmente nos seguintes temas: Desenvolvimento MOBILE(Especialmente ANDROID), metodologias ágeis, Linha de Produto de Software,Gerenciamento de Portfólio de projetos em TI e Motivação de Engenheiros de Software. De que trata o artigo: Este artigo tem como objetivo explanar os fatores que motivam desenvolvedores a contribuírem em iniciativas Open Source. Fundamentando-se em pesquisas recentes, e
  • 2. em teorias de Motivação, apresentamos o conjunto de fatores motivadores categorizados de acordo com as necessidades mais primitivas dos desenvolvedores de software Open Source. Para que serve: Este artigo serve para apresentar alguns fatores motivadores que atuam principalmente no contexto Open Source e torná-los mais claros para os interessados. Em que situação o tema útil: Este tema é útil para todos que já estão envolvidos e para aqueles que querem se envolver com projetos Open Source . No livro "Drive: The surprising true about what motivates us" (Drive: a verdade surpreendente sobre o que nos motiva), o autor Daniel Pink levanta a seguinte questão: há 15 anos, a enciclopédia Microsoft Encarta dominava o mercado das enciclopédias eletrônicas. Ela era desenvolvida por uma equipe altamente qualificada, devidamente remunerada, e administrada de uma forma que os esforços individuais fossem recompensados pela empresa na qual trabalhavam. O projeto aparentemente preenchia todos os requisitos motivacionais de um projeto de sucesso, para o entendimento da época. Quem diria que tal sucesso seria desbancado por uma enciclopédia gratuita, de acesso livre, e construída por pessoas que nem mesmo são remuneradas pelo trabalho? Era uma previsão muito pouco provável, mas foi exatamente isso que aconteceu com a chegada da Wikipédia. O mesmo fenômeno pode ser atualmente evidenciado em outros produtos de software Open Source, tais como o Mozilla Firefox1, Linux2, Eclipse IDE3, Apache Server4, Blender5, entre vários outros. No entanto, os fatores que levam programadores a contribuírem efetivamente para estas iniciativas aparentemente continuam sendo uma questão em aberto para a ciência. Por que desenvolvedores de software aplicam uma fatia considerável do seu tempo produtivo, desenvolvendo produtos pelos quais eles não serão necessariamente remunerados? Seria a "Ideologia da Liberdade", como descrito por Stallman (2002), suficiente para explicar este fenômeno? A motivação de desenvolvedores de software, em si, é um fenômeno que vem sendo estudado desde a década de 80. Comunidades Open Source, ao mesmo tempo, são objetos de pesquisa desde o final da década de 90. Estudos como o de von Krogh (2008) e Oreg e Nov (2007) se propuseram a investigar de forma extensiva a motivação de engenheiros de software em projetos Open 1 http://www.mozilla.org/ 2 http://www.linux.org/ 3 http://www.eclipse.org 4 http://www.apache.org/ 5 http://www.blender.org/
  • 3. Source e neste artigo, nós apresentamos uma síntese da literatura técnica- científica que investiga o fenômeno da motivação nestas comunidades, fundamentando os nossos argumentos através de duas teorias principais: a teoria da Expectativa, de Victor Vroom (1964), e a teoria de Valores Universais, de Shalom Schwartz (1994). Como resultado, apresentamos uma descrição de quatro estereótipos baseados nos valores que substanciam o comportamento motivado de desenvolvedores de comunidades Open Source. A principal revelação neste artigo é que, na pesquisa científica como um todo, a ideologia do desenvolvimento Open Source aparece apenas como um coadjuvante no processo de motivação destes desenvolvedores. Nas Seções iniciais deste artigo, apresentamos uma definição do que é motivação e como são organizadas as comunidades Open Source. Em seguida, apresentamos uma síntese dos fatores que a literatura apresenta como motivadores para este tipo de desenvolvedor e, por fim, apresentamos uma reflexão sobre tais motivadores. Motivação, em essência Por que motivar é importante? A forma como a motivação é trabalhada dentro de um projeto Open Source pode afetar diretamente o comportamento de participação e retenção dos membros, é o que dizem as pesquisas relacionadas com este tema (OREG e NOV, 2007; WU, GERLACH e YOUNG, 2007; von KROG et al., 2008), por diversas razões. Ao mesmo tempo, para uma empresa de grande porte decidir adotar um produto Open Source, ela precisa de garantias de que o produto continuará sendo evoluído – o que depende diretamente da frequência de participação dos membros. Além disso, a retenção dos membros faz com que o conhecimento sobre o produto seja retido dentro do projeto, e se desenvolva de forma incremental – afetando também a qualidade do produto. Logo, administrar a motivação da equipe pode trazer benefícios não somente relacionados com a frequência e qualidade da contribuição dos membros da comunidade Open Source, mas também pode determinar a qualidade do produto final. O que é motivação? As primeiras investigações focando na motivação no ambiente de trabalho datam da década de 40 (Da SILVA e FRANÇA, 2011). Ao longo do tempo, diversas teorias diferentes se propuseram a explicar o fenômeno da motivação humana no trabalho, originadas no campo das ciências humanas, e sociais. Isso fez com que, na prática, variados significados fossem atribuídos à motivação, gerando uma grande confusão ao redor do termo (Da SILVA e FRANÇA, 2011).
  • 4. Segundo Luthans (2001, tradução nossa), a motivação no contexto do trabalho deve ser entendida basicamente como "um conjunto de forças internas ao indivíduo que energizam, canalizam e sustentam o esforço voluntário para a realização de uma atividade de objetivo específico". Couger e Zawacki (1980) explicam o funcionamento da motivação no trabalho baseando-se na teoria da Expectativa de Vroom (1964), da seguinte maneira (Figura 1): Necessidades Ação Avaliação Figura 1 - Ciclo da Motivação  Necessidades são os elementos que guiam o início do processo de motivação. Em suma, ela traduz os elementos que o indivíduo precisa, acredita que precisa, prefere, deseja, ou tem mais interesse em alcançar. Estas necessidades podem ser selecionadas de forma consciente ou simplesmente inconsciente.  Ação é a estratégia escolhida pelo indivíduo para suprir a suas necessidades, dentre as N possíveis maneiras de suprir aquela necessidade. Para citar um exemplo bem simples, se o indivíduo está com sede (necessidade), ele pode optar por beber um copo de água (ação). Da mesma forma, se alguma organização tem uma necessidade por informação, ela pode optar por desenvolver um software.  Por fim, o indivíduo faz uma Avaliação para julgar se o resultado daquela ação foi suficiente para satisfazer a sua necessidade, como era esperado. Se não foi, o ciclo tende a continuar. Em caso positivo, uma nova necessidade aflora, e o ciclo continua a fim de resolver desta vez uma necessidade diferente. A ação na qual estamos interessados centralmente neste artigo é a contribuição para o software Open Source. Logo, a pergunta que norteia este artigo é: Que necessidades levam desenvolvedores de software a decidirem contribuir em comunidades Open Source? O que não é motivação Palestras motivacionais é uma ferramenta comumente em muitas empresas com o objetivo de “motivar” a sua equipe. No entanto, estas palestras são capazes apenas de energizar temporariamente o esforço dos participantes, afetando apenas a sua autoestima e o seu entusiasmo, e não a motivação de fato – que por sua vez está intimamente ligada à sustentação do comportamento ao longo do tempo.
  • 5. A motivação também é frequentemente associada a estratégias de compensação, financeira e não financeira, em empresas. Por exemplo, “aquele desenvolvedor que produzir a maior quantidade de Linhas de Código pode receber um bônus no salário no final do mês”, ou “se a equipe resolver todas as Change Requests até o final da semana será recompensada com um almoço num restaurante especial”. Este tipo de estratégia de compensação é eventualmente eficaz para canalizar o esforço dos membros de uma equipe para um objetivo pontual. Porém, segundo Pink (2009), este tipo de oferta pode gerar diversos comportamentos maléficos para o ambiente de trabalho, por exemplo:  A oferta pode estimular a busca por atalhos e/ou por comportamento não ético, dada a competição entre os membros do grupo. Por exemplo, liberar o software com bugs, de propósito, apenas para cumprir o cronograma;  Podem gerar vício/dependência – ou seja, das próximas vezes, a equipe só terá ânimo para resolver todas as Change Requests se a recompensa for pelo menos tão boa quanto a anterior;  Podem encurtar a perspectiva de tempo do desenvolvedor, e incentivar a adoção de gambiarras. Por exemplo, já que o mais importante – para o desenvolvedor - é atingir a recompensa, o importante é fazer funcionar... algum dia “alguém” normatiza ou refatora aquele código. Estrutura de valores universais Logo, para entender a motivação, em essência, é preciso olhar para o que está por trás das necessidades dos desenvolvedores – que é o que Schwartz (1994) chama de valores. Segundo Schwartz (1994) valores são definidos como critérios ou metas que transcendem situações específicas, que são ordenados por sua importância, que servem como princípios que guiam a vida do indivíduo, e que determinam o seu caráter. A Teoria de Valores Humanos de Schwartz (1994), afirma que existem dez valores distintos que são derivados das exigências humanas universais (Figura 2):
  • 6. Figura 2 – Estrutura de Valores Universais de Schwartz (1994)  Autodireção: Independência no pensamento e na tomada de decisão, criação e exploração (criatividade, independente, liberdade).  Estimulação: Ter excitação, novidade e mudança na vida.  Hedonismo:Prazer ou gratificação para a própria pessoa.  Realização: Êxito pessoal como resultado da demonstração de competência segundo as normas sociais.  Poder: Posição e prestígio social, controle ou domínio sobre pessoas e recursos.  Benevolência: Preservar e reforçar o bem-estar das pessoas próximas com quem se tem um contato pessoal frequente e não casual  Conformidade: Limitar as ações, inclinações e impulsos que possam prejudicar a outros e violar expectativas ou normas sociais.  Tradição: Respeitar, comprometer- se e aceitar os costumes e as ideias que a cultura tradicional ou a religião impõem à pessoa.  Segurança: Conseguir segurança, harmonia e estabilidade na sociedade, nas relações interpessoais e na própria pessoa.  Universalismo: Compreensão, apreço, tolerância e proteção em direção ao bem-estar de toda a gente e da natureza. Os indivíduos tendem a atribuir diferentes graus de importância aos valores. Sendo assim, quando em conflito, os valores que vão determinar de fato o comportamento do indivíduo são aqueles aos quais os indivíduos atribuem maior grau de importância. Antes de entender o que de fato motiva a contribuição de desenvolvedores de software a comunidades Open Source, é importante descrever em mais detalhes o que são e como se organizam estas comunidades.
  • 7. Comunidades Open Source e suas Caraterísticas Comunidades Open Source têm sido estudadas igualmente tanto na Engenharia de Software quanto em outros campos de conhecimento, como na pesquisa Organizacional e na Economia (ERENKRANTZ e TAYLOR 2003; LANGLOIS e GARZARELLI, 2008). Feller et al (2005) descrevem quatro tipos diferentes de comunidades Open Source de acordo com o seu grau de maturidade:  Comunidades Ad-hoc: pequenas, adotam práticas informais de colaboração, e realizam projetos de tamanho limitado. É totalmente baseada em colaboração através da internet, e tem seus projetos hospedados em um servidor “na nuvem” (ex. SourceForge6, GoogleCode7). Utilizam pouca documentação, e os usuários dos seus produtos são, em maior parte, os próprios desenvolvedores.  Comunidades padronizadas: são comunidades um pouco mais maduras e estáveis, que seguem métodos mais formais e padrões de desenvolvimento, e são responsáveis por projetos de maiores dimensões. Os objetivos são determinados em grupo, e a preocupação com a qualidade do produto é maior. Padronização e documentação são as chaves dos métodos e processos adotados. Usuários são geralmente outros desenvolvedores.  Comunidades organizadas: são comunidades de práticas muito maduras, legalmente estabelecidas. Hospedam seus próprios projetos e possuem uma identidade própria. Alguns membros encontram-se possivelmente co-localizados, embora maior parte da colaboração ocorra pela internet. Os produtos tem “vida própria”, independente de seus membros. Os processos são formalizados e o gerenciamento de projetos também é formalizado. Usuários-finais não se limitam a desenvolvedores.  Organizações comerciais: comunidades estabelecidas dentro de organizações formais com fins lucrativos. Hospedam seus próprios projetos e também tem uma identidade própria. Vários membros encontram-se co-localizados. A estrutura organizacional se mistura com a estrutura de comunicação e gerenciamento da própria organização. O objetivo é utilizar práticas Open Source para interagir com outras comunidades e gerar valor para a própria organização. São altamente padronizadas e documentadas, e os usuários são tratados como consumidores. Independentemente do seu grau de maturidade, as comunidades Open Source são constituídas de diferentes papéis de participantes, como mostra a Figura 3. Porém, esta divisão é mais evidente nas comunidades mais desenvolvidas. Nas comunidades menos maduras existe uma sobreposição 6 http://sourceforge.net 7 http://code.google.com
  • 8. destes papéis, principalmente porque os usuários finais são geralmente os próprios desenvolvedores ativos do projeto. Figura 3 - Perfis de Participantes de Ye e Kishida (2003) Todos estes membros interagem regularmente com os outros através de uma estrutura de colaboração. Portanto, é natural que a principal característica do comportamento motivado em uma comunidade Open Source seja percebida como a qualidade da participação. Qualidade da participação não se refere apenas à frequência de troca de mensagens, mas também à utilidade destas mensagens para os objetivos finais do projeto, relevância para os outros membros, e velocidade de resposta, seja para reportar bugs, ou para ajudar outros membros a resolverem seus próprios problemas. Mas embora exista esta estrutura de colaboração, é razoável assumir que em cada um dos diferentes tipos de comunidades Open Source, os desenvolvedores são dirigidos por necessidades diferentes. No mesmo sentido, é razoável assumir também que os diferentes perfis de participantes são atraídos a contribuírem na comunidade por diferentes motivos. Na próxima seção, exploraremos alguns destes motivos em detalhes. O que motiva desenvolvedores Open Source? Stallman (2002) afirma que o objetivo do software Open Source é produzir software poderoso e de alta qualidade, e que isso é um objetivo louvável, mas não o mais importante. O mais importante, para ele, é que o software siga as premissas do software livre, que são: liberdade para qualquer pessoa executar, modificar, e distribuir o software original e/ou modificado. Porém, os estudos sobre motivação de desenvolvedores Open Source evidenciam que são variados os motivos que de fato dirigem o comportamento dos desenvolvedores, e que a ideologia da liberdade é apenas um deles. Na Tabela 1, nós apresentamos a síntese dos fatores motivadores apresentados em estudos científicos relevantes. É importante destacar que nem todos os fatores aparecem em todas as pesquisas. Por outro lado, pesquisas
  • 9. descrevem fatores semelhantes utilizando nomenclaturas diferentes. Nesta síntese, fazemos uma sugestão tentativa para integrar estes fatores baseando-se na descrição semântica como apresentada nos seus artigos de origem. Tabela 1: Síntese dos fatores motivadores Fator Definição Fonte(s) Ideologia Acreditar que o software deve ser livre Von Krogh et al(2008); para todos, ou que o código aberto deve Benbya e Belbaly (2010). substituir o software proprietário. Altruismo Preocupação com o bem-estar do von Krogh et al(2008); próximo, vontade de prover soluções de Oreg e Nov (2007); software que vão ajudar a outras pessoas Wu, Gerlach, Young (2007); a resolver os seus problemas. Bitzer, Schrettl, Schröder (2007); Ke e Zhang (2010). Prazer e Divertir-se com a própria atividade de von Krogh et al(2008); Diversão passar tempo desenvolvendo software, Bitzer, Schrettl, Schröder (2007). brincando com o código. Reputação Ser reconhecido pela comunidade pela von Krogh et al(2008); competência como programador e/ou Oreg e Nov (2007); pelo seu esforço, responsabilidade e Ke e Zhang (2010). outras características técnicas e pessoais. Reciprocidade Sentimento de responsabilidade e/ou von Krogh et al(2008); dívida, para “devolver” para a Benbya e Belbaly (2010). comunidade aquilo que outrora foi consumido. Economia através da troca. Aprendizado Vontade de aprender novas tecnologias, von Krogh et al(2008); técnicas, habilidades para desenvolver Oreg e Nov (2007); software, para manter-se atualizado e Subramanyian e Xia (2008); tornar-se um melhor programador. Wu, Gerlach, Young (2007); Benbya e Belbaly (2010); Ye e Kishida (2003); Roberts, Hann, Slaughter (2006). Uso próprio Contribuir para a evolução de um von Krogh et al(2008); produto no sentido de resolver algum Subramanyian and Xia(2008); problema particular, adaptando o Wu, Gerlach, Young (2007); software para a própria realidade. Bitzer, Schrettl, Schröder (2007); Roberts, Hann, Slaughter (2006). Carreira Estabelecer contatos profissionais e von Krogh et al(2008); aprender tecnologias que possam, num Wu, Gerlach, Young (2007). momento futuro, garantir um avanço na sua carreira através de promoção, ou novas oportunidades de emprego. Remuneração Refere-se àquela minoria que é von Krogh et al(2008); remunerada para contribuir com Subramanyian and Xia (2008). projetos Open Source, e àqueles empreendedores cujo modelo de negócio são construídos em cima de comunidades Open Source.
  • 10. Autonomia Liberdade de não seguir ordens, de Ke e Zhang (2010). tomar decisões sobre o próprio trabalho e definir os seus próprios objetivos. O que está por trás da motivação dos desenvolvedores Open Source? Após refletir sobre as necessidades que dirigem a motivação dos desenvolvedores Open Source, utilizamos a Teoria de Valores Humanos de Schwartz (1994) para propor um conjunto de estereótipos para estes desenvolvedores, de acordo com o seu perfil e com os valores que mais fortemente substanciam o seu comportamento motivado. Abaixo, descrevemos em detalhes estes estereótipos. Autotranscedência Autotranscedência é um valor que está voltado para o bem-estar e aprimoramento do próximo, em detrimento do próprio indivíduo. Ele é traduzido por altos graus de importância para valores como benevolência e universalismo. Desenvolvedores com alto grau de autotranscedência são aqueles guiados fortemente pela ideologia, pois acreditam que o Open Source é uma forma mais justa de desenvolvimento e que, consequentemente, ao produzir este tipo de software, estão ajudando as pessoas e contribuindo de alguma forma para um mundo mais justo. Geralmente indivíduos como este assumem algum papel de liderança em comunidades organizadas, principalmente aquelas sem fins comerciais. Para desenvolvedores que atendem a este estereótipo, o tema do projeto é um fator extremamente importante. Projetos que se propõem a oferecer algum bem social ou benefício à população em geral são provavelmente atrativos para este desenvolvedor. Quanto mais significante fora da comunidade seja o projeto, mais interessado o desenvolvedor estará em oferecer a sua contribuição, como uma forma de sentir-se útil para a sociedade. O desenvolvedor autotranscendente também tem um papel fundamental no suporte técnico aos parceiros de desenvolvimento. Dada a sua forte lealdade, e responsabilidade com a comunidade, a oportunidade para ajudar os outros também atua como um forte motivador. Abertura a Novas Experiências Abertura a novas experiências é o valor que guia aqueles desenvolvedores interessados na diversão, liberdade e autonomia propiciadas pelo desenvolvimento em comunidades Open Source, e que geralmente participam destas com um baixo nível de envolvimento e responsabilidade.
  • 11. Dois motivadores relevantes para este estereótipo são: a independência e o uso-próprio. A independência é o que leva estes desenvolvedores a escolherem o Open Source como paradigma de desenvolvimento, pela liberdade de estabelecimento dos seus próprios objetivos que esta filosofia permite. Já o uso- próprio estimula estes desenvolvedores a aplicar bastante esforço e tempo para criar suas próprias soluções, ou adaptar projetos existentes às suas próprias necessidades, principalmente em projetos que julga serem mais excitantes e divertidos. Estes desenvolvedores tem estímulo suficiente para criar e liderar comunidades ad-hoc, mas também é possível encontrar desenvolvedores com este perfil contribuindo apenas na periferia de comunidades mais estabelecidas. As regras e protocolos de comunidades padronizadas ou organizadas fazem com que o interesse deste tipo de desenvolvedor seja reduzido apenas para um curto tempo de participação. Ou seja, a liberdade atrai e a burocracia repele este tipo de desenvolvedor. Auto aprimoramento Desenvolvedores guiados pelo auto aprimoramento estão nas comunidades Open Source basicamente buscando aprendizado contínuo e o desenvolvimento das suas habilidades e competências no que diz respeito ao domínio de novas tecnologias, métodos e técnicas. Os principais fatores que levam este desenvolvedor a escolher a comunidade com a qual vai contribuir são dois: a tecnologia e o ferramental de processos. Comunidades ad-hoc, que possuem pouco ferramental de processos, geralmente atraem desenvolvedores deste tipo, mas interessados em aprender ou aprofundar-se na linguagem que está sendo utilizada e, consequentemente, com pouca ou nenhuma experiência de desenvolvimento naquela tecnologia. Já comunidades organizadas atraem desenvolvedores deste tipo interessados em adquirir experiência com mecanismos mais refinados de engenharia de software, como métodos, padrões de programação, configuração, documentação, etc. Um processo maduro de desenvolvimento de software Open Source naturalmente envolve um mecanismo de revisão de pares, e através deste processo os colaboradores recebem feedback e podem obter sugestões de estilos de programação e lógicas para melhorar suas habilidades profissionais (Oreg e Nov, 2007). Para este tipo de desenvolvedor, o tema do projeto é menos importante, servindo apenas como um plano de fundo para praticar as suas habilidades. Este desenvolvedor preocupa-se mais com a complexidade e o desafio da funcionalidade que está desenvolvendo, do que com os benefícios que aquela funcionalidade vai de fato representar para o usuário final. Ter objetivos bem definidos é importante para este perfil de desenvolvedor. Atingir estes objetivos é mais importante ainda, pois se trata de um perfil com ambição alta. A ineficácia ao tentar resolver problemas pode levar estes desenvolvedores a se
  • 12. afastar da comunidade, pois despertam um sentimento indesejado de incapacidade. Este tipo de desenvolvedor descreve o padrão motivacional de uma parte representativa dos desenvolvedores ativos e periféricos de comunidades Open Source padronizadas, organizadas e comerciais. Autopromoção Desenvolvedores com este perfil poderiam representar a erva-daninha da ideologia do software Open Source, pois atuam nestas comunidades única e exclusivamente por motivos individualistas. Porém, eles são extremamente importantes para o ecossistema de desenvolvimento Open Source. Em comunidades de tira-dúvidas, por exemplo, especialmente aquelas que fornecem algum tipo de premiação, mesmo que não financeira, para os participantes que respondem as dúvidas dos outros, são eles os maiores interessados em ajudar os colegas. A necessidade principal deste perfil motivacional é o seu reconhecimento pela comunidade, pois através do desenvolvimento da sua própria imagem e reputação, o desenvolvedor pode ter acesso a oportunidades de negócio propiciadas pelos parceiros da comunidade. Além disso, a sua rede de contatos pode também ser útil para conseguir promoções e empregos melhores fora da comunidade. Para este tipo de desenvolvedor, também é importante contribuir projetos Open Source de marcas reconhecidas, como é o caso da maioria das organizações comerciais. Remuneração, inclusive, pode ser um motivador altamente eficaz para atrair este tipo de desenvolvedor. Porém, a possibilidade de alcançar um status de liderança e autoridade sobre o projeto e sobre os desenvolvedores é ainda mais eficaz para este tipo de desenvolver. Estes desenvolvedores são geralmente muito experientes nas tecnologias utilizadas pela comunidade e, quando assumem alguma posição de liderança, são guiados por algum modelo de negócio que se sustentam naquele software Open Source, ou que dependem deste, para continuarem rentáveis. No entanto, é comum utilizarem a ideologia do movimento Open Source como plano de fundo para atraírem outros desenvolvedores para o seu projeto. Conclusão Por que desenvolvedores de software aplicam uma fatia considerável do seu tempo produtivo, desenvolvendo produtos pelos quais eles não serão necessariamente remunerados? Embora seja prematuro afirmar que estes são os únicos motivos existentes, as pesquisas científicas disponíveis apontam basicamente para quatro motivos essenciais: autotranscedência, abertura a novas experiências, auto aprimoramento e autopromoção. Os resultados apresentados neste artigo devem ser úteis tanto para orientar os desenvolvedores que estão considerando a possibilidade de
  • 13. contribuírem voluntariamente para projetos Open Source, quanto para um melhor autoconhecimento daqueles que já participam ativamente destas comunidades. Estes resultados devem ainda ser de fundamental importância para aqueles desenvolvedores que assumem papel de liderança e eventualmente estão encarregados de administrar a motivação dos outros participantes do projeto. Por outro lado, esta questão deve continuar estimulando pesquisadores em busca de novas ou mais completas respostas que sejam capazes de explicar mais amplamente o comportamento dos desenvolvedores que contribuem com comunidades Open Source. Apesar desta pesquisa ter sido baseada em revisões sistemáticas da literatura, executadas cuidadosamente e com alto rigor técnico- metodológico, não é possível garantir que todos os estudos disponíveis foram cobertos na nossa síntese. Além disso, também não é possível garantir que a própria ciência já revelou todos os motivadores que de fato guiam o comportamento destes desenvolvedores. Portanto, neste artigo, apresentamos apenas os resultados iniciais de um esforço de longo prazo que deverá nos ajudar a aprofundar o entendimento sobre o comportamento de desenvolvedores em comunidades Open Source. Referências Benbya H. and Belbaly, N. (2010) “Understanding Developers’ Motives in Open Source Projects: A Multi-Theoretical Framework” Communications of the Association for Information Systems Volume 27 Article 30 Bitzer, J., Schrettl, W., Schroder, P., (2007) "Intrinsic motivation in open source software development," Journal of Comparative Economics, Elsevier, vol. 35(1), pages 160-169. Couger, D. and Zawacki, R. (1980)“Motivating and Managing Computer” Personnel. John Wiley & Sons, 1A edição. Da Silva F. and França, A. (2011) “Towards Understanding the Underlying Structure of Motivational Factors for Software Engineers to Guide the Definition of Motivational Programs.”, The Journal of Systems and Software 85 216–226. Erenkrantz J. and Taylor R. (2003) “Supporting Distributed and Decentralized Projects: Drawing Lessons from the Open Source Community” Feller, J; Fitzgerald, B; Hissam, S. and Lakhani, K. (2005) “Perspectives on Free and Open Source Software” The MIT Press, 1A edição. Ke, W. and Zhang, P. (2010) "The Effects of Extrinsic Motivations and Satisfaction in Open Source Software Development," Journal of the Association for Information Systems: Vol. 11: Iss. 12, Article 5.
  • 14. Luthans, F. (2001) “Organisational Behaviour.”, McGraw Hill 9 edição. Langlois R. and Garzarelli G. (2008) "Of Hackers and Hairdressers: Modularity and the Organizational Economics of Open-source Collaboration," Working papers , University of Connecticut, Department of Economics. Oreg, S. and Nov, O. (2007) “Exploring motivations for contributing to open source initiatives: The roles of contribution context and personal values” Computers in Human Behavior, 24, 2055–2073. Pink, D. (2009) “Drive: The Surprising Truth About What Motivates Us” Hardcove, 1A edição. Roberts, J., Hann, I.H. and Slaughter, S., (2006) “Understanding the Motivations, Participation, and Performance of Open Source Software Developers: A Longitudinal Study of the Apache Projects,” Management Science, Vol. 52, No 7. Schwartz, S. (1994) “Are There Universal Aspects in the Structure and Contents of Human Values?” Journal of Social Issues, Vol. 50, No. 4, 1994, 19- 45. Stallman, R. (2002) “Free Software, Free Society: Selected Essays of Richard M. Stallman.”, GNU Press, 2nd edição. Subramanyam, R. and Xia, U. (2008) “Free/Libre Open Source Software development in developing and developed countries: A conceptual framework with an exploratory study.” In Journal Decision Support Systems archive Volume 46 Issue 1. Vroom, V. (1964) “Work and Motivation.” McGraw Hill, New York. Von Krogh, G; Haefliger, S; Spaeth, S and Wallin, M. (2008) “What we know (and do not know) about motivations to contribute”, Department Of Management, Technology, and Economics, ETH Zurich, 11-30 Wu,G., Gerlach, J., Young, C. (2007)“An empirical analysis of Open Souce software developers motivation and continuance intention.” In Journal Information and Management, Volume 44 Issue 3. Ye, Y., and Kishida K. (2003) “Toward an Understanding of the Motivation of Open Source Software Developers”, International Conference on Software Engineering (ICSE2003),Portland, Oregon, pp. 419-429.