Quando va bene aprire qualcosa? [duplicare]

3

Quando va bene aprire qualcosa? Se ho un grande progetto mi piace pubblicarlo, ma è guardato giù per pubblicare, diciamo, una piccola funzione?

    
posta Witch-King 15.07.2013 - 19:41
fonte

5 risposte

15

When is it okay to open-source something?

Supponendo che tu abbia permesso legale di farlo (non sono un avvocato, se il codice in questione è originato sul tuo posto di lavoro, consulta il tuo manager e il dipartimento legale prima di pubblicare qualsiasi cosa come open source) , puoi farlo quando vuoi. Di solito prima di metterlo in mostra per tutto il mondo, le persone amano passare un po 'di tempo a ripulire il codice morto, a formattare il codice, ad aggiungere commenti e documentazione appropriati ea eventuali istruzioni speciali per la compilazione o l'esecuzione. Una volta che il tuo codice è bello e pulito, vai avanti e pubblicalo!

E no, pubblicare una piccola funzione, con un progetto dimostrativo che mostra come usarlo non sarà guardato dall'alto in basso. Qualcuno da qualche parte potrebbe trovare utile e saranno grati che tu abbia scelto di pubblicarlo.

    
risposta data 15.07.2013 - 20:02
fonte
3

Va bene ogni volta che è legale o, ovviamente, non va bene. Ad esempio, se trovi un buco di sicurezza in DNS, ti preghiamo di non aprire un exploit senza prima effettuare alcune telefonate.

Quando dovresti puoi aprire qualcosa? Nell'era attuale, i seguenti benefici sono i più salienti:

  1. Altre persone possono utilizzare i tuoi contenuti. Quindi cerca di essere utile. Ad esempio, i pacchetti npm tendono ad essere molto piccoli, spesso solo un file di poche centinaia di righe, semplicemente perché risolvono un problema a cui molte persone si imbattono spesso. E se hai abbastanza successo per attirare l'attenzione, altre persone inizieranno a lavorarci su e a migliorarlo per te. Questo è, naturalmente, il valore del business in open sourcing.
  2. Costruisce il tuo portfolio. Quando fai domanda per i lavori, è bello essere in grado di consegnare a qualcuno un link github che mostra ciò che hai fatto. Questa è una buona ragione per l'open source.
  3. Le aziende come github gestiranno volentieri il codice aperto per te. Il modello di business di Github è, se contribuisci al nostro sito con il tuo codice, è gratuito. Se non vuoi contribuire, puoi condividere. Più in generale, è ovviamente più facile lavorare con codice, documento o altro, quando non è un problema se qualcuno lo legge. Anche le mie noiose liste di cose da fare sono "aperte" sul mio piccolo sito personale. Se ti capita di leggerne una, allora non succede molto oltre al tuo spreco di 15 secondi della tua vita, ma significa che da un telefono cellulare o da un computer a caso posso semplicemente cercare un post senza autenticazione di sorta.

Ci sono molte più ragioni ed è un grande argomento, ma penso che questo si riferisca a quello che stavi chiedendo più che semplicemente documentando quando va bene. Prenderò la posizione che, a meno che tu non stia pianificando di monetizzare un codice proprietario nel prossimo futuro, probabilmente è molto buono per te e un po 'di bene per la comunità di aprire l'open source qualunque cosa tu possa.

    
risposta data 15.07.2013 - 20:14
fonte
2

Pubblicare una piccola funzione può essere molto utile, specialmente se accompagnato da un blog o qualcosa di simile che fornisce una spiegazione dello scopo. Sono stato aiutato molte volte dalle funzioni open source.

La funzionalità di GitHub incoraggia anche la pubblicazione di snippet di codice di piccole dimensioni.

Devi solo aprire il codice sorgente che possiedi o avere l'autorizzazione per pubblicare.

    
risposta data 15.07.2013 - 19:45
fonte
2

Eticamente, direi che è quasi sempre OK - nel peggiore dei casi, sarà ignorato, nel migliore dei casi, cambierai il mondo, ma più probabilmente renderà la vita di qualcuno da qualche parte un pochino meglio. Lo stai regalando gratuitamente, e non stai forzando nulla su nessuno: è un fatto etico che puoi ottenere, in generale. Ho difficoltà a trovare degli esempi in cui non può essere OK per condividere il tuo codice; l'unica cosa che viene in mente sarebbe se hai scoperto una vulnerabilità di sicurezza e hai scritto un exploit. Pubblicare l'exploit senza preavviso è discutibile e, nella maggior parte dei casi, "divulgazione responsabile" (informare il manutentore / autore e rilasciare l'informazione al pubblico solo dopo un periodo di prova abbastanza lungo da risolvere il problema, idealmente in collaborazione con i manutentori) è un modo migliore di andare.

Legalmente, la storia è diversa. Se hai scritto il codice in base a un contratto di lavoro o di consulenza, potresti non avere diritti d'autore su di esso e non puoi legalmente pubblicarlo come tuo. Il codice può anche contenere segreti commerciali o altre informazioni riservate, oppure può fare cose che sono considerate illegali in almeno alcune giurisdizioni: ad esempio (potrei sbagliarmi, ma questa è la mia comprensione) pubblicare software di riproduzione DVD in grado di riprodurre DVD crittografati è illegale negli Stati Uniti a meno che tu non abbia una licenza valida per farlo (e tale licenza è incompatibile con il software libero in generale). Anche il software scritto per eseguire crimini può essere illegale di per sé - ad esempio, se dovessi scrivere un programma che analizza automaticamente le immagini di Google Maps per trovare case che potrebbero essere facili bersagli per furto, si potrebbe sostenere che tu hanno reso il software equivalente a uno strumento di lock-picking. E poi c'è il mondo selvaggio dei brevetti, che può anche rappresentare un ostacolo per rilasciare legalmente il tuo codice al mondo.

    
risposta data 15.07.2013 - 20:57
fonte
1

is it looked-down-upon to publish, say, a small function?

Questo sembra essere il nocciolo della domanda, ed è una considerazione sociale.

Considerando la comunità open source in generale, direi che vedrebbe la pubblicazione di qualsiasi codice come open source come una buona cosa.

Ma le comunità sono composte da individui e le reazioni individuali possono essere selvaggiamente variabili. Alcuni potrebbero trovare la tua funzione utile e ringraziarti personalmente, o addirittura costruire una storia di una nuova generazione di hacker open source al di fuori di essa, giustificata o meno. Alcuni lo useranno come un'opportunità per affermare la propria superiorità e si prenderanno gioco di te per fare cose ovviamente sbagliate (cioè diverse da quello che avrebbero fatto).

Realisticamente però, è probabile che nessuno se ne accorga.

    
risposta data 15.07.2013 - 23:48
fonte

Leggi altre domande sui tag