README (1525B)
1 Plugin rules: 2 3 * The plugin system of Electrum is designed to allow the development 4 of new features without increasing the core code of Electrum. 5 6 * Electrum is written in pure python. if you want to add a feature 7 that requires non-python libraries, then it must be submitted as a 8 plugin. If the feature you want to add requires communication with 9 a remote server (not an Electrum server), then it should be a 10 plugin as well. If the feature you want to add introduces new 11 dependencies in the code, then it should probably be a plugin. 12 13 * We expect plugin developers to maintain their plugin code. However, 14 once a plugin is merged in Electrum, we will have to maintain it 15 too, because changes in the Electrum code often require updates in 16 the plugin code. Therefore, plugins have to be easy to maintain. If 17 we believe that a plugin will create too much maintenance work in 18 the future, it will be rejected. 19 20 * Plugins should be compatible with Electrum's conventions. If your 21 plugin does not fit with Electrum's architecture, or if we believe 22 that it will create too much maintenance work, it will not be 23 accepted. In particular, do not duplicate existing Electrum code in 24 your plugin. 25 26 * We may decide to remove a plugin after it has been merged in 27 Electrum. For this reason, a plugin must be easily removable, 28 without putting at risk the user's bitcoins. If we feel that a 29 plugin cannot be removed without threatening users who rely on it, 30 we will not merge it. 31