Devo liberar o código-fonte para corrigir o erro

15

Eu tenho um bug no meu aplicativo que estou criando. Fiz uma pergunta no SO e um dos usuários me pediu para publicar ou enviar todo o código para ele, para que ele pudesse ver.

Eu entendo totalmente o pedido. É válido e compreensível. No entanto, estou tendo dúvidas se devo. Obviamente, eu lhe dou as chaves do reino e não terei nenhum recurso se ele / ela fizesse algo malicioso.

Também quero acrescentar que quero dizer desrespeito ao usuário no SO que ofereceu sua ajuda. Só estou transmitindo uma preocupação.

Quero corrigir meu bug, mas não há garantia de que essa pessoa possa corrigi-lo.

Devo liberar todo o código fonte e esperar o melhor? Ou fique com ele e tente descobrir sozinho?

O que você faria?

webdad3
fonte
3
Pergunta difícil. Bem perguntou.
yfeldblum

Respostas:

44

Crie um SSCCE (exemplo curto, independente e correto). Se o erro desaparecer quando você remover alguns detalhes adicionais do SSCCE, você o encontrou.

Caso contrário, você terá um SSCCE fornecido ou publicado que, idealmente, elimina o código que você está preocupado em compartilhar.

jzd
fonte
1
Para aqueles que não estão familiarizados com "SSCCE": acronymfinder.com/SSCCE.html (ignore a primeira definição de "Carcinoma superficial de células escamosas do esôfago"). Aha, encontrei o melhor link: sscce.org
FrustratedWithFormsDesigner
O que é um SSCCE? EDIT: Basta colocá-lo na sua resposta. :)
jprete
7
Criar o menor reprograma possível é ótimo por vários motivos, não apenas você não está dando o seu código, mas também pode encontrar o erro no processo de desenvolvimento de um exemplo.
11111 Steve
3
E o SSCCE funciona como um teste de regressão, garantindo que você nunca mais consiga esse bug. Além disso, muitas vezes você pode criar uma regra para uma ferramenta de análise estática dos SSCCEs, garantindo assim que você não apenas obtenha esse bug nunca mais, mas também nunca obtenha um bug semelhante .
Jörg W Mittag
9

Eu não faria isso, especialmente se você estiver trabalhando para outra pessoa, que provavelmente não gostaria que você entregasse o código-fonte de possíveis concorrentes.

Mas mesmo que seja seu próprio código, ele perde o objetivo do Stack Overflow, que é ter um índice de perguntas e respostas para que todos possam ler e usar. Portanto, você posta o suficiente para fazer sua pergunta, as pessoas respondem à pergunta como postada e os futuros leitores têm uma pergunta e uma resposta bem encapsuladas à sua frente.

Se você não puder postar razoavelmente o suficiente para entender o erro, tente reproduzi-lo no menor pedaço de código possível e publicá-lo. ( EDIT: O conceito de exemplo compilável curto e auto-contido mencionado por jzd.) Não publique grandes quantidades de código-fonte e não simplesmente entregue grandes partes do seu aplicativo a estranhos na Internet.

jprete
fonte
2

Se é o código que você planeja lançar como parte de um projeto de código aberto, não me preocuparia muito. Caso contrário, se esse é o código em que você trabalha no local de trabalho e contém idéias de propriedade que pertencem a outra pessoa, não o libere a ninguém. Isso pode causar muitos problemas.

Use o seu melhor julgamento!

Bernard
fonte
1

Se for o código do seu projeto pessoal e não comercial, você não terá problemas em fornecer sua fonte enquanto mantiver uma cópia dela (melhor em algum sistema de controle de versão do código fonte).

Dhanunjai
fonte
0

Seja discreto

Isso é inocente. Você deseja publicar algum código e ter a ajuda da comunidade SO. O problema é que as pessoas estão sempre assistindo.

Fui escrito para postar um script. Acontece.

Publique em casa ou em um café. Poste discretamente. Você deve fazer algumas anotações e trazê-las sem problemas.

Nota: Estou um pouco chateado com o quão ingênuo eu era. Seja esperto!

DisEngaged
fonte
Acho que a palavra que você procura é "discreta", talvez você tenha passado muito tempo programando! :)
Alien sedado