Domanda:
Il professore consulente chiede il codice sorgente della mia tesi di ricerca
W_H
2016-10-31 08:59:25 UTC
view on stackexchange narkive permalink

Sono uno studente di dottorato e ho scritto un programma per computer per la mia ricerca di tesi. Recentemente la mia professoressa consulente ha ottenuto una borsa di studio e vuole usare il mio programma per computer nella sua borsa di studio e mi chiede il codice sorgente del computer. Mi laureerò il prossimo maggio e ho intenzione di utilizzare questo programma nei miei altri studi. Quindi non sono disposto a condividere il codice con lei. Non ha menzionato la futura cooperazione e non collaborerò nemmeno con lei a causa delle enormi differenze nei nostri interessi e prospettive di ricerca.

Quindi come posso rifiutarla correttamente?

Nota: Non ero un RA per lei quando ho scritto il programma per computer, ma questo semestre ha ottenuto una borsa di studio e mi ha assegnato come RA.

Condividere il tuo codice con lei ti impedisce di usarlo nei tuoi altri studi? Non capisco perché la condivisione del codice sia un problema qui. I progetti di ricerca in CS e Ingegneria informatica utilizzano spesso il codice di altri gruppi senza violare le reciproche ricerche.
È fantastico che qualcuno voglia usare il tuo software! Potresti anche ottenere qualche citazione da questo, congratulazioni! Potresti persino metterlo su GitHub o qualcosa del genere in modo che possa citare anche quello e altri possono trarre vantaggio dal tuo programma.
Non sono in CS o domini correlati. Sono un esperto di neuroscienze, la citazione del codice del computer non ha senso e non mi interessa. Onestamente parlando, uno dei motivi per cui non sono disposto a condividere il codice con lei è dovuto alla sua mancanza di supporto nella mia ricerca.
_questo semestre ha ottenuto la borsa di studio e mi ha impostato come RA_ Attualmente sei la sua RA. Perché dici _a causa della sua mancanza di sostegno nella mia ricerca_?
Capisco che tu sia arrabbiato con il tuo consulente per qualsiasi motivo. Ma potresti perdere molto rifiutando di condividere il tuo codice (alienando il tuo consulente, non ricevendo buone lettere di raccomandazione da lei quando ti laurei, ecc.). D'altra parte, non riesco a pensare a una sola cosa che guadagnerai rifiutandoti di condividere.
Se hai scritto il programma per la ricerca della tua tesi, non appartiene alla tua istituzione?
Non ne sono sicuro, ma la tua tesi di dottorato non dovrebbe essere in qualche modo nuova e originale? E se fosse stato compromesso da una parte della ricerca dell'OP prima che potesse pubblicarlo a suo nome? Il mio consiglio: consegna il codice, ma assicurati di essere accreditato ovunque venga utilizzato.
@W_H In generale, non si cita il codice del computer, ma si citano i documenti che per primi hanno introdotto o descritto il codice del computer. Un documento citato per la sezione dei metodi sembra esattamente lo stesso sul tuo CV o h-index (e per il comitato di ruolo) come un documento che è citato per la sezione delle conclusioni.
@R.M. mentre un documento è certamente preferibile, puoi anche citare il codice - e dovresti farlo se non c'è ancora carta.
([Riferimento sulla disponibilità del codice sorgente utilizzato negli articoli di ricerca informatica] (http://academia.stackexchange.com/q/29137/452))
Il mio consulente è molto più esperto e quindi è un ricercatore molto più abile di me. L'idea che il mio consigliere prendesse un'idea approssimativa di cui avevo discusso con lui e dedicasse lui stesso una notevole quantità di sforzi a trasformarla in una sua ricerca (da pubblicare solo sotto il suo nome) sarebbe stata terrificante per me. È molto improbabile che qualcuno che si sta solo bagnando i piedi nella ricerca possa competere con qualcuno che è già un ricercatore affermato. Non conosco l'etica generale del code sharing, ma non vorrei essere consigliato da nessuno che cerchi di competere con i propri studenti in questo modo.
Cosa farebbe con il codice sorgente? Ti suggerisco di contattare l'ufficio del difensore civico presso il tuo istituto. Dovrebbero essere in grado di darti una migliore comprensione di quali sono le tue opzioni e, se necessario, aiutarti a risolvere il problema con il tuo consulente.
@JimmyB: Se il trasferimento di informazioni da un dottorando al consulente del candidato è considerato "trapelato", qualcosa sembra fondamentalmente sbagliato nel progetto di dottorato. (Personalmente, mi spingerei a dire che non è neanche lontanamente "trapelato" fintanto che le informazioni vengono trasferite solo tra persone della stessa università, ma da quello che ho letto su questo sito nel corso degli anni, sono consapevole che non tutti i luoghi sono quella cooperativa per cominciare.)
Se questo codice fosse una parte importante della tua ricerca di dottorato, idealmente dovresti condividerlo con tutti (open source o in modo simile). Non condividere nemmeno con il tuo supervisore rende la trasparenza della tua ricerca piuttosto discutibile. Non sto mettendo in dubbio le tue intenzioni, puoi avere tutti i motivi per non collaborare con il tuo supervisore, ma in generale tenere tutto per te non è una buona politica.
Nel mio particolare sottocampo, se il codice non è condiviso almeno con i revisori interni e con tutti gli altri in una particolare collaborazione, l'articolo semplicemente non viene pubblicato. Sono piuttosto stupito che tu sia / sia stato in grado di presentare una tesi che utilizza un codice nuovo / nostrano senza condividerla con il tuo supervisore. Se vuoi davvero andare avanti con questo, assicurati di essere su un terreno legalmente solido.
@Marianne013: Sulla base della domanda, in realtà non ci sono molte informazioni su cosa sia effettivamente il codice. * * Il codice è il "risultato" o la "ricerca", o è semplicemente uno strumento per semplificare la ricerca, o solo una dimostrazione della ricerca effettiva? Posso pensare a molti casi in cui il "codice nuovo / interno" è stato creato semplicemente per scopi di dimostrazione interna e non è mai stato in uno stato per essere condiviso (ad esempio a seconda delle specifiche della configurazione del sistema OP). Se è così, però, l'OP dovrebbe avere ancora meno motivi per temere di essere scoperto in base al codice.
Se il codice era una parte significativa della tua dissertazione, dovrebbe far parte della tua dissertazione. Immagino di non capire come la tua dissertazione avrebbe potuto essere accettata se il codice sorgente non fosse stato incluso da qualche parte. Se è solo un codice che hai scritto per aiutarti a fare o spiegare qualcosa, potresti dover considerare le politiche IP della tua scuola. In genere, ti possiedono, quindi potresti non avere effettivamente scelta.
Se si tratta solo di ottenere il credito del tuo lavoro, rendi prima disponibile il codice in tutto il mondo. Quindi dalle solo il link. In altri casi, non so come procedere.
Andrò oltre gli altri commentatori: se non condividi il tuo codice sorgente, non è ricerca, è un aneddoto. Non può essere pubblicato e non deve essere utilizzato in nessuna delle tue pubblicazioni. È * cattiva scienza * non pubblicare codice di ricerca.
Potresti voler esaminare le condizioni per ottenere la tua borsa di ricerca - potrebbe benissimo essere che il codice che hai scritto non è tuo, ma delle università.
@KonradRudolph: Come ho indicato in [il mio altro commento] (http://academia.stackexchange.com/questions/79101#comment194597_79101), penso che il tuo commento faccia molte supposizioni che non sono in alcun modo basate su ciò che sappiamo da la domanda. Se un documento presenta un algoritmo, un concetto di interazione o un'altra cosa programmabile e quell'algoritmo è definito in modo inequivocabile nel documento o nei materiali aggiuntivi, ciò è del tutto sufficiente per prendere sul serio la ricerca. Non è in alcun modo implicito che un'implementazione concreta dell'algoritmo o del concetto stesso * debba * essere reso accessibile, ...
... e molto meno qualsiasi codice circostante come un'interfaccia utente per eseguire l'algoritmo / concetto, codice per salvare e caricare casi di test e altre utilità periferiche che potrebbero essere state utili all'OP (e forse anche ad altri che usano il loro codice), ma semplicemente non fanno parte del contributo scientifico.
@O.R.Mapper Fondamentalmente non sono d'accordo. Sembra che tu definisca in modo restrittivo il risultato della ricerca come la diffusione della conoscenza. Tuttavia, sono più interessato all '* aumento cumulativo * della conoscenza. Rifiutando di rendere disponibili implementazioni utilizzabili di algoritmi, si induce altre persone a sprecare tempo in banali reimplementazioni, riducendo così il loro tempo a svolgere un lavoro utile. Potresti ancora aver contribuito alla scienza, ma lo hai fatto in modo palesemente inefficace, senza una buona ragione.
@KonradRudolph: Personalmente, sono un appassionato fan e collaboratore di progetti open source, e mi piace fornire più o meno tutto ciò che faccio per il riutilizzo online quando mi è permesso. Nonostante ciò, considererei assolutamente non etico, ad esempio, rifiutare un documento che comunichi chiaramente i suoi risultati e tutto ciò che ha portato a tali risultati per la sola ragione che l'autore fornisce solo le informazioni su come ricostruire tutti gli strumenti usati invece degli strumenti loro stessi. Farlo è un'enorme comodità e una buona pratica, ma * richiederlo * attirerebbe l'attenzione troppo lontano dai risultati ...
... secondo me. Che ne dici di uno strumento che è stato costruito in modo tale da non poter essere integrato con il mio codice di ricerca? Questo conta come "strumenti pubblicati" o come "strumenti non pubblicati"? Che dire di uno strumento pubblicato che funziona solo su un sistema operativo fortemente personalizzato che a sua volta non può essere pubblicato? Forse abbiamo bisogno di un canale di pubblicazione separato per i materiali / strumenti di ricerca (al contrario dei risultati) che contribuisca al modo in cui i ricercatori vengono valutati, ma non vedo alcun motivo per fondere i due. ...
... Infine, ci sono [molte buone ragioni per cui il codice di ricerca potrebbe non essere pronto per la ridistribuzione] (http://academia.stackexchange.com/questions/37370#42806). Tuttavia, questo sta portando un po 'fuori tema - il mio punto in questa domanda era piuttosto che non abbiamo abbastanza informazioni per valutare quanto sia cruciale per la loro ricerca la diffusione del loro codice, indipendentemente dal fatto che li indichi alla pratica generalmente buona di aiutare i colleghi ricercatori fornendo strumenti convenienti.
se decidi di condividere, considera di farlo con licenza gratuita - GPL v3 +
Quindi, sei una ricerca che non rende riproducibile la sua ricerca trattenendo volontariamente parte dei tuoi strumenti di raccolta / analisi dei dati? Purtroppo, questo probabilmente ti mette sulla buona strada per la permanenza nel sistema statunitense ... :-(
Questa persona è nel tuo comitato?
Leggendo alcune delle risposte a questa domanda, c'è un'altra domanda correlata: e se credessi che il tuo codice farebbe più male che bene alla società?Per esempio.un metodo open source per far cadere efficacemente un'economia, diciamo, con eserciti di twitter-bot ... sarebbe immorale condividere quel codice?
Undici risposte:
Raghu Parthasarathy
2016-10-31 09:49:53 UTC
view on stackexchange narkive permalink

Uno dei motivi per cui la scienza ha avuto così tanto successo è che gli scienziati trattano la conoscenza e gli strumenti come beni pubblici. Non accumuliamo conoscenza, ma piuttosto scriviamo articoli, condividiamo tecniche, offriamo suggerimenti, ecc. Ci sono certamente casi in cui la condivisione non è vantaggiosa, ma questi sembrano non applicarsi qui. Quindi ovviamente dovresti condividere il tuo programma per computer! Dovresti condividerlo con le persone che ti piacciono, le persone che non ti piacciono e le persone che non conosci nemmeno.

I commenti non sono per discussioni estese; questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/48049/discussion-on-answer-by-raghu-parthasarathy-advisor-professor-asks-for-my-disser).
Weckar E.
2016-10-31 15:45:00 UTC
view on stackexchange narkive permalink

Idealmente in questa situazione dovresti rendere il tuo programma pubblicamente disponibile.

Dare ad altri l'accesso a questo codice non ti impedisce di usarlo e ti aiuterà a costruire una reputazione nel tuo campo.

Non solo, ma rendendolo disponibile pubblicamente anziché solo al tuo consulente non c'è il rischio che rivendichi il tuo lavoro come proprio, che presumo sia la tua preoccupazione principale con l'attuale equilibrio di potere della tua relazione.

Se lo pubblichi online con una licenza software gratuita (ad esempio GNU GPL, Apache Software License ecc., Vedi [questa pagina] (https://www.gnu.org/licenses/license-list.html) per un elenco e commenti ) - sarà improbabile che possa essere utilizzato impropriamente dal tuo professore.
@einpoklum: c'è una grande differenza tra una licenza copyleft (come la GPL) che richiede che le copie rimangano open source, e le licenze MIT o BSD che consentono alle persone di utilizzare il codice come parte di un progetto closed-source. Scegli quello che desideri in base a come desideri che le persone possano utilizzare il tuo codice.
@PeterCordes: Hai ragione, ma - il codice non sarebbe ancora utilizzabile come qualcosa che una terza parte può presentare come proprio lavoro a qualche comitato di sovvenzione o altro ente finanziario.
@einpoklum: Ah sì, quel tipo di abuso. Penso che anche se rendessi il tuo codice di pubblico dominio, sarebbe comunque un plagio se qualcun altro ne rivendicasse il merito. ("Guarda questa commedia che ho scritto, si chiama * MacBeth *"). La differenza è che puoi intraprendere azioni legali direttamente, perché violerebbero anche i tuoi diritti di copyright e commetterebbero plagio / frode (contro il comitato per le sovvenzioni, non contro di te).
R.M.
2016-10-31 20:17:14 UTC
view on stackexchange narkive permalink

In quanto persona che lavora nel campo dell'informatica scientifica, sono d'accordo con ciò che dicono gli altri e probabilmente farei un ulteriore passo avanti. Per dirla in modo iperbolico:

Rifiutare richieste ragionevoli di codice utilizzato in un articolo pubblicato è una condotta etica.

Se ti sei affidato all'output di un programma per produrre il tuo risultato scientifico, allora Il programma fa parte dei "materiali" della tua carta e si applicano le stesse linee guida per la condivisione di altri materiali utilizzati per la realizzazione della carta. Proprio come sei eticamente obbligato a rendere ragionevolmente disponibili (non disponibili in commercio) plasmidi, linee cellulari, ceppi di topi, ecc. Che hai generato per la tua ricerca pubblicata, sei anche obbligato a rendere disponibile il (non disponibile in commercio) codice che hai generato per la tua ricerca pubblicata.

Questo è ancora più applicabile al codice, poiché il codice non è solo un "materiale", ma anche un "metodo". Anche se dovresti certamente descrivere l'algoritmo nel testo, in genere c'è un gran numero di dettagli che sono evidenti solo esaminando il codice. È improbabile che un ricercatore sia adeguatamente in grado di ricapitolare i risultati di una reimplementazione dell'algoritmo dalla sola sezione dei metodi. Ciò è particolarmente vero nel caso (improbabile?) Di avere un bug. Non rilasciare codice equivale a dire semplicemente "Abbiamo purificato la proteina" o "Abbiamo misurato la X" nella sezione dei metodi: mancano i dettagli necessari affinché qualcuno riproduca adeguatamente i tuoi risultati.

Ovviamente, " ragionevolmente "è presente nei requisiti di rilascio, ma i rifiuti" ragionevoli "per i materiali di laboratorio umido tendono a considerare la disponibilità e il tempo: attualmente non ce n'è abbastanza da condividere o sarebbe un onere significativo per il laboratorio inviarvelo. Questi tendono a non richiedere il software: puoi fare tutte le copie che vuoi ed è economico farlo.

Il rifiuto "ragionevole" del software tende a creare problemi di licenza. Ad esempio, se non hai la capacità legale di distribuire il codice a causa delle librerie che hai utilizzato. Oppure, se il tuo istituto vende il codice in commercio, potresti dover richiedere ad altri di ottenere il software in commercio.

Nel tuo caso, non sembra che tu abbia un motivo basato sullo sforzo o sulla licenza per rifiuto. Non sembra nemmeno che tu ti stia rifiutando a causa della potenziale concorrenza ("enorme differenza nei nostri interessi di ricerca e prospettive"). Invece, sembra che tu stia più rifiutando perché stai nutrendo un rancore. Questo non è buono. Certamente accade che gli altri agiscano in quel modo, ma penso che la maggior parte delle persone sarebbe d'accordo sul fatto che rifiutare richieste ragionevoli di condivisione di metodi e materiali a causa del risentimento non sia etico.

Spero che ora mi forniranno i codici per il modello meteorologico del Met Office del Regno Unito, perché qualcuno ha sicuramente pubblicato qualcosa con esso. Se si tratta di una cattiva condotta accademica ...
E tanti articoli sulle simulazioni con ANSYS / Fluent ..
Sembra che tu abbia questo, ma la tua risposta non spiega davvero perché il codice sorgente sviluppato dall'OP deve essere rilasciato, ma gli strumenti potenzialmente proprietari utilizzati dall'OP (ad esempio matlab) no.
Non ha bisogno di rilasciare MATLAB perché MATLAB è già disponibile per tutti gli scienziati (e altri). (lo stesso per altri strumenti)
Concordo con la tua risposta, ma nel caso della domanda originale non c'è pubblicazione da citare subito.
Rispettosamente ma categoricamente non sono d'accordo con l'affermazione che "Se ti sei affidato all'output di un programma per produrre il tuo risultato scientifico, quel programma fa parte dei" materiali "del tuo articolo". Su questa base, dovrei rivendicare la proprietà del codice sorgente di Microsoft Word per quella fantastica ricetta di peperoncino che ho scritto dieci anni fa.
@DavidW Solo perché si tratta di materiali, non significa che possiedi tutti i diritti su di esso. Ad esempio, se facessi uno studio di ricerca sul Viagra, il Viagra sarebbe un materiale per il tuo articolo. Ciò non significa che puoi rivendicare la proprietà del Viagra. La maggior parte della risposta riguarda solo il codice che hai generato tu stesso. Come afferma David Balažic, se il codice (o altro materiale) è stato ottenuto tramite terze parti, è possibile indirizzare le persone che richiedono di rivolgersi a quelle stesse terze parti.
@VladimirF Se scrivessi loro con un'autentica indagine scientifica basata su qualcosa che è apparso in una ricerca pubblicata, il Met Office ti aiuterebbe. Ovviamente non consegnerebbero il codice sorgente completo al loro modello a qualcuno che vuole sfruttarlo commercialmente o evitare di pagarlo per le previsioni meteorologiche.
"Per dirla in modo iperbolico" - No. Questa * non * è un'iperbole. È la verità letterale. E fortunatamente è sempre più gestito in questo modo dalle istituzioni (anche se i progressi sono stati lenti).
@VladimirF The Met Office fornisce un servizio finanziato, non la pubblicazione di Ph.D. dissertazioni o articoli scientifici di qualsiasi genere. La tua analogia non regge l'acqua.
@EJP Sicuramente stai scherzando https://scholar.google.co.uk/scholar?q=met+office+journal+of+atmospheric+sciences+unified+model&hl=cs&as_sdt=0&as_vis=1&oi=scholart&sa=X&ved=0ahUKEwjq48L7xQor Reality , jwg ha probabilmente ragione e le ricerche di MetOffice potrebbero aiutare in alcuni casi. Ma non possono distribuire il codice che hanno usato per la loro ricerca.
@VladimirF FYI http://earthscience.stackexchange.com/questions/6552/paper-result-validation-and-the-scientific-method-in-earth-science
Dylan Richard Muir
2016-10-31 15:42:33 UTC
view on stackexchange narkive permalink

Se hai scritto il codice come parte del tuo lavoro come candidato al dottorato di ricerca e sei stato considerato un dipendente dell'istituto come candidato al dottorato, l'istituzione potrebbe possedere i diritti di proprietà intellettuale sul codice che scrivi regole per il noleggio). Questo ovviamente dipende dalle leggi del paese in cui risiede la tua istituzione.

Se hai scritto un codice essenziale per alcuni lavori futuri del tuo supervisore e che riflette un importante contributo intellettuale, allora (a) dovrebbe essere citato se esiste una pubblicazione che descrive il codice; o (b) dovresti essere un autore di pubblicazioni che utilizzano il codice.

In ogni caso hai la responsabilità morale (e possibilmente legale) di condividere il codice; il tuo supervisore ha la responsabilità reciproca di riconoscere adeguatamente il tuo contributo. Idealmente dovresti pubblicare il tuo metodo (ad esempio Frontiers Neuroinformatics), e poi può essere citato nel lavoro accademico.

Molto spesso un dottorando è uno studente, non un dipendente.
Spesso, ma non sempre.
Scrivere codice è a volte, ma ** non sempre **, un contributo intellettuale che merita la paternità. (Il fatto che sia "essenziale" o meno per il lavoro non determina necessariamente se l'accreditamento della paternità sia appropriato.)
@VladimirF Tali regole sulla proprietà intellettuale possono essere applicate anche agli studenti.
@ff524: Hai ragione. C'è una grande differenza tra la scrittura di una funzione di plottaggio e lo sviluppo di una toolchain di analisi. Ho modificato leggermente la mia risposta.
IANL, ma il manuale dello studente della mia università dice che l'università può rivendicare qualsiasi cosa sviluppata come corso / tesi / dissertazione studentesca come proprietà intellettuale dell'università. In pratica ci sono solitamente diverse startup che si stanno formando all'interno dell'università e successivamente scorporate come società indipendenti. Non sono sicuro di come gestiscono il trasferimento dei diritti di proprietà intellettuale.
Cosa dice della comunità in cui vivo che ho visto IANL e invece di pensare che potesse essere un errore di battitura per IANAL, ho subito pensato: "eh, l'Iowa ha un National Lab?" ...
Jeff
2016-10-31 18:46:40 UTC
view on stackexchange narkive permalink

Molte persone hanno menzionato la possibilità di rendere disponibile il tuo codice, e io lo sostengo completamente. Ma per essere più specifici, mettilo su GitHub.

I repository pubblici sono gratuiti, conserva una cronologia delle versioni del tuo lavoro in modo che anche tu non possa rovinarlo in un terminale, e altri possono diramare il tuo codice in un'altra direzione e svilupparlo, il tutto mantenendo il riferimento appropriato a te come creatore. Puoi includere la tua licenza nel repository ; spesso ne vuoi uno che consenta l'utilizzo gratuito ma richiede una citazione. GitHub lo automatizza anche per te.

Puoi anche spiegare il tuo codice e lasciare collegamenti al tuo sito web / lavoro pubblicato / ecc. Utilizzando markdown nel file readme.md

Quindi, quando qualcuno come il tuo professore chiede il tuo codice, condividi semplicemente il tuo link GitHub.

Si Questo. Il software open source si occupa di questo problema da anni e molti [accordi standard] (https://github.com/blog/1530-choosing-an-open-source-license) ti consentono semplicemente di concedere in licenza il software.
Questo è un buon consiglio e GitHub è sicuramente ottimo, ma quale parte di questo risponde alla domanda?
@RyanfaeScotland Come eseguire la linea d'azione suggerita non ti sembra rilevante?
Qualcuno chiede come rifiutarsi di condividere qualcosa e tu fornisci una risposta sulla migliore piattaforma per condividerlo con il mondo. Quindi no, ho paura che in questo caso non mi sembra rilevante. Devo dire che sono della scuola di pensiero che la maggior parte di queste risposte non rispondono effettivamente alla domanda, ma ho ripreso questa in quanto sembra anche un ulteriore passo lontano da quelle risposte.
@RyanfaeScotland Penso che sia un'aderenza inutilmente pedante a una lettura letterale della domanda, che non è il modo in cui funziona StackExchanges. La domanda era * "come non condividerlo" * e la risposta corretta è * "in realtà dovresti condividerlo ed ecco perché" *, mentre la mia risposta aggiunge semplicemente * "e inoltre, ecco come puoi condividerlo in un modo che dovrebbe risolvere qualsiasi problema di condivisione. "*
@JeffL. Hmmm sono ancora in disaccordo e tendo a pensare di rispondere alla domanda effettiva che viene posta come la cosa giusta da fare (pedanticamente letteralmente o in altro modo). Tuttavia, le altre risposte e voti sembrano supportare il tuo pensiero. Grazie per aver dedicato del tempo per spiegare.
@RyanfaeScotland Sono grato per il tuo atteggiamento premuroso e spero che la mia spiegazione abbia un po 'più senso. Presumeresti sempre che il richiedente conosca la migliore linea d'azione * X * quando fa una domanda mirata, come faccio a * X *? Io stesso non presumo nemmeno che l'OP conosca il modo migliore per descrivere il problema, perché abbastanza spesso mi trovo in quella situazione. Coloro che sanno come porre le domande migliori sono spesso (già) esperti stessi. Al contrario, quando non sono un esperto di un determinato argomento, mi affido a commenti / risposte per affinare la mia domanda o ampliare la mia prospettiva.
@Jeff In realtà, se metti dei contenuti su GitHub senza una licenza, è * automaticamente * sotto la licenza MIT, che è una delle più permissive (ad esempio, consentendo il riutilizzo commerciale)! Il MIT richiede tuttavia l'attribuzione; e questa è la minima protezione che puoi ottenere oltre il dominio pubblico. (In altre parole, "tu ** [devi] ** includere la tua licenza ...," perché se non lo fai (esplicitamente), includi ancora (implicitamente) la licenza MIT.)
@JeffL Non presumo che l'OP conosca la soluzione migliore e potrebbe essere la soluzione per la quale hanno bisogno di aiuto peggiorerà la situazione, lo consiglierei ma risponderò comunque alla domanda. Prendi questa Q come esempio, se avessi il rappresentante la mia risposta sarebbe 'Se sei impegnato a rifiutare, puoi farlo educatamente come segue ... tuttavia tieni presente che il codice potrebbe appartenere all'università come parte delle condizioni sappi anche che potresti bruciare i tuoi ponti e limitare il bene che può derivare dalla condivisione del tuo lavoro ". Purtroppo non ho il rappresentante (forse a causa delle mie risposte troppo letterali!)
Esistono altri sistemi di controllo della versione oltre a Git. E Github supporta solo Git.
@jpaugh: Sono abbastanza sicuro [Github non ha una "licenza predefinita"] (https://help.github.com/articles/open-source-licensing/). Citando: _ "[L '] assenza di una licenza significa che si applicano le leggi sul copyright predefinite. Ciò significa che conservi tutti i diritti sul tuo codice sorgente e che nessun altro può riprodurre, distribuire o creare lavori derivati ​​dal tuo lavoro." _ ( Github si riserva tuttavia alcuni diritti, tramite il ToS.)
Grazie @You. Devo averlo letto male, tanto tempo fa. Sì, GitHub dovrebbe riservarsi abbastanza diritti per fornirti effettivamente il servizio, anche se hai riservato tutti i diritti in altro modo.
Murphy
2016-10-31 15:58:26 UTC
view on stackexchange narkive permalink

È generalmente considerata una buona pratica pubblicare codice che utilizzi per ricerche / analisi relative a cose che pubblichi. Non tutti lo fanno, ma molte persone non seguono le migliori pratiche.

Non pubblicarlo è come mantenere una parte dei tuoi metodi segreti o usare chimica riservata.

Se l'hai usato per altre pubblicazioni, non dovresti solo fornirglielo: dovresti fornirlo a tutti coloro che potrebbero voler ispezionare / replicare il tuo lavoro.

Inoltre, come qualcuno che lavora in un dipartimento di neurologia che scrive molto codice: Sì, le citazioni per l'analisi contano ancora positivamente, non tanto quanto le citazioni per cose nella tua specifica specialità, ma ti mostra come qualcosa di più ben arrotondato.

Mołot
2016-10-31 15:43:12 UTC
view on stackexchange narkive permalink

Il codice utilizzato nella ricerca dovrebbe essere sottoposto a peer review come qualsiasi altro metodo comunque.

Per prima cosa: scopri chi è il proprietario! Non sono un avvocato. A seconda della situazione, del paese, ecc., Il codice potrebbe già appartenere all'istituto, al gruppo di ricerca ecc. Prima di rifiutare, assicurati innanzitutto che sia davvero una tua decisione.

Se è tua, suggerisco di renderla licenza che richiederà di menzionarne l'uso quando vengono utilizzati i risultati e di condividere i miglioramenti con te.

In pratica (e sfortunatamente), i costi per rivedere il codice (potenzialmente grandi quantità) al livello richiesto sono proibitivi, e non è nemmeno chiaro che le stesse persone che stanno rivedendo l'articolo dovrebbero rivedere il codice (in parole povere, non tutte i ricercatori sono bravi programmatori). Inoltre, un sacco di codice di ricerca è (francamente) hackerato insieme appena prima della scadenza al punto che rivederlo sarebbe (a) un incubo empio e (b) improduttivo.
Dico questo come qualcuno che ha passato molto tempo negli ultimi due anni a rivedere il codice in un contesto di ricerca: puoi farlo, ma ci vogliono anni e devi essere disposto a lasciare che le persone incorrano in debiti tecnici (significativi) solo prima delle scadenze e (si spera) ripagalo in seguito. Non è l'ideale, ma il modo in cui il mondo accademico è strutturato (ovvero dare la priorità ai documenti rispetto alla qualità del codice) rende difficile fare molto di più.
@StuartGolodetz anche se il codice non può essere rivisto, dovrebbe almeno essere revisionabile, giusto? Se qualcuno dubitasse che i risultati del programma siano buoni, dovrebbe essere in grado di vedere di persona?
Sì, in linea di principio. In pratica, tuttavia, stipulare che tutto il codice sorgente deve essere rilasciato come condizione per la pubblicazione (che è il modo ovvio per cercare di imporlo) limiterebbe solo chi può pubblicare documenti - in particolare, le questioni relative alle licenze e alla proprietà intellettuale possono impedire alle persone di rilasciando il loro codice sorgente anche quando lo desiderano. Sbaglierei dalla parte di premiare le persone che pubblicano il loro codice sorgente piuttosto che punire coloro che non lo fanno. (Disclaimer: pubblico il mio codice sorgente e voglio una torta, quindi non sono imparziale.)
"Il codice utilizzato nella ricerca dovrebbe essere sottoposto a revisione paritaria come qualsiasi altro metodo comunque". - Non sono convinto che sia utile in alcun modo spendere risorse scientifiche di peer review per valutare makefile che copiano i nostri documenti sul nostro server di condivisione interno.
E.P.
2016-11-03 01:01:38 UTC
view on stackexchange narkive permalink

Leggi le politiche della tua istituzione.

La tua posizione presume che tu possieda il copyright per detto codice, e questo è falso in generale. Ciò dipenderà fortemente dall'università che frequenti, dal tuo status formale di studente / personale e dalle istituzioni che ti finanziano, ma ci sono molti casi in cui il copyright per i risultati della ricerca di un dottorando spetta all'università. Inoltre, in questi casi, la persona responsabile di questa parte di proprietà intellettuale è solitamente il tuo diretto superiore, ovvero il tuo supervisore.

Ciò significa che il tuo supervisore potrebbe avere il diritto legale di richiedere che le dai il codice e che ti astieni dall'usarlo in ulteriori ricerche al di fuori della tua attuale istituzione. Ciò significa che la tua prima tappa qui deve essere verificare che non sia effettivamente così.

user21264
2016-11-01 17:05:56 UTC
view on stackexchange narkive permalink

Uno dei miei amici si è trovato in una situazione simile. Non era disposto a dare le sue note LaTeX al nostro capo, perché un ex postdoc del gruppo lo aveva fatto prima e il nostro capo (secondo loro) pubblicava cose nelle note senza dare a questo ex postdoc co-autore. Di conseguenza, il rapporto tra il mio amico e il mio capo in quel momento si è inasprito e il mio amico ha perso alcune opportunità di lavoro a causa di pessime lettere di raccomandazione.

Io, d'altra parte, condivido sempre i codici. I codici non sono pensati per i consulenti che raramente hanno il tempo di immergersi in essi. Sono pensati per i futuri studenti laureati che hanno il tempo di imparare da loro e, a volte, capita di trovare insetti a cui non abbiamo mai pensato.

Potrebbero esserci alcune regole, come hanno detto altri poster, sulla condivisione della proprietà intellettuale generata mentre si lavora all'università, e il tuo consulente potrebbe provare a farle rispettare, a seconda del tuo rapporto con loro. Invece di rifiutare, preferirei chiedere di essere citato correttamente e, se è necessario del lavoro extra per aiutarla a eseguire il codice, dovresti dirle che desideri la co-autore degli articoli.

Questo è il motivo per cui pubblicare il codice online su GitHub è l'ideale. Come sarebbe pubblicare le note su ARXIV nel caso dei tuoi consulenti. Se sono già pubblicati, il consulente avrà difficoltà a plagiarlo.
Stephan Branczyk
2016-11-03 17:04:00 UTC
view on stackexchange narkive permalink

Se devi rifiutare, rifiutare di persona o rifiutare per telefono. Non mettere nulla per iscritto, a meno che tu non sia assolutamente sicuro dei tuoi diritti.

Dato che il tuo consulente ti sta rendendo assistente di ricerca, tieni presente che potrebbe implicitamente acquistare anche la tua futura collaborazione. Dopo tutto, se il tuo codice è sufficientemente complesso, potrebbe richiedere la tua esperienza per installarlo, capirlo, eseguirlo correttamente e possibilmente modificarlo.

In tal caso, potresti sfruttare il fatto che non hai il tempo di lavorare con lei, né il tempo di ripulire il tuo codice per renderlo più leggibile o utilizzabile in questo momento. Oppure potresti semplicemente rifiutare la sua richiesta senza giustificarti con lei (ma ancora una volta, non mettere niente di tutto questo per iscritto, diglielo di persona o al telefono, se non sei assolutamente sicuro dei tuoi diritti).

E alcune persone hanno detto che potresti voler essere citato per il tuo codice sorgente, ma potrebbe anche essere che non vuoi che il tuo nome sia associato al suo progetto. Quindi potresti chiedere anche quello, se lo desideri.

O forse, potresti fissare l'obiettivo di rilasciare il codice sorgente, ma solo un anno o due da adesso, quando sarà il momento, lo sarà anche tardi per lei per usarlo nella sua borsa di studio. O forse potresti rilasciare una vecchia versione meno utilizzabile del codice.

O se la tua relazione è finita davvero male, potresti semplicemente dirle che non le aiuterai e che non vorresti che lo facesse mai contattarti di nuovo. E poi, potresti creare un filtro che ti assicuri di non vedere mai più i suoi messaggi di posta elettronica.

Il punto è che hai molte opzioni. È solo che non sono molto chiaro sul motivo per cui hai rifiutato la sua richiesta. Se conoscessimo il motivo esatto, forse potremmo fornirti una risposta più esatta.

Joel
2016-11-04 10:09:09 UTC
view on stackexchange narkive permalink

Ecco cosa consiglierei: scrivi un articolo che utilizzi e spieghi il codice. Quindi, quando condividi il codice, chiedi a chiunque lo condividi di citare il tuo articolo.

Un buon esempio è qui: http://www.modelinginfectiousdiseases.org/. Leggi l'ultima riga, dove del codice è distribuito con la riga "se usi uno qualsiasi dei programmi nella tua ricerca, ti chiediamo di fare riferimento a ..."

Specialmente nel tuo caso in cui dici di avere interessi di ricerca diversi, e così il tuo consulente non sarà in competizione con te, stai solo buttando via citazioni gratuite (e buone lettere di raccomandazione) se ti rifiuti di condividere. Il fatto che nessuno abbia dato una buona risposta a "come rifiutare" è perché non possiamo pensare a nessuna buona giustificazione per farlo. Se hai davvero bisogno di una risposta a questa domanda, devi spiegare qual è il motivo per farlo. "Non voglio collaborare" non è un buon motivo.

Non sono convinto che un articolo su una serie di routine di utilità che combina fogli di calcolo da diversi file Excel in un unico file Excel sarà accettato ovunque. Semplicemente non è interessante come ricerca. No, l'OP non dice che questo è ciò che fa il loro codice, ma non dice nulla oltre a "un programma per computer per la mia ricerca di tesi", quindi è del tutto possibile che il loro programma per computer sia pensato per compiti così "umili". Questa risposta si applica solo al caso limitato in cui il programma per computer è l'effettivo oggetto della ricerca.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...