Um modelo de classificação de documentação para novatos em projetos de software livre - Dias, Luiz Felipe Fronchetti (2023)
Projetos de software livre contam com contribuições voluntárias para se manterem ativos. Embora importantes para sustentabilidade de projetos de software livre, novos contribuidores tendem a enfrentar dificuldades ao ingressar em projetos neste contexto. O acúmulo de dificuldades tende a influenciar na desistência da participação dos novos contribuidores, que acabam por não contribuir com os projetos. Entre as dificuldades constatadas na literatura, se encontram barreiras relacionadas a problemas na documentação dos projetos que, muitas vezes, não correspondem às necessidades que novos contribuidores enfrentam durante o processo de contribuição. Esta pesquisa se concentra na construção de um modelo de classificação capaz de identificar parágrafos em arquivos de documentação de projetos de software livre que sejam relevantes a novos contribuidores durante o processo de contribuição. Seis categorias de informação conhecidas por serem relevantes a novos contribuidores foram definidas como escopo para classificação dos arquivos de documentação. Entre as informações compreendias pelas categorias, se encontram tópicos como a maneira de lidar com código, a submissão das contribuições e o contato com a comunidade. Arquivos de contribuição (CONTRIBUTING.md) de 9.514 mil projetos de software livre foram extraídos da plataforma de codificação GitHub, dos quais 500 foram selecionados e seus parágrafos analisados qualitativamente para compor a amostra de treinamento do classificador. Diferentes algoritmos de classificação foram treinados, e o classificador LinearSVC foi escolhido para treinar o modelo de classificação final (f-measure: 0.651). O modelo gerado foi então utilizado para predição dos parágrafos dos demais projetos extraídos, e uma amostra das predições foi avaliada através de um questionário com desenvolvedores. Através deste estudo, foi possível observar que a grande maioria dos projetos extraídos (63%) sequer forneciam o arquivo de contribuição analisado em seus repositórios de código. Dos projetos que continham um arquivo de contribuição, a grande maioria (77%) apresentaram apenas entre duas a quatro categorias de informação relevantes a novos contribuidores. Com 74% das predições sendo consideradas extremamente ou ligeiramente adequadas pelos desenvolvedores no questionário, tais resultados indicam a necessidade de um melhor suporte a novatos nos arquivos de contribuição de projetos de software livre.