#####License Permission
It is allowed to all copy and distribute this license, but changing in it is not allowed.
This program is distributed without any warranty.
You may use this code, or knowledge contained in it to perform research, academic works, classes or private studies, since the copyright notices are not removed.
It is forbidden to develop or improve existing code and not share it with the original authors. Any improvements that may be made must necessarily be submitted to the original repository tool.
You may use this code for commercial intention since any tool or commercial application that may arise from this tool, or the knowledge contained in it, must keep the copyright notices and have its source code available with no cost to the original authors.
#####Source code quality
Review all the source code added or modified with comments indicating what that piece of code intend to do.
Use good object-orientation principies. When you create a class that performs a specific task in a particular technology or system, create an interface with the default behavior to be implemented. This interface will allow the tool to be extended to new technologies or systems in the future.
Pass all the dependence that the class will use via constructors or methods. Avoid creating or call other class within the class being altered, if these classes were not passed by constructor or methods.
Write unit tests to validate the source code that you created or modified.
#####Review
Revised and / or new versions of this license may be published to correct situations not covered in this version.
#####Permissões dessa Licença
É permitido a todos copiarem e distribuírem esta licença, porém mudanças nela não são permitidas.
#####Permissões do Código Fonte
Esse código fonte é distribuído sem nenhuma garantia
É permitido usar deste código, ou do conhecimento contido nele para realizar trabalhos acadêmicos, pesquisas, aulas ou estudos privados, desde que a autoria do código não seja removida.
É proibido desenvolver ou melhorar o código existente e não compartilhar essas melhorias com os autores originais. Qualquer melhoria que venha a ser realizada deve ser obrigatoriamente submetida para o repositório original da ferramenta.
Também é permitido usar este código para fins comerciais desde que a autoria do código não seja removida e qualquer ferramenta ou aplicação comercial que venha a surgir a partir dessa ferramenta, ou do conhecimento contido nela, deve ter seu código fonte disponibilizado sem custos para os autores originais.
#####Qualidade do Código
Comentar todo o código adicionado ou modificado com comentários que indiquem de forma clara e precisa o que aquele trecho de código se propõem a fazer.
Usar boas práticas de orientação a objetos. Ao se criar uma classe que realize uma tarefa específica de uma determinada tecnologia ou sistema, criar uma interface com o comportamento padrão a ser implementado. Essa interface permitirá que a ferramenta possa ser estendida futuramente para novas tecnologias ou sistemas.
Passar todas as dependência que a classe vai usar via construtores ou métodos. Evitar criar ou chamar outras classe de dentro da classe que está sendo alterada, se essas classes não foram passas via construtor ou métodos.
Escrever testes unitários que validem o código criado ou modificado.
#####Revisões Revisões e / ou novas versões dessa licença podem ser publicadas para corrigir situações não cobertas nesta versão.