How to Contribute to the CKEditor Project
There are several ways you can help CKEditor to become better software for yourself and to others. You can do that by:
- Reporting bugs
- Submitting patches
- Writing documentation
- Creating CKEditor plugins
- Helping others through our support board on the community forum
- Discussing how CKEditor could be improved by posting on the development board of the community forum.
We love patches, but several rules must be followed in order for them to be accepted:
Following CKEditor coding standards is the easiest way for everybody to understand your code and get it accepted without changes and unnecessary delay.
Do not put the patch in the ticket description or comment unless it is a single line patch. Otherwise it is always better to attach a separate patch file.
Each patch should contain the code required to fix a problem or add a new feature, and may include relevant test case(s) to verify the result. Try to avoid addressing other irrelevant problems in it.
If the code associated with a patch adds a new feature, or modifies the behavior of an existing feature, the patch should also contain documentation.
To ensure the high quality of the project code base we only grant repository commit permissions to core developers. For community contributors it is enough to add 'HasPatch' to the keyword ticket field, and let the core developers take care of integrating the patch into the workflow. Depending on the review result your patch may finally get accepted and get committed, or you may choose to come with a new patch in case the review fails.
CKEditor interface can be fully localized. Our language files are managed just like all other source files and you can find them in the lang directory of the CKEditor installation package. If you would like to supplement or improve any of the language files as well as create a new localization, create a ticket and attach a patch with your changes.
Our documentation is composed in English. You are welcome to add your comments to the Talk pages at the official documentation site with an account. If you would like to contribute some additional documentation resources (tutorials, use cases, code documentation), please contact us first.