Modificações:Open Source

Fonte: Stardew Valley Wiki
Saltar para a navegação Saltar para a pesquisa

Índice

Um mod é considerado Open Source caso seu código fonte seja público e coberto por uma licença de código aberta. Modders são fortemente encorajados a fazer seus mods e pacotes de conteúdo (pack contents) open-source.

Por que open source e tão importante?

É importante para que a comunidade de mods se mantenha a longo prazo, e também tornando a experiência do jogador melhor.

Como isso beneficia os outros
Dependendo da licença de open source que você escolher, outros poderão...
  • ver o seu código;
  • fazer mudanças em uma cópia do seu código;
  • propor atualizações, mudanças, ou correções;
  • fazer atualizações não oficiais;
  • ajudar melhor os usuários com perguntas de suporte observando o código.
Isso é mais notório ao analisarmos as estatísticas: apenas 1% dos mods open-source quebraram (pararam de funcionar) quando a versão 3.0 do SMAPI foi lançada, comparado com os 51%dos mods de código fonte fechado (e isso não conta mods de código fonte fechado que nunca foram atualizados para versões anteriores do jogos/SMAPI).
Como isso beneficia você
Além dos benefícios acima, uma licença é muito importante se você aceitar contribuições de outras pessoas.
Sem uma licença os colaboradores têm direitos autorais para as alterações que fizerem no seu mod (como código, tradução ou alterações de conteúdo). Ao contribuir para o seu mod, eles estão implicitamente lhe dando permissão para usar o conteúdo/alterações na maneira como eles são usados atualmente. Mas como você não possui mais os direitos do mod inteiro, você não pode alterar como eles são publicados (por exemplo, dividir o mod em componentes menores, copiar código em outro mod, etc) sem obter permissão de cada contribuidor anterior. E se alguns desses contribuidores não puderem ser alcançados, você está sem sorte, a menos que você retire suas contribuições do mod completamente.
Com uma licença, todas as contribuições são automaticamente cobertas pela licença também. Isso significa que você pode fazer qualquer coisa com as contribuições que a licença permite.

Perguntas frequentes

E caso eu não goste de alguma alteração proposta?
Você ainda tem o controle total do seu código original e página do mod; ninguém poderá fazer mudanças em ambos sem a sua aprovação! Se você quiser, poderá rejeitar alguma mudança proposta no seu mod.
Isso se aplica a pacotes de conteúdo (content packs)?
Com certeza! pacotes de conteúdo não são compilados, porém outros modders legalmente não podem alterar sem uma licença de código. Vale notar que permissões dadas em sites como o Nexus são duvidosas (por exemplo, quem tem direitos autorais sobre derivados de um mod? Os derivados podem ser relicenciados?), então é uma boa ideia ter uma licença de código para pacotes de conteúdo também. Isso também permite que outros modders contribuam com pull requests e atualizações. Quando se diz código, significa tudo em seu pacote de conteúdo, incluindo arquivos JSON, imagens, mapas, etc.
Posso proibir uso para fins comerciais?
Uma licença não comercial impede que outras pessoas lucrem ou revendam o seu conteúdo. É certamente melhor do que nenhuma licença, mas não é open-source. Isso pode ter efeitos colaterais não intencionais, como impedir que streamers mostrem seus mods porque seus vídeos são monetizados. Evitar licenças não comerciais é altamente recomendado.
Eu já publiquei o mod sem uma licença. Eu posso adicionar uma agora?
Sim. Se você criou o mod por conta própria, poderá adicionar uma licença a qualquer momento. Se outros contribuíram para a criação do mod (isso inclui código, tradução ou imagens), você precisará da permissão de cada contribuidor para licenciar as suas contribuições, ou removê-las completamente do seu mod.
O que é um repositório Git?
Git é um software que auxilia a controlar as alterações no seu código, e repositório é uma pasta que contém os arquivos do seu mod que o Git mantém controle. Você pode procurar tutoriais sobre o Git se quiser saber mais, mas não se preocupe: você não precisa saber como ele funciona para usá-lo!

Tornando seu código open-source

Se o seu código já está no GitHub

Você já está quase pronto! Você só precisa escolher uma licença open-source (A licença MIT é uma boa escolha caso estiver indeciso) e adicionar um arquivo com o nome LICENSE ao repositório.

Se o seu código não estiver no GitHub

Pode parecer muitos passos, mas não se preocupe: será direto ao ponto, e você só precisa fazer uma vez. Se você precisar de ajuda, não hesite em perguntar no canal #making-mods no Discord oficial do Stardew Valley (infelizmente o Discord está em inglês). :)

Criando um repositório Git
Primeiro, vamos criar um repositório público para o seu código.
  1. Crie uma conta no GitHub.
  2. Instale SourceTree (Mac/Windows) ou GitKraken (Linux). Quando for perguntado, conecte com sua conta do GitHub.
  3. Crie um repositório no GitHub. Configurações recomendadas(veja a captura de tela):
    1. Nome do repositório: considere StardewMods caso coloque todos os mods no mesmo repositório, caso o contrário coloque o nome do seu mod.
    2. Descrição: considere Mods para Stardew Valley.
    3. Habilite a opção: Initialize ... with a README.
    4. Deixe em branco a opção: .gitignore, nos adicionaremos o nosso próprio .gitignore mais tarde.
    5. Add a license: escolha uma licença (A licença MIT é uma boa escolha caso estiver indeciso), e selecione-a.
    6. Clique em 'Create repository'.
  4. Na pagina do repositório que aparecer, clique no botão verde "Clone or download" e copie o URL:
    Modding - copy GitHub repo URL.png
  5. No SourceTree, clique em File > Clone e cole o URL. Escolha um caminho de destino fácil de acessar (como C:\source\StardewMods), e clique em 'Clone'.
A parte difícil acabou! Agora você tem um repositório no GitHub sincronizado com uma pasta em seu computador.
Adicionar os arquivos do seu mod
Agora, vamos adicionar seus arquivos no repositório.
  1. Abra a pasta do repositório (o caminho de destino que você colocou no passo 5).
  2. Extraia esse arquivo na pasta do repositório. Isso irá adicionar dois arquivos na pasta do seu repositório: .gitattributes (que normaliza as terminações de linha entre Linux/Mac/Windows) e .gitignore (que esconde arquivos que não devem ser enviados ao Git). Você só precisa ter eles na pasta, não é necessário mexer neles.
  3. Copie os arquivos do seu mod (incluindo o arquivo .sln) até a pasta.
  4. Confirme suas mudanças no SourceTree:
    1. Clique em Commit no topo.
    2. Clique em Stage All para adicionar os seus arquivos no seu commit.
    3. Insira uma descrição legível por humanos para as alterações na caixa de texto. O formato é com você, mas "adicionar arquivos iniciais do mod" está bom por enquanto.
    4. Confirme que "Push changes immediately" está habilitado.
    5. Clique "Commit".
É isso: todos os seus arquivos aparecerão no GitHub. Seu mod agora é open-source!
Fazer alterações
As etapas acima são todas de configuração pela primeira vez. Quando você quiser fazer alguma alteração, será bem mais fácil e simples:
  1. Edite o seu código na pasta do repositório.
  2. No SourceTree, Confirme e envie suas alterações (veja o passo 4 na seção anterior).