Modificações:Open Source
← Í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.
- Crie uma conta no GitHub.
- Instale SourceTree (Mac/Windows) ou GitKraken (Linux). Quando for perguntado, conecte com sua conta do GitHub.
- Crie um repositório no GitHub.
Configurações recomendadas(veja a captura de tela):
- 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.
- Descrição: considere Mods para Stardew Valley.
- Habilite a opção: Initialize ... with a README.
- Deixe em branco a opção: .gitignore, nos adicionaremos o nosso próprio .gitignore mais tarde.
- Add a license: escolha uma licença (A licença MIT é uma boa escolha caso estiver indeciso), e selecione-a.
- Clique em 'Create repository'.
- Na pagina do repositório que aparecer, clique no botão verde "Clone or download" e copie o URL:
- 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'.
- Adicionar os arquivos do seu mod
- Agora, vamos adicionar seus arquivos no repositório.
- Abra a pasta do repositório (o caminho de destino que você colocou no passo 5).
- 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.
- Copie os arquivos do seu mod (incluindo o arquivo .sln) até a pasta.
- Confirme suas mudanças no SourceTree:
- Clique em Commit no topo.
- Clique em Stage All para adicionar os seus arquivos no seu commit.
- 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.
- Confirme que "Push changes immediately" está habilitado.
- Clique "Commit".
- 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:
- Edite o seu código na pasta do repositório.
- No SourceTree, Confirme e envie suas alterações (veja o passo 4 na seção anterior).