Skip to content

Instantly share code, notes, and snippets.

@s0lesurviv0r
Last active July 7, 2023 08:18
Show Gist options
  • Save s0lesurviv0r/af5e890f15c79a0f462ceafd26f13221 to your computer and use it in GitHub Desktop.
Save s0lesurviv0r/af5e890f15c79a0f462ceafd26f13221 to your computer and use it in GitHub Desktop.
Thoughts on Ham Radio Software

Thoughts on Ham Radio Software

Introduction

I wanted to take some time to discuss my thoughts on amateur radio software. I've noticed a few troubling patterns that I worry may hinder development and adoption of particular applications and protocols. Particularly, I wanted to share my philosophy of adopting open source ham radio applications at all costs, ensuring the tools I train on, and recommend, can live on.

Software

I've spend a majority of my life writing code. Whether it was growing up, in college, or as a professional. I've written software across domains and industries, including some ad-hoc toolsfor amateur radio in my spare time.

I've come to understand that software is rarely static, it's living and breathing. A great application will see itself live past the system it was intended to run on. New operating systems, and versions of operating systems, dependent libraries, etc, will change over the course of an application's life. For a enterprise application, developers update their applications to operate in this ever changing landscape.

Enterprise applications, with active maintainers can adapt an application to these changes more consistently than hobbyists. The enterprise has many developers on the payroll and promptly trains replacements when needed. This ensures that the application will be updated and live on for as long as the company chooses. The enterprise is thus much better suited than the ham radio application whose primary, and often only developer, may no longer have the time or motivation to continue supporting said application.

To take this a little further, even these enterprises may deprecate an application or go out of business entirely, taking applications to the grave with them. One school of thought is that companies/applications die out and new, more innovative will take their place. While this may be true in high demand and trendy areas such as social media, food delivery services, etc, low traffic areas, such as ham radio, take a huge hit when closed source applications vanish.

Open Source Software (OSS)

I have many favorable opinions on open source software. More importantly than being "free" (this is not technically true), OSS software can live past the original authors. Users/developers are free to "fork" the code and develop additional features or fix bugs, often contributing these fixes back to the original authors. This model embodies the idea that software is living and breathing.

Amateur radio, generally being a part time affair, could greatly benefit from OSS. Oftentimes developers roll out a wonderful application only to find themselves, understandably, unable to devote time to enhance or maintain their creations. Had the application been an OSS project, the community could continue the work.

Finally, even though a protocol or standard is open, it's often times complex enough that the code itself is the specification. In such cases only an OSS model can mitigate.

Conclusion

I feel as though the internet based, hyped up tech world has learned from the mistakes of closed source software and has been quick to adopt/pivot to OSS model the instant it made sense. Based on my experience thus far I'm inclined to only use open source software for ham radio operation. Should an application lack features, I pledged to contribute such features. Below is a list of open source applications I use personally.

Applications

The list of applications are:

  • Open Source
  • Run on most distributions of Linux
  • Are my personal favorites for each category
Type Application Source Language Notes
PSK, RTTY, CW FLDigi Source C++ All around swiss army knife of digital modes
Rig Control FLRig Source C++ Rig control
JS8Call JS8Call Source C++, Fortran Weak signal messaging with many other features
FT8 WSJT-X Source C++, Fortran Weak signal modes
APRS YACC Source Java Great APRS client with support for offline maps
APRS APRSDroid Source Scala Great Android APRS application with a built-in AFSK audio modem, easy to interface with a radio mic/speaker cables
TNC SoundModem Source C Soundcard TNC
TNC DireWolf Source C Soundcard TNC
Maps Marble Source C++ Great map application that supports GPS and offline maps
Programming Chirp Source Python Useful for programming memory channels
SDR GQRX Source C++ Great general purpose SDR with pan adapter display
SDR SDRTrunk Source Java SDR monitoring application with support for DMR, P25, FM listening
Sat Prediction GPredict Source C++ Satellite pass prediction tool
Logging Termlog Source Go Terminal based logging application with support for POTA, SOTA, and DX spotting networks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment