NOTE: This is a tertiary document that adds to the existing contributing guidelines that have been in place since 2017 and updated accordingly. This specific document is written by a human with emotions, with much passion. Those using GenAI to replace their ability, or lack thereof, to comprehend the contributing guidelines and/or the nuances of this GenAI Policy; the link to the full contributing guidelines is as below:
GenAI is not permitted for this project due to legal concerns. SquirrelJME is not a general 95% project it is an extremely specialized project with specialized needs, GenAI as it exists now is not in any way useful for SquirrelJME. GenAI cannot currently understand the context of what SquirrelJME is and what it is for.
GenAI is counter to the project's goal and desire to be autonomous and to act with self-determination. Programming is art, and SquirrelJME is made by humans for humans.
Have you enjoyed making something? SquirrelJME is that enjoyment. Every line of code, graphic, test, input, and output that it happens brings me excitement and joy. One could just use OpenJDK or KVM to get effectively what SquirrelJME is, but that is not the point. Just getting code to run on your own virtual machine is extremely fascinating with lots of science stuff involved. This is something that I can nerd out about for many hours. Much of the world today is effectively just producing products out of an assembly line as quickly as possible and without any regards to quality. Think of yourself and what you enjoy, if that turned into an assembly line that pumps out content non-stop; think if you accepted forgetting what you love to do only to stand at said assembly line and tighten the same bolt when it comes up every five seconds. Would you enjoy that? I think not.
For those who feel that GenAI allows them to do something that they would never otherwise do, this is something that we call Imposter Syndrome. You can do things, it takes time to learn however the learning process, although it can at times be frustrating it can be very fulfilling. It is understood that such tools could be used to assist with the learning process, however these generally replace the process by giving answers in-place of deduction. Do not give up.
This policy only applies to Large Language Models (LLMs) and "Chatbots" which take human language and/or expression as input to generate an output that is not used for the purposes of accessibility.
Bug reports, crashes, code analysis, profiling, or otherwise that have used GenAI in any part of their determination are automatically considered as invalid.
Potential contributors making determinations and arguments based on the output of GenAI will be considered Non compos mentis. This project and its developers have no desire to be testing surfaces for such technology.
This policy does not apply to "Traditional" AI such as neural networks, video game "computer" players, and similar technologies. This policy does not apply to single line code completion, search suggestions, or other basic "smart" IDE features such as Search Anywhere, Run Anything, Tab Completion, and IntelliSense.
This policy does not apply to dependencies, this is solely for SquirrelJME, it is not possible to affect the policy of dependencies in any way. This policy does not apply to operating systems, these are considered the same as dependencies.
This policy does not violate the Open Source Definition (OSD) as set out by the Open Source Initiative (OSI), the license does not apply to the acceptance of contributions. There is no open-door policy.
Contributing to SquirrelJME
Note that SquirrelJME does not accept any contributions from which GenAI has been used in any fashion. It is not possible to determine the original licensing and copyright of the generated source code, nor with information it has assisted with due to patents. GenAI models have been trained upon various projects with different code guidelines and licenses. As such, the output of the GenAI cannot ultimately be currently verified.
Future Policy Reservation
Note that at this current time, use for or against GenAI is being discussed heavily by individuals and organizations. This policy has zero intention to make any kind of statement in the manner, nor to judge users for evaluating a tool for their own needs. Additionally, it is not possible in any way for the project to prevent usage of GenAI proliferation. It is not possible to prevent the project from being used by GenAI tools short of closing the source. The project itself has no desire to close the source code to prevent its use in GenAI tools. This project will not take any efforts to sabotage and/or poison itself to make any kind of statement as this causes harm and erodes trust. This will project will additionally not offer any suggestions, encouragement, opportunity, or pledges to promote sabotage and/or poisoning. Specific vocabulary and wording has been intentionally avoided in this reservation. This reservation neither condones nor disregards future use of GenAI.
Permitted use of GenAI with SquirrelJME with only authorized tools may be accepted in the future, if all the following conditions are met:
- The GenAI models are solely trained on SquirrelJME's source code, notes, history, and documentation.
- No generic models or additional models are applied, this includes additional models which provide support for human languages.
- It must not train from any other source that is not SquirrelJME.
- The use of the GenAI is run on the local device whether that be a CPU, GPU, or NPU without the use of an internet and network connection, it must be fully usable offline.
- The models must be fully reproducible and deterministic, the same input must result in the same output.
- The models must be able to be trained fully offline on the local device.
- The model training, prompt, and all other related software must be under an Open Source Initiative (OSI) license.
- All related software is able to be copyright, license, and trademark assigned to SquirrelJME in terms of full ownership with no restrictions. That is, it is donated to the project with no restrictions placed.
- The tool has been vetted and approved by the administrators of SquirrelJME.