Come posso scrivere in modo sicuro il codice nelle mie "parole" e non plagiarizzare?

18

Comprendo il plagio e la parafrasi abbastanza bene quando si tratta di scrivere un documento di ricerca, ma quelle aree equivalenti in programmazione mi sembrano estranee. Ho cercato gli argomenti online e sorprendentemente non c'è tanto materiale sull'argomento come ci si aspetterebbe.

Quando scrivo codice e devo implementare qualcosa che non ho mai implementato prima, andrò online per cercare un esempio. Provo a leggere la documentazione in anticipo, ma a volte trovo difficile seguire. Quindi, se fallisce, cercherò l'argomento online e vi presenterò dozzine di esempi (sia sul blog personale di qualcuno che su un sito di Q & come SO). Ora di solito sono presentato con 5-10 righe di codice. Ho e NON lo copierò e incollerò mai nel mio codice, ma continuo a preoccuparmi di copiarlo letteralmente. Trovo difficile riformulare un determinato pezzo di codice, specialmente quando ci sono solo tanti modi per farlo. Mi assicuro di rinominare le variabili, cambiare la formattazione, ecc. - ma è sufficiente?

Ho sempre voluto capire questo argomento, ma ora che sto lavorando con un nuovo linguaggio e in un ambiente aziendale penso che sia particolarmente pertinente. Se qualcuno potesse spiegare o collegare ad una buona spiegazione altrove, lo apprezzerei molto!

tl; dr Non capisco quanto devi modificare e riformulare 5-10 snippet di codice trovati online per evitare il plagio. Cosa succede se c'è ben poco che puoi cambiare?

    
posta Ixrec 29.05.2011 - 19:12
fonte

5 risposte

29

Il plagio non è la stessa violazione del copyright. Il plagio sta trasmettendo il lavoro di qualcun altro come se fosse il tuo. È possibile commettere violazioni del copyright senza plagiare:

// The following code is lifted, without permission, from Windows 2000.
// Copyright © 2000 Company-metonymous-with-Redmond.
// ...

ed è possibile commettere un plagio senza violazione del copyright:

/* I wrote this function. */
int sqlite3Strlen30(const char *z){
  const char *z2 = z;
  if( z==0 ) return 0;
  while( *z2 ){ z2++; }
  return 0x3fffffff & (int)(z2 - z);
}

(sollevato da un motore di database SQL senza server di dominio pubblico)

Per evitare il plagio, potresti considerare di citare la tua fonte. Ecco un esempio (di cui ce ne sono molti) da PostgreSQL :

/* datebsearch()
 * Binary search -- from Knuth (6.2.1) Algorithm B.  Special case like this
 * is WAY faster than the generic bsearch().
 */
static const datetkn *
datebsearch(const char *key, const datetkn *base, int nel)
    
risposta data 30.05.2011 - 06:44
fonte
4

L'utilizzo di tutor / tutorial non è un plagio. Se dovessi copiare la risposta di qualcun altro qui, sarebbe un plagio. Se mi collegassi ad esso, mostrando una citazione, non sarebbe un plagio.

Controlla che la tua fonte consenta il (riuso) (licenza, permesso scritto). Penso che (è necessario controllare) qualsiasi cosa su SO implicitamente sarà dominio dei pub (o commons creative, condivide allo stesso modo ecc.) O non sarebbe davvero in grado di funzionare. (A cosa serve ottenere una risposta che sai che non puoi usare)

In breve, sento che forse non capisci bene il plagio, a meno che le definizioni non siano molto diverse nel campo accademico?

La mia regola empirica: usa tutte le risposte che semplicemente accelera i risultati che stavi ottenendo comunque. Tuttavia, se trovi un esempio che funziona magicamente ma in realtà non sai come (o perché) stai attraversando la linea di etica.

Riguardo alla modifica dei frammenti di piccole dimensioni, direi l'inverso; come integrarei piccoli frammenti nel codice senza che riorganizza: le probabilità che si inserisse sono piuttosto ridotte e ho un'opinione piuttosto strong su come dovrebbe essere il mio codice. Forse ti manca quell'opinione (leggi: esperienza) e ti suggerisco di scrivere più codice per acquisire sicurezza. Un'altra tecnica per acquisire esperienza è leggere una risposta, quindi andare ad applicarla senza accedere a nessun codice di esempio . Farai degli errori, ma imparerai anche abbastanza per

  • riproducilo la prossima volta
  • ottieni confidenza se comprendi il codice
  • sentirsi bene con te stesso

inviato dal mio HTC; per favore indulgere un errore di battitura o due

    
risposta data 29.05.2011 - 19:34
fonte
3

Se si modifica e si modifica il codice solo per evitare il plagio, si tenta solo di evitare il rilevamento di plagio. Dipende tutto dal pezzo di codice che copi. Una possibilità è quella di valutare un dato frammento di codice come solo una guida utile con limitata originalità creativa o come pratica comune che nessuno può rivendicare la paternità. L'altra possibilità è valutarla abbastanza importante da dare credito. Puoi dare credito su diversi livelli, da un semplice commento di codice per rendere il tuo codice un fork / branch ufficiale del codice originale. In breve, è meno su ciò che si può fare, ma su come si considera originale il codice e come si dà credito se necessario. Il plagio non è copiare ma copiare senza dare credito.

    
risposta data 29.05.2011 - 22:09
fonte
1

Suggerirei di usare qualunque fonte tu possa trovare per capire come risolvere un problema. E una volta che l'hai capito, rimuovi tutte queste fonti dallo schermo e scrivi la tua soluzione.

A meno che tu non abbia una memoria fotografica e copi una delle soluzioni esistenti, questo risolve il problema del plagio e / o della violazione del copyright. Ti aiuta anche costringendoti a capire veramente il problema.

Puoi fare un piccolo passo in più: la maggior parte delle soluzioni che trovi su Internet hanno un difetto o un altro. Solo perché è su Internet non significa che sia perfetto. Capire cosa non è del tutto corretto e risolverlo. In questo modo ottieni una migliore comprensione, un codice migliore e sicuramente evita qualsiasi accusa di violazione del copyright o di plagio.

    
risposta data 17.05.2015 - 21:39
fonte
0

Se non stai codificando in un ambiente accademico, perché dovresti preoccuparti per il plagio? In un ambiente professionale, importa solo se plagi gli altri dipendenti nella tua azienda. Il plagio riguarda chi riceve credito. In ogni caso, la soluzione al plagio è semplice: qualsiasi cosa tu faccia, dà credito all'autore originale. Se proveniva da una pagina Web, includi l'URL. Questo ti aiuta, perché se hai qualche domanda, potresti essere in grado di trovare di nuovo la fonte originale.

Se la tua domanda riguarda davvero la violazione del copyright, ricorda che il copyright non copre aspetti funzionali. Copre solo le scelte creative dove c'è un numero molto grande di scelte ugualmente utili. Se non riesci a modificare facilmente il codice senza interrompere la funzionalità, non si tratta di copertine di copyright (sotto la fusione o regola scènes à faire).

    
risposta data 13.08.2011 - 10:31
fonte

Leggi altre domande sui tag