Trabalhos acadêmicos em computação científica (e em muitos outros campos atualmente) normalmente envolvem uma certa quantidade de código ou mesmo pacotes de software completos que foram escritos especificamente para esse trabalho ou que foram usados para obter resultados no trabalho. Qual é a melhor maneira de ajudar os leitores do artigo a acessar o código? Minha abordagem atual é colocar um link para um repositório do Github (junto com uma tag de versão específica) no artigo ou em uma citação.
publications
David Ketcheson
fonte
fonte
Respostas:
Bem, acho que você tem algumas opções.
Em qualquer um ou em todos esses casos, no entanto, você deve indicar claramente o fornecimento no artigo e indicar que tipo de licenciamento é (GPL, Creative Commons etc.), para que não haja problemas relacionados à IP no futuro.
fonte
Ótima pergunta e ótimas respostas, mas acho que nenhuma aborda adequadamente a questão da persistência, se o objetivo é atingir o mesmo padrão concedido à própria publicação. (Que pode ser bobo devido às chances de o código ainda ser executado , mas ainda assim ser pelo menos tão útil quanto a publicação).
Os suplementos de periódicos de sites da universidade não são persistentes
É improvável que os sites da universidade forneçam estabilidade ou redundância para preservar o conteúdo hospedado. O conteúdo é mais difícil de citar e geralmente não possui metadados legíveis por máquina.
Infelizmente, parece que os periódicos não estão se saindo muito melhor na manutenção de seus materiais suplementares (ver Anderson et al. 2006 ) e podem não aceitar os formatos necessários, ou até mesmo aceitar material suplementar (veja um exemplo notável ).
Por esses motivos, as pessoas preocupadas com o arquivamento de dados a longo prazo voltaram-se por unanimidade à defesa do uso de repositórios dedicados, em vez de sites ou materiais complementares, e muitos periódicos agora exigem essa prática . Parece justo que o código seja mantido com esse padrão.
A solução de muitas cópias?
O Github e sites relacionados ainda não comprovaram a longevidade na escala de cem anos alcançada pelas bibliotecas universitárias e pelos editores estabelecidos. Ao facilitar a distribuição ampla, ele pode fornecer uma solução que outros ecoaram nos comentários, incluindo um colega que não pôde comentar sobre a troca de pilha,
Figshare e o padrão CLOCKSS
O único padrão de arquivamento que conheço é o figshare , que pode aceitar repositórios de código completos (como "conjuntos de arquivos" no momento, mas acredito que em breve terá a opção de ser listado como tipo "código"). A peça chave para o figshare não é apenas o DOI citável com metadados programáticos, mas o suporte do serviço de arquivamento CLOCKSS , que mantém cópias de todo o seu conteúdo em 12 nós geograficamente e geopoliticamente distribuídos em todo o mundo. Caso o figshare saia do negócio ou deixe de existir, isso fará com que todo o seu conteúdo seja disponibilizado gratuitamente no CLOCKSS.
Consequentemente, sugiro usar o Github para distribuição de código, mas também fornecer uma cópia de arquivo para o figshare no momento da publicação.
fonte
Você pode usar algumas técnicas sofisticadas de pdf para simplesmente anexar o código ao pdf (ou seja, os arquivos de código são incorporados ao pdf e podem ser "baixados" com um clique em algum botão do pdf). Isso pode ser realizado com o pacote attachfile , por exemplo. Claro, este trabalho com pré-impressões (embora eu não saiba se já funciona com o arxiv), mas você provavelmente terá problemas com arquivos de diário ...
fonte
Para pequenos scripts específicos de um projeto de pesquisa específico, o melhor local para publicação é o site da revista, como "informações suplementares" ao artigo. É aí que é mais fácil encontrar alguém que lê o artigo.
Pacotes mais substanciais interessantes para outros projetos também devem ser publicados separadamente. Infelizmente, não há uma solução realmente boa no momento. Idealmente, uma publicação de código seria permanentemente acessível por meio de um DOI, como um artigo, mas não conheço nenhum site de hospedagem que ofereça DOIs e garanta sua permanência. Repositórios públicos como Github ou Bitbucket são talvez a melhor aposta no momento.
A melhor solução seria publicar o papel empacotado com o código e os dados que o acompanham, mas isso ainda não é tecnicamente viável. Estou trabalhando em um protótipo de pesquisa que explora essa idéia, consulte este site para obter detalhes.
fonte
Eu adotei duas táticas, nascidas do fato de prever mudanças em instituições em breve, para que o URL da minha universidade não seja estável nem um pouco.
Quando o código é relativamente curto, tentei incluí-lo como um apêndice suplementar no próprio periódico, supondo que eles provavelmente farão um trabalho decente mantendo o papel e o código aproximadamente no mesmo lugar. Isso é especialmente útil para códigos em que não há uma grande quantidade de interesse geral - código que é um pouco inútil sem o documento em questão para fornecer contexto.
Mas para código-fonte, software real e projetos mais complicados ou de interesse geral, eu tenho seguido sua tática de vincular a um repositório GitHub, que deve pelo menos ser estável para a vida útil produtiva média dos meus trabalhos.
fonte
Dê uma olhada em http://www.runmycode.org . Eles hospedam sites complementares para códigos associados a trabalhos de pesquisa. Se o código for R, Matlab ou alguns outros, ele realmente executará o código para você. Ainda não tentei, mas pretendo. Acho que David Donoho e seus colaboradores o usam.
fonte
As bibliotecas universitárias podem ser um local para este ou o centro de hospedagem da universidade.
fonte
Como leitor, uma declaração no artigo de que o código pode ser obtido entrando em contato diretamente com o autor seria eficaz. Como autor, isso poderia ajudar a promover a colaboração e me permitir lembrar as pessoas de citarem meu artigo se elas usarem o código em seu trabalho.
fonte