diff --git a/docs/contributing.md b/docs/contributing.md index e7f327977..bb486a6db 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -44,6 +44,20 @@ We host our code on github.com/mapnik and encourage anyone interested to fork th If you just have a question about the code, or a feature you want to discuss then feel free to create a new issue at github.com/mapnik-support. +## Plugins + +Mapnik has a plugin interface for reading various geodata formats. Plugins are both viable inside of Mapnik core and also able to be used outside of Mapnik. + +Plugins should be developed outside of core except in rare cases when most of the following are met: + + - The plugin has no external dependencies or dependencies are easily installed + - The plugin has excellent unit tests + - The plugin has a maintainer willing to support the plugin over time + - Setup and testing of the plugin is easy on travis.ci (see .travis.yml) + + +Therefore plugins that depend on proprietary, unmaintained, or difficult to test third-party dependencies are not viable for Mapnik core. However they are still likely very valuable for the Mapnik community, so get in touch via https://github.com/mapnik/mapnik-support if we can help you develop your plugin outside of core. + ## Code Philosophy