Did you know that Paid Memberships Pro is a fully open source WordPress Plugin and that you can make it even better by contributing? No matter your skill level, you can contribute to PMPro today. Here’s the why and how.
What is open source?
When developing plugins, themes or applications, developers will make the decision to keep their code in a “closed” or “open” environment. Closed source generally means that the source code of what they are working on can only be seen, edited or worked on by the individual, group or organization developing the software. This is very popular with large software companies like Adobe.
While there is nothing wrong with keeping your software to yourself, this does limit the possibility of letting others help improve and grow your product.
Open source, on the other hand, is software that has its source code open and freely available to view, use and contribute to. Just like WordPress. At first, opening up your project to everyone may seem like a strange decision but it can prove very beneficial in the growth and development of your product.
By allowing everyone the opportunity to use and contribute to your software, you gain certain benefits that closed source environments do not have, mainly:
- Feedback: Get valuable feedback from your product’s users.
- More Reach: An open source license can greatly increase your chances of more people using your product.
- Growth: Developing software is hard work. It takes a lot of time and resources to get your product to a place where you want it to be. An open source license will allow developers to add features, fix bugs and generally improve your software. Now, you have the opportunity for very smart and talented developers around the world to contribute to your product for free. This is by far the biggest benefit of an open source license.
Contributing to Paid Memberships Pro
We strongly believe that open source software is of great benefit; Open source not only benefits us as the developers, but is also benefits all of our users and members, too. No matter your skill level, we would love to have you contribute to the platform. You have what it takes to help improve Paid Memberships Pro.
Paid Memberships Pro is the “community solution” for membership sites on WordPress, and so contributions of all kinds are appreciated.—Jason Coleman, CEO & Lead Developer – Paid Memberships Pro
Excerpt from CONTRIBUTING [README] – GitHub
Paid Memberships Pro needs you.
You don’t need to know how to code to start contributing. Below are just a few ways you can contribute today.
- Translate Paid Memberships Pro into your own language.
- Code up a feature, fix a bug, submit a Pull Request or report an issue on our GitHub Repository. For more information on contributing to Paid Memberships view our Get Started Contributing To Paid Memberships Pro guide.
- Provide Support on the WordPress.org forum to other users.
- Purchase a Premium Paid Memberships Pro Membership Level: This helps pay for our team to continually develop, improve and support Paid Memberships Pro.
- Share Paid Memberships Pro with your WordPress Community at a Meetup or WordCamp session.
- Contribute to WordPress
Translating PMPro via GlotPress
You can translate Paid Memberships Pro into your own language using a WordPress project called GlotPress.
This project allows you to easily submit suggestions for “string” translations (a fancy name for sentences) and all you need to get started is a WordPress.org account. Which is free.
How To: Translate Paid Memberships Pro using GlotPress
- Create or log in to your WordPress.org profile.
- Navigate to the Paid Memberships Pro GlotPress Profile Page.
- Select your language from the table provided. You can see how close to completion the translation is by its color and percentage.
- Select the “Set/Sub Project” that you want to contribute your translation to. Usually, it will be the Development and the Stable Release set.
- Find the string(s) that you want to translate. Double click in the empty translation field to add your translation. You will notice that a textarea will now open up for you to type your translation. Once done, click on the “Suggest New Translation” button. Note: be sure to include any special characters that may be present in the original translation, for example
- Done. Your translated string has been submitted and now it will either be approved or rejected by a translation editor.
Using GitHub to contribute to Paid Memberships Pro
Being a fully open source plugin, Paid Memberships Pro and all of our Add Ons can be found on GitHub. You can contribute directly to the Paid Memberships Pro GitHub repository by submitting a Pull Request.
“Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.”—GitHub Help, About Pull Requests.
Submitting a Pull Request does not mean that you have full control to commit your changes to the original repository. These changes will be reviewed by our team, and we will approve or suggest changes to your code. If approved, your feature, bug fix or enhancement will be merged into the core plugin and likely be pushed out to the 100,000+ sites using Paid Memberships Pro in the next release. Nice.
How To: Pull Requests on GitHub
There are a couple of ways you can edit files on GitHub and then submit your Pull Request. You can edit files directly, use the GitHub Desktop App, download the plugin and make changes locally and then upload these changes later. The method you choose will depend on what exactly you are planning on changing and any preferences you may have.
How To Get Started.
- To get started you’ll need to Create a GitHub Profile.
- Once you are logged in to your profile, locate the Stranger Studios – Paid Memberships Pro Repository
- Select the branch you want to work with (usually dev unless you are contributing to a specific project).
- Navigate to the top right section of the repository page and click the “Fork” button. This will create a copy of our repository in your personal GitHub Profile.
- You should now have an exact copy of the repository on your personal GitHub Profile. Notice how the repository name changes from
strangerstudios/paid-memberships-proto something like
yourprofilename/paidmembershipspro. At this point, you can start committing changes to to copy of Paid Memberships Pro in your repository.
- Once you have made your changes and have fully committed and pushed them to your repository, it is time to submit a Pull Request for review. Head over to the “Pull Request” tab of your repository and click on the “New Pull Request” button.
- You should be redirected to a page that will compare changes between your version and the original repository. Changes will be highlighted in green if there was something that was added to the code base and red if something was removed. GitHub will assess whether or not you will be able to automatically merge your changes in with the original repository.
- When you are ready, click the “Create pull request” button.
- Enter some details about all of the changes that you have made. Title your Pull Request and provide some details on exactly what you have done. This will help us evaluate your changes. Before submitting your Pull Request, make sure that your fork/branch is pointing to the correct fork/branch of the original repository.
- Once submitted, you will be issued with a unique PR# Number. From here, you can keep up to date with the status of your Pull Request (PR), add comments, and receive feedback from us. You should also get an email when your PR is merged, denied, or has a new comment added.
- That’s it. You’re done. Now it’s time to open up another one 🙂
Provide Support to other Paid Memberships Pro users.
Getting involved in our extended community is a great way to expand your knowledge of both WordPress and Paid Memberships Pro. Teaching others is one of the best ways to rev-up your knowledge about Paid Memberships Pro.
To get started helping others in the PMPro Community, you will need to:
- Head over to WordPress.org and log in to your account. If you do not have an account you can create one.
- Next, navigate to the Paid Memberships Pro plugins repository page.
- Click on the “Support” tab. Here you can browse through the open topics. Tip: This is also a great place to find answers to questions you might have.
- Select a topic that you feel somewhat confident about and proceed to write your reply in the comment section below the user’s post or question.
- Once your reply is written, you can decide to get email notifications on future replies from this topic by selecting the “Notify me of follow-up replies via email” checkbox and Submit your reply.
Great work. You have just helped someone in the Paid Memberships Pro community.
In addition to being a fully open source project, Paid Memberships Pro is also very developer friendly. We have extensive documentation and an array of code gists and recipes to help customize and enhance your membership site. Last but not least, we offer loads of hooks (Actions and Filters) in all the right places.
Contributing to WordPress
Contributing to WordPress is another way you can actually contribute to Paid Memberships Pro. We would not have the WordPress we know and love today if it wasn’t for the fact that it is an open source platform and is contributed to by thousands of people worldwide.
Regardless of your skill level and technical ability, you too can contribute to WordPress. For more information on how to do this visit make.wordpress.org today.
Each contribution makes a difference.
The strength of Paid Memberships Pro as a platform for membership sites on WordPress is directly correlated to the contributions made by our community over the last 7+ years.
It’s undeniable that the site you’re building with WordPress and Paid Memberships Pro could not possibly have been created in the same timeframe and for the same cost if the code was not open source. We hope this article has opened your eyes to the technical (and not-so-technical) ways you can share your appreciation and get involved.