Once you have a version of your new plugin that is ready to be distributed to the masses, you need to decide whether you will join the official WordPress repository or self-publish it.
In most cases, the preferred option is to add your new extension to the official WordPress plugin repository, where you have many benefits, including free hosting, built-in notification of new updates, and a powerful search engine that users can access on https://wordpress.org or from the Plugins section of their website's administration pages. Other benefits of hosting on the official repository include download statistics and the creation of a free forum to facilitate user support. To qualify for this hosting, your work must be free and open source, as well as comply with the GNU General Public License, Version 2 (also known as GPL v2), a common open source software license that WordPress itself uses.
This includes any code you wrote, along with any third-party PHP or Javascript libraries that you have included in your work. To learn more about the GPL v2 license, visit https://www.gnu.org/licenses/gpl-2.0.html. It is also possible to publish a plugin with paid premium features on the official repository, but you cannot move free features behind a paywall over time.
In comparison, self-hosting gives you full control over pricing, distribution license, and general presentation of your work, but it makes it harder for people to find your plugin and relies on implementing a custom update notification mechanism yourself, using third-party libraries to add equivalent functionality or having users manually download updates when available. There are also a number of popular plugin digital marketplaces that can help alleviate some of these drawbacks, but your work will still have less visibility than it would on the official repository.
Before making your plugin publicly available, you should also be sure that you are ready to deal with user feedback and questions. Once your creation is available for download, WordPress website administrators will quickly download it, install it, and may find that your work covers most, but not all, of their needs. When this happens, you will start getting requests to add functionality. This interaction with users is usually a great experience that can bring new ideas to the table that will enhance your work, but you should also be ready to accept criticism and invest time in fixing issues and implementing new features. You also need to think of the time that will be involved in testing your extension against new versions of WordPress, which typically come out two to three times a year.
This chapter explains how to prepare your work to be uploaded to the official plugin repository, including the application for an account, the actual code submission using Subversion, and how to customize your plugin page to give it a unique look.