14
Engenharia de Software Open Source: o que está por trás da motivação dos desenvolvedores? A. César C. França [email protected] 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 [email protected] 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

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

Embed Size (px)

DESCRIPTION

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,é aprensentado um conjunto de fatores motivadores categorizados de acordo com as necessidades mais primitivas dos desenvolvedores de software Open Source.

Citation preview

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

Engenharia de Software

Open Source: o que está por trás

da motivação dos

desenvolvedores?

A. César C. França

[email protected]

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

[email protected]

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

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

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/

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

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).

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

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.

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

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):

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

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.

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

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

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

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

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

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

para todos, ou que o código aberto deve

substituir o software proprietário.

Von Krogh et al(2008);

Benbya e Belbaly (2010).

Altruismo Preocupação com o bem-estar do

próximo, vontade de prover soluções de

software que vão ajudar a outras pessoas

a resolver os seus problemas.

von Krogh et al(2008);

Oreg e Nov (2007);

Wu, Gerlach, Young (2007);

Bitzer, Schrettl, Schröder (2007);

Ke e Zhang (2010).

Prazer e

Diversão

Divertir-se com a própria atividade de

passar tempo desenvolvendo software,

brincando com o código.

von Krogh et al(2008);

Bitzer, Schrettl, Schröder (2007).

Reputação Ser reconhecido pela comunidade pela

competência como programador e/ou

pelo seu esforço, responsabilidade e

outras características técnicas e

pessoais.

von Krogh et al(2008);

Oreg e Nov (2007);

Ke e Zhang (2010).

Reciprocidade Sentimento de responsabilidade e/ou

dívida, para “devolver” para a

comunidade aquilo que outrora foi

consumido. Economia através da troca.

von Krogh et al(2008);

Benbya e Belbaly (2010).

Aprendizado Vontade de aprender novas tecnologias,

técnicas, habilidades para desenvolver

software, para manter-se atualizado e

tornar-se um melhor programador.

von Krogh et al(2008);

Oreg e Nov (2007);

Subramanyian e Xia (2008);

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

produto no sentido de resolver algum

problema particular, adaptando o

software para a própria realidade.

von Krogh et al(2008);

Subramanyian and Xia(2008);

Wu, Gerlach, Young (2007);

Bitzer, Schrettl, Schröder (2007);

Roberts, Hann, Slaughter (2006).

Carreira Estabelecer contatos profissionais e

aprender tecnologias que possam, num

momento futuro, garantir um avanço na

sua carreira através de promoção, ou

novas oportunidades de emprego.

von Krogh et al(2008);

Wu, Gerlach, Young (2007).

Remuneração Refere-se àquela minoria que é

remunerada para contribuir com

projetos Open Source, e àqueles

empreendedores cujo modelo de

negócio são construídos em cima de

comunidades Open Source.

von Krogh et al(2008);

Subramanyian and Xia (2008).

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

Autonomia Liberdade de não seguir ordens, de

tomar decisões sobre o próprio trabalho

e definir os seus próprios objetivos.

Ke e Zhang (2010).

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.

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

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

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

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

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

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.

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

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.