Quando va bene aprire qualcosa? Se ho un grande progetto mi piace pubblicarlo, ma è guardato giù per pubblicare, diciamo, una piccola funzione?
Quando va bene aprire qualcosa? Se ho un grande progetto mi piace pubblicarlo, ma è guardato giù per pubblicare, diciamo, una piccola funzione?
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.
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:
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.
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.
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.
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.
Leggi altre domande sui tag open-source