Description:
Currently you can find information in the manual about how to write plugins. Documentation can be found here: https://dev.mysql.com/doc/extending-mysql/8.0/en/writing-plugins.html.
This covers quite a lot of things and is quite a useful introduction:
4.4 Writing Plugins
4.4.1 Overview of Plugin Writing
4.4.2 Plugin Data Structures
4.4.3 Compiling and Installing Plugin Libraries
4.4.4 Writing Full-Text Parser Plugins
4.4.5 Writing Daemon Plugins
4.4.6 Writing INFORMATION_SCHEMA Plugins
4.4.7 Writing Semisynchronous Replication Plugins
4.4.8 Writing Audit Plugins
4.4.9 Writing Authentication Plugins
4.4.10 Writing Password-Validation Plugins
4.4.11 Writing Protocol Trace Plugins
4.4.12 Writing Keyring Plugins
This manual may be viewed via a web interface but it's also downloadable as a pdf.
The same docs do not seem to provide equivalent documentation for writing components though I believe some documentation is included with the source code here: https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_COMPONENTS_IMPLEMENTATION.html#EXAM... so this documentation is in a different location from main "manual".
I'm also under the impression that Oracle want to move or are moving a lot of plugins to use the component infrastructure so this is the way forward.
How to repeat:
Read the MySQL docs looking for information on how to write components, or find information on plugins and perhaps not be aware that this is not the recommended way to write extensions to MySQL.
Suggested fix:
I think it would be good to ensure there is similar documentation, or references to the appropriate source code to handle both examples of components perhaps mimicking what's been done for plugins. It may not be obvious to people who may download the pdf of the manual that there is "other" documentation in the source code or that Oracle is promoting the use of components over plugins. Explaining this in some detail would be useful.
If any of the current plugins are implemented as components that could be mentioned. Also LeFred made some presentations on creating components https://speakerdeck.com/lefred/extending-mysql-with-the-component-infrastructure and it would be good to incorporate something like this into official documentation, assuming he is happy with that.