This is the home of the Make Community team for the WordPress open sourceOpen SourceOpen Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project!
Here is where we have policy debates, project announcements, and assist community members in organizing events.
Everyone is welcome to comment on posts and participate in the discussions regardless of skill level or experience.
Get Involved
If you love WordPress and want to help us do these things, join in!
The number one recommendation for first time contributors heading to Contributor Day is to prepare before heading to the event. Conference WiFi can be very unreliable, especially if everyone is installing and configuring the required software and tools at the same time. Getting set up can take a significant amount of time depending on a number of factors, even with good internet!
This is a rough guide to help you show up to Contributor Day ready to contribute!
First, a couple notes:
Some parts of this guide will be helpful for multiple contributor teams, but this is particularly targeted at Core team contributors. Check out this guide to get started with the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Test team.
Most of the information below exists somewhere in the Core handbook, but is not organized into a “guide” (the topics are stand alone).
You can view the full list of Make WordPress contributor teams here: make.wordpress.org.
This step is for all new contributors to the WordPress open sourceOpen SourceOpen Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project (regardless of contributor team)
The large majority of the communication around contributing to the WordPress open source projects happens on WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ or in the WordPress SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. instance. Your first step should be to register for both in that order.
The steps below are specifically for Core contributorsCore ContributorsCore contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org.
In order to contribute to Core, you’ll need the following software installed on your machine:
GitGitGit is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. or SVNSVNApache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. (whichever you prefer)
NodeJS (WordPress currently requires NodeJS 14.x)
npm (comes bundled with NodeJS)
Composer (optional, but highly recommended)
Additionally, you’ll have to choose between one of the following:
Note: There are other tools that can be used to set up a local development environment (such as Local), but the two above are the ones maintained and officially supported.
This option will allow you to submit and work within a pull request on GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. When using this option, all of the configured automated testing will run on your code to help verify your change. You can read more about this option in the Core Handbook.
With this option, you’ll clone the wordpress-develop repository locally and use that as your codebase. You won’t be able to push any changes or submit pull requests, but you will be able to create patches with your changes to submit on TracTracTrac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/..
With this option, you’ll checkout the `trunk` branch of the develop.svn.wordpress.org repository to use as your local WordPress site. Any changes you make need to be submitted as patches.
Here are the basic steps to get started with the local Docker environment:
Clone your repository of choice from the previous section. If you’re using a fork that you created, the command will look like this: git clone git@github.com:{your GitHub username}/wordpress-develop
Run cd wordpress-develop to move into the directory created by the git clone.
Run npm install to install dependencies
Run npm run env:start to start the development environment
Run npm run env:install to set up clean installation with the user admin and the password password
Running npm install, vagrant up, or npm run env:start can be network intensive. Run these at home before you leave for the event and confirm everything’s working as expected. Depending on what you work on during Contributor Day, you may need to run these commands again. But having dependencies, virtual boxes, and containers cached locally will greatly decrease the time they take to run at the event.
Try creating patches or a PR ahead of time. If you’re able to start working on a ticket before the event, contributors at the event can give you feedback on your work so far.
Special thanks to Jonathan Desrosiers for writing this guide. Additional thanks to David Baumwald and Joe McGill who helped review this prior to publishing, and Micah Wood for sharing his (more detailed) document from a previous WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. that Jonathan borrowed inspiration and the list of links from.