How to Contribute to the WPSD Project (2024)

How to Contribute to the WPSD Project

So, you’d like to contribute to the WPSD project? Great! 👍 We welcomeand embrace any contributions, and we’re excited that you’re interested!

Here’s what the project needs, and how you can get started…

Table of Contents:

WPSD Components/Sub-Projects

These are specific areas within project which can always use help and contributions:

  • Documentation
  • Code Contributions
  • Bug Reports
  • Translations (i18n / l10n)
  • Architecture/Porting
  • Advocacy, Evangelism & Education

How to Make or Submit Your Contributions

Some folks surprise us, and simply submit contributions without any notice -which is great!!! Additionally, some folks like to chat with us about theirideas/proposed contributions before they actually contribute, which is alsofine. If you want to chat with us about your contributions, we have a publicContributors Channel on our DiscordServer. Although WPSD has an official Facebookgroup, this medium is primarily used and promoted as a community user supportresource only. If folks ask about contributions in our WPSD Facebook group, wewill typically direct these people to the Discord server instead.

However you wish to proceed with your contributions, below is a list of areaswithin the WPSD project where contributions are needed the most…


As WPSD has grown and continues to grow in popularity and usage,documentation is crucial; for both new and seasoned users. WPSD has a UserManual, but it is a “living” document and couldalways use updates and contributions. As of this writing (11/4/2023), it isincomplete, and needs lots of help. This will be WPSD’s official “handbook”,so-to-speak.

To contribute to the documentation project, head over to the User Manualsource code, fork the repo, makeyour updates and submit Pull Requests!

Code / Programming

Code contributions affect how WPSD operates. We could always use help withthese; as these can be bug fixes, optimizations, features, etc.

To get started contributing actual WPSD code, head over to theWPSD-Dev organization. Within thatsection, you will find all of the vital WPSD code repositories that make WPSDactually operate. Fork the code and submit your Pull Requests!

Be sure to check out any outstandingissues/bugs, as these are immediately availablefor contributors to help with!

Bug Reports

We always appreciate validated bug reports. However, beware that we receivemany “bug reports”, which aren’t actually bugs at all. 😦 Instead, they are usererrors, a lack of understanding from the user, support-oriented requests, and more.These can be frustrating for our core team, because we spend valuable timeand effort chasing down a “bug” that doesn’t exist!

A valid bug report contains detailed instructions on how to reproduce the issue,and is commonly accompanied with ways to correct/fix/address the bug (code snippets,code patch files, etc.).

That said, there are times when we reject and close out bug reports, becausewe deem them as invalid, or when we may insist on a pull request instead. Thisis at our sole discretion.

Frankly, the best, fastest and most-appreciated way to address bugs, is tofix them yourself and to submit a pull request.

Translations (i18n / l10n)

Since WPSD is used by thousands of amateur radio operators around the globe,translations (i18n / l10n) are paramount. WPSD has some basic translationfunctionality built-in, but it is incomplete, and could use more help andoptimization.

Currently, the translation files are located within the /lang/ folder inthe Dashboard webcode.Each language has its own dictionary/translation file (in PHP). The dictionarycontains an array of key/value pairs, and the “key” is a variable called fromseveral places within the rest of the Dashboard code. The appropriatelanguage/translation file is chosen and set once a user selects their desiredlanguage from the main configuration page*.

These translation key variables need to be placed in more locations within theDashboard code, as well as more translations added to the language files.

Note that we are not “married” to this method of translation. There arelikely better ways to translate text in the Dashboard code, and we are alwayswilling to accept improvements and new translation strategies (e.g. gettext, etc.).

* Auto-translation based on the user’s computer/browser locale would bereally cool! 😄


WPSD currently supports the popular Raspberry Pi architecture (Zero, 2, 3, 4, 5, etc.),as well as NanoPi Neo and OrangePi Zero. We are interested in providing diskimages and functionality for other platforms and architectures, such as…

  • x86_64 platforms (with modem support by way of USB, such as the USB ZUMspot hotspot stick)
  • More NanoPi and OrangePi board models
  • Any other boards/architectures compatible with MMDVM modems via GPIO and/or USB facilities
  • Virtualized platforms with high-speed USB/serial read/write access for MMDVM modems

Additionally, the method of which the disk images are created, is somewhatcrude, and is unfortunately, intimately tied to internal infrastructure. Wewould like this process to be a much more portable paradigm, where a full diskimage can be created for any target, on any source machine. Think of a masterdisk image build script that can perform all necessary tasks to build these images,especially in an automated fashion if desired. Arguably, this method would needto be created/coded from scratch.

Advocacy, Evangelism and Education

This is an easy part of the WPSD project, and no special skills are required;anyone can do these things, and they are quite valuable!

Types of project advocacy & evangelism strategies include:

  • Telling your friends, family, colleagues about WPSD.
  • Writing, blogging, making videos or live streams about WPSD.
  • Showcasing / presenting WPSD at ham clubs, meetings, hamfests, etc.
  • Helping a fellow ham to install, learn and use WPSD.

Invariably, the more people who become aware and use WPSD, the more peoplethat become available and willing to help contribute to the project as it garnersadditional interest. This means that the project can continue to improve andevolve even more! 🙏

Financial Contributions

Financial contributions are important; as building, hosting and testing WPSD allcosts money. You can donate any amount you’re comfortable with by using theWPSD Project GoFundMe Campaign.

Disclaimers, Expectations, Guidelines and Notes

Code Contributions

If you’re interested in contributing actual code, pull requests, programmingetc. to the project; please either already be familiar with git, repositoryforking, branching, merging, submitting pull requests and related codesubmission workflows - OR learn and master these strategies and techniquesbefore attempting to contribute code to the WPSD project.

Our expectation, bluntly, is that you are already familiar andcomfortable/proficient at these strategies/workflows, We cannot and will nottrain, educate or guide aspiring or would-be developers, or folks notfamiliar with the aforementioned techniques. We’re a small team with careers,families and many other obligations, so we need folks to hit the ground runningout-of-the-gate. We are hopeful that you can understand this! 😄

Dev Team Access and Code Repository Merge / Push / Release Access

As stated in other places, the core WPSD development team is small, and select fewhave the ability to merge, push and publish pull requests, updates, releases etc.Additionally, these core dev team members also have access to our private WPSDDevelopment Discord Server.

It is not a requirement nor mandatory that code contributors be core dev teammembers – we encourage, accept and embrace contributions from anyone! 😄In fact, lots of contributions originate from others outside of our core team! 👍However, there are some caveats with this, of course…

The core dev team are the folks who audit, discuss, QA, and have the ultimatefinal approval/rejection of code contributions. The core dev team are the coreproject decision-makers and project leaders/managers.

So if you contribute code and it is rejected by the team, please know thereis a valid reason(s) for the rejection; so please don’t let this discourageyou from contributing or continuing to contribute! 👍

With that caveat(s) out of the way, we still highly encourage codecontributions, and we really need them! So you may be wondering how you canjoin the private WPSD Development Discord Server, or how you can become a coreWPSD Dev Team member.

Here’s how it works…

WPSD development vision and strategy efforts, and WPSD core dev team-forming,operates in an informal meritocracy-basis.Someone who displays merit, is someone who is extremely proficient, motivatedand prolific in improving the WPSD project. We notice these people, and ifmerited, we will typically invite them to be core dev. team members.Basically, this is typically an invite-only type of process, after internalcore dev team members have discussed the proposition of inviting outstandingcontributors to the WPSD project.

How to Contribute to the WPSD Project (2024)
Top Articles
Latest Posts
Article information

Author: Merrill Bechtelar CPA

Last Updated:

Views: 6024

Rating: 5 / 5 (70 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Merrill Bechtelar CPA

Birthday: 1996-05-19

Address: Apt. 114 873 White Lodge, Libbyfurt, CA 93006

Phone: +5983010455207

Job: Legacy Representative

Hobby: Blacksmithing, Urban exploration, Sudoku, Slacklining, Creative writing, Community, Letterboxing

Introduction: My name is Merrill Bechtelar CPA, I am a clean, agreeable, glorious, magnificent, witty, enchanting, comfortable person who loves writing and wants to share my knowledge and understanding with you.