Cominciamo con un disclaimer. In genere mi associo alla prospettiva della comunità del software libero secondo cui il software proprietario è eticamente discutibile e, se possibile, è meglio evitarlo. Mi rendo conto che questa prospettiva non è comunemente sostenuta nei circoli scientifici. Detto questo, a volte il software proprietario è un male necessario, o almeno non facilmente evitabile, e sono generalmente pragmatico sull'utilizzo di software proprietario quando non esistono buone alternative. Ho utilizzato software proprietario in passato, anche se attualmente l'unico software proprietario che sto utilizzando (sporadicamente) è Skype, per il quale non esistono buone alternative gratuite.
Tuttavia, considerazioni speciali si applicano in un contesto scientifico contesto. Uno di questi è già stato trattato da @David, vale a dire che in generale non è possibile "vedere all'interno" del software proprietario per vedere come viene implementato qualcosa. Detto questo, a volte il software proprietario è scritto in un linguaggio interpretato, come in Splus, e si può essere in grado di vedere parte o tutta l'implementazione di un algoritmo. Indipendentemente da ciò, il punto è generalmente valido.
Un problema separato e ovvio, che non penso nessuno abbia sollevato, è che l'uso di software proprietario costringe gli altri che desiderano utilizzare il tuo software ad acquistare il prodotto proprietario che utilizzi . Questi prodotti possono essere piuttosto costosi, soprattutto per le persone provenienti da paesi poveri. Ad esempio, Matlab, che è stato menzionato in questo thread, costa migliaia di dollari se si deve pagare una licenza da soli. Le istituzioni accademiche occidentali hanno spesso licenze di sito per software così diffusi, quindi i ricercatori non devono pagarli da soli. Personalmente sono piuttosto infelice quando dovrei utilizzare un software scritto utilizzando un linguaggio proprietario o un pacchetto che deve essere acquistato.
Una questione correlata è che gran parte, se non la maggior parte della ricerca, viene svolta utilizzando finanziamenti pubblici, ad esempio il denaro dei contribuenti. Non mi sembra desiderabile utilizzare tali fondi per acquistare software proprietario, aumentando così il profitto di alcune società. In generale, c'è qualche movimento per rendere gratuito il lavoro accademico svolto utilizzando finanziamenti pubblici. E si può facilmente sostenere che l'uso di software proprietario rende i propri prodotti scientifici meno liberi. Ad esempio, credo che ora i NIH dispongano di alcune di queste politiche. Argomenti simili potrebbero essere applicati all'uso di strumenti software.
Un problema tecnico tangenziale è che spesso è difficile far funzionare bene il software proprietario su piattaforme software libere come i sistemi gratuiti simili a Unix attualmente popolari nei circoli scientifici, ad es i sistemi basati su Linux e i sistemi BSD. Queste difficoltà includono, ma non sono limitate a
a) problemi ABI. Se si desidera compilare un'estensione C / C ++ per Matlab, ad esempio, è necessario utilizzare esattamente la versione del compilatore con cui è stato compilato il programma Matlab
b) Il programma richiede librerie obsolete o richiede librerie di essere in posti non standard.
Cito questo problema in parte perché la mia comprensione della domanda è che si tratta di chiedere informazioni proprietarie vs libere nel contesto di un utilizzo pragmatico.
Quindi, per rispondere direttamente alla domanda:
Supponendo che sto iniziando un nuovo progetto e desidero renderlo il più riproducibile possibile. Dovrei usare software libero relativamente impopolare o software proprietario estremamente popolare?
Non credo che ci sia una risposta chiara. Se non ci sono alternative valide, allora si dovrebbe usare il software proprietario, come faccio con Skype. Se esiste una versione gratuita praticabile, la userei. Tieni presente che se più persone iniziano a utilizzare il "software libero relativamente impopolare", diventerà più popolare. :-)