Perché i ricercatori potrebbero essere riluttanti a condividere il proprio codice: nella mia esperienza, ci sono due ragioni comuni per cui alcuni / molti ricercatori non condividono il proprio codice.
Primo, il il codice può dare ai ricercatori un vantaggio importante per il lavoro successivo. Può aiutarli a fare un passo avanti rispetto agli altri ricercatori e a pubblicare più rapidamente le ricerche successive. Se i ricercatori hanno in programma di svolgere ulteriori ricerche, mantenere segreto il loro codice offre loro un vantaggio competitivo e li aiuta a evitare di essere scoperti da qualcun altro. (Questo può essere positivo o negativo; non prendo posizione al riguardo.)
Secondo, molto codice di ricerca è, beh, qualità di ricerca. I ricercatori probabilmente pensavano che fosse abbastanza buono per testare le ipotesi dell'articolo, ma questo è tutto. Potrebbe avere molti problemi noti; potrebbe non avere alcuna documentazione; potrebbe essere difficile da usare; potrebbe essere compilato su una sola piattaforma; e così via. Tutti questi possono rendere difficile l'utilizzo da parte di qualcun altro. Oppure, potrebbe essere necessario un po 'di lavoro per spiegare a qualcun altro come utilizzare il codice. Inoltre, il codice potrebbe essere un prototipo, ma non di qualità di produzione. Non è insolito prendere scorciatoie durante la codifica: scorciatoie che non influenzano i risultati della ricerca e vanno bene nel contesto di un documento di ricerca, ma ciò sarebbe inaccettabile per il codice di qualità di produzione distribuito. Alcune persone sono perfezioniste e non amano l'idea di condividere il codice con debolezze note o dove hanno preso scorciatoie; non vogliono essere imbarazzati quando gli altri vedono il codice.
La seconda ragione è probabilmente la più importante; è molto comune.
Come contattare i ricercatori: il mio suggerimento è di focalizzare nuovamente le tue interazioni con quei ricercatori. Quali sono i tuoi veri obiettivi? I tuoi veri obiettivi sono comprendere meglio i loro algoritmi. Quindi, inizia da quella prospettiva e agisci di conseguenza. Se ci sono parti del documento che sono difficili da seguire o ambigue, inizia leggendo e rileggendo il loro articolo, per vedere se ci sono alcuni dettagli che potresti aver perso. Pensa attentamente a come colmare eventuali lacune mancanti. Fai uno sforzo serio per conto tuo, prima.
Se sei a un livello di ricerca e hai fatto uno sforzo serio per capire, e ancora non capisci ... invia un'email agli autori e chiedi chiarimenti sui punti specifici che ritieni non siano chiari. Non disturbare inutilmente gli autori, ma se mostri interesse per il loro lavoro e hai una buona domanda, molti autori sono felici di rispondere. Sono solo grati che qualcuno stia leggendo i loro articoli e sia abbastanza interessato al proprio lavoro da studiarlo attentamente e porre domande perspicaci.
Ma assicurati di porre buone domande. Non essere pigro e chiedi agli autori di chiarire qualcosa che potresti aver capito da solo con più pensiero. Gli autori possono percepirlo e ti considereranno un parassita, non un collega stimato.
Molto importante: ti preghiamo di comprendere che la mia risposta che spiega perché i ricercatori potrebbero non condividere il loro codice è intesa come una risposta descrittiva , non una risposta prescrittiva . Non sto enfaticamente esprimendo alcun giudizio sul fatto che le loro ragioni siano buone o se i ricercatori abbiano ragione (o torto) a pensare in questo modo. Non prendo posizione sul fatto che i ricercatori debbano condividere il loro codice o meno; Sto solo descrivendo come si comportano si alcuni ricercatori. Quello che dovrebbero fare è una palla di cera completamente diversa.
Il poster originale ha chiesto aiuto per capire perché molti ricercatori non condividono il loro codice, ed è a questo che sto rispondendo. Le discussioni sul fatto che queste ragioni siano buone sono soggettive e fuori tema per questa domanda; se vuoi avere quel dibattito, pubblica una domanda separata.
E per favore, ti esorto a usare un po 'di empatia qui. Indipendentemente dal fatto che tu pensi che i ricercatori abbiano ragione o torto a non condividere il loro codice in queste circostanze, ti preghiamo di comprendere che molti ricercatori hanno ragioni che si sentono valide e appropriate per loro. Cerca di capire la loro mentalità prima di criticarli di riflesso. Non sto cercando di dire che le loro ragioni siano necessariamente giuste e buone per il campo. Sto solo dicendo che, se vuoi persuadere le persone a cambiare le loro pratiche, è importante prima capire le motivazioni e le forze strutturali che hanno influenzato le loro azioni attuali, prima di lanciarti nel tentativo di convincerle ad agire in modo diverso.
Appendice: secondo la raccomandazione di Jan Gorzny di leggere l'articolo su SIAM News che cita. È informativo.