Patches Welcome: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
== License == | == License == | ||
OpenKore is licensed under GNU General Public License. | OpenKore is licensed under the terms of [http://www.gnu.org/licenses/gpl.html GNU General Public License]. In short, it means: | ||
* anyone can modify it; | |||
* as long as full source code is provided, anyone can distribute modified versions. | |||
== Ways of Modification == | == Ways of Modification == | ||
=== Plugin === | |||
[[:Category:Plugins|Plugin]] is a [http://perl.org/ Perl] script OpenKore runs and interacts with via various hooks. As plugins use the same Perl interpreter as OpenKore, they can use its internals and symbolic table manupulation to alter just about anything. | |||
Benefits of plugins over patches: | |||
* Plugins can be easily (un)installed without modifications of OpenKore itself. | |||
* Plugins are independent from OpenKore modifications to some degree, so unless there is really incompatible update, they will keep working. | |||
To share your plugin, post it with description and instructions in corresponding forum section, like "Other Plugins". | |||
<span style="color:red;"> | Plugins could be added to OpenKore svn, for committing you need to gain write access or ask ones who have it. | ||
=== Patch === | |||
"Patch" is a direct modification of OpenKore source code. That's needed in the first place for fixing bugs in the existing stuff. | |||
'''<span style="color:red;">To share your patch, don't just post your whole OpenKore directory, that most likely will result in deleting your post</span>'''. | |||
'''Instead, post a diff file and specify a svn revision you've worked with.''' | '''Instead, post a diff file and specify a svn revision you've worked with.''' | ||
Benefits: | |||
Benefits of diffs over wtfs: | |||
* Your patch most likely can be applied to subsequent revisions. | * Your patch most likely can be applied to subsequent revisions. | ||
* Modified with your patch OpenKore can be updated without disturbing your applied patch. | * Modified with your patch OpenKore can be updated without disturbing your applied patch. | ||
Line 21: | Line 29: | ||
* Developers can commit your patch into trunk way more easily. | * Developers can commit your patch into trunk way more easily. | ||
Use svn client or other tools to create and apply diffs. | |||
If you're posting a diff file, you can optionally post OpenKore with that patch applied or just changed files. But that is unnecessary. | If you're posting a diff file, you can optionally post OpenKore with that patch applied or just changed files. But that is unnecessary. |
Revision as of 12:21, 14 October 2010
License
OpenKore is licensed under the terms of GNU General Public License. In short, it means:
- anyone can modify it;
- as long as full source code is provided, anyone can distribute modified versions.
Ways of Modification
Plugin
Plugin is a Perl script OpenKore runs and interacts with via various hooks. As plugins use the same Perl interpreter as OpenKore, they can use its internals and symbolic table manupulation to alter just about anything.
Benefits of plugins over patches:
- Plugins can be easily (un)installed without modifications of OpenKore itself.
- Plugins are independent from OpenKore modifications to some degree, so unless there is really incompatible update, they will keep working.
To share your plugin, post it with description and instructions in corresponding forum section, like "Other Plugins".
Plugins could be added to OpenKore svn, for committing you need to gain write access or ask ones who have it.
Patch
"Patch" is a direct modification of OpenKore source code. That's needed in the first place for fixing bugs in the existing stuff.
To share your patch, don't just post your whole OpenKore directory, that most likely will result in deleting your post.
Instead, post a diff file and specify a svn revision you've worked with.
Benefits of diffs over wtfs:
- Your patch most likely can be applied to subsequent revisions.
- Modified with your patch OpenKore can be updated without disturbing your applied patch.
- People can quickly inspect and understand your modifications and provide more intelligent feedback.
- Developers can commit your patch into trunk way more easily.
Use svn client or other tools to create and apply diffs.
If you're posting a diff file, you can optionally post OpenKore with that patch applied or just changed files. But that is unnecessary.