General Add-on posting rules
Original or derivative work intended to expand another work by adding or replacing files
An add-on included with an add-on that is required for it to function, license or permission permitting.
An archive (zip, rar etc) containing multiple add-ons other than those of the submitter, which can be replaced with a list of contents, links to original works, or automated installer script to create the same end result.
Or to which any changes:
Can be removed and the pack remains viable.
Are insufficient to create a new derivative work.
Are suspected to exist in an attempt to bypass this definition.
All add-ons, dependencies and packs that are posted on the services maintained by Squad that serve the KSP Community (such as this forum and Curse) must be accompanied by a license for each add-on contained therein, that regulates what other users can do with the copyrighted material.
These licenses must be made available in both the download file as a readme or license text, and in the location the user downloads from (such as a forum post or a Curse listing).
Packs of add-ons cannot be licensed as a whole and no ownership of a pack of add-ons is permitted.
1.1 Including other licenced work with your add-on.
Your license must be compatible with that of any other material you include with your own add-on, and each license in your package must be mutually compatible. This includes textures, models, sounds, entire mods etc. You must also comply with the license terms of each and every external work in your download and include those licenses in your package. This is very complicated but is a legal requirement. For this reason, it is recommended that you use CKAN scripts instead of bundling others' content when possible and avoid packaging other people's work with your own unless you really know what you are doing. If you are not completely certain that a license is compatible, do not include that content.
Special circumstances apply for material licensed GPL. This license requires that software that includes GPL-licensed code must also be licensed GPL, but merely including GPL software in a bundle of software does not have that requirement. Whether or not including a GPL-licensed mod along with your own one comes under this requirement is a grey area, so we will not forbid users from packaging another mod that is GPL-licensed along with their own mod. However, if the current maintainer of that packaged mod objects, we will ask you to respect their wishes and either remove that material or change your licence to a compatible GPL one. Please be aware that if you are using a different license and do decide to package a mod that is licensed GPL (or any other license that may be incompatible with yours), you open yourself to the possibility that others can take legal action against you for doing so.
2. Forbidden content
Add-ons may not violate the Community Rules.
3. Mandatory content
Add-ons with dependencies or packs must document all add-ons or parts of add-ons (plugins) they contain, including their author, licence, version and link to the original work, in the download and in the download location.
Add-ons or packs that require permission for any content must include these statements of permission.
Plugin specific rules
4. Source code
All plugins that are made available on the services maintained by Squad that serve the KSP Community must have their source code be made publicly available. This can be achieved by posting it on a public code repository and linking this repository in every location you offer the plugin for download. Including the source code in the download file itself instead of hosting it on a public code repository also satisfies this requirement.
5. Forbidden code
Your plugin may not:
Edit, delete, or create files outside of the KSP installation folder and the operating system temporary storage locations, unless optional to the user;
Introduce anything in the game meant for profit. This includes ads and donation buttons; or
Remove or modify Squad logo's or copyright notices.
6. Contacting another network or computer system
Add-ons that contact another network or computer system must tell users exactly what it's sending or receiving in a clear and obvious way in all locations it is offered for download.
7. Gathering of personally identifiable information
Add-ons that gather personally-identifiable information and send this information to another network or computer system must:
Provide the user with an opt-in system within the game that requires the user to agree unambiguously with the information gathering and sending before any such information is sent; this opt-in system must inform the user of the goal and extent of the information gathering;
Provide the user with an option in the AppLauncher to disable the data gathering that is visible in at least the Space Center scene; and
Grant a user the option to review and remove all personally identifiable information that is within control of the person who maintains the add-on.
For the purpose of this rule, personally identifiable information does not include information that is sent beyond the control of the add-on author when establishing a connection to another network or computer system, such as IP addresses, so long as this information is not coupled and stored with the other gathered information. Personally identifiable information is defined as information that can be linked to a specific user.
8. Legal boundaries
You may not decompile, modify or distribute any of the .dll files or other files KSP comes with beyond content of the GameData folder. Follow the EULA. For assemblies, you may only use exposed public or protected members of classes, and you may not examine the code within any member.
Third party applications
9. Application of the add-on rules
With the exception of the first bullet point in rule 5, these rules equally apply to any stand-alone applications made available on the services maintained by Squad that serve the KSP Community.