What Open Source means to our hobby and why it's important.
For much of the past month I've been attempting to articulate what Open Source Software is, why it's important, how it's relevant to our hobby, how it works, how software is different from hardware and why you should consider if the equipment you buy comes with source code or not. I'm finding it difficult to separate out the issues since they all hang together in a cohesive clump of ideas and concepts.
So, let me go sideways to set the scene.
There is a movement that asserts the right to repair our own things and to ensure that manuals and diagnostic tools used by manufacturers are made available to the public.
For many radio amateurs that might sound quaint and obvious, since for much of the hobby that kind of information was not only available, it was expected and assumed to be available. You can get the circuit diagram and testing procedures, the alignment process and the list of required test equipment for most if not all amateur transceivers today and truth be told, if that testing gear isn't available, we tend to build or scrounge our own.
Compare a Yaesu FT-857d and an Icom IC-7300. They're radios from different generations, use different technologies, are made by different manufacturers and come in different packaging.
Both radios have user manuals, circuit diagrams and documented testing and alignment processes, but they're not equivalent even if they look the same.
The 857 is constructed from discrete components and circuits. There's a microprocessor on-board, the source code is not available and updates are issued by the manufacturer if and when it sees fit. Its function is to control and sequence things, selecting band filters, switching modes, updating the display and control serial communications. While integral to the functioning of the radio, the microprocessor itself is used for command and control only.
Inside the 7300 you'll also find discrete components. There are circuits, filters and the like and while individual components have reduced in size there are many of the same kinds of functions inside the radio as you'll find on an 857. The microprocessor inside the 7300 is more advanced than the one inside the 857. The source code is also not available and updates are issued by the manufacturer when it sees fit.
If that was all there was to it, I would not have spent a month attempting to capture this. Suffice to say that looks are deceiving.
The microprocessor inside the 7300 does the exact same things as the 857 with one minor difference. It now also forms part of the signal input and output chain of the radio itself.
Let me say that again.
The computer that is the heart of a modern radio is an integral part of the signal processing of the radio. Where in a traditional radio the microprocessor was switching circuits on and off to process the signal, the modern solution is to do all the signal processing using software inside the microprocessor itself. If you want to get technical, an FPGA is doing much of the signal processing, but that too is driven by software.
Where previously you had access to the circuit diagram that would show you what was being done to the signal, today you have a magic black box that does stuff completely outside your control.
If you want to know how an SSB or FM signal is decoded on the 857, the service manual will helpfully point you at two chips which provide those specific functions. It describes how the signal comes into the chip and how the signal is processed once it leaves the chip and if you need more, you can look online to find the specifications for each chip to see precisely what they do and how they work, complete with equivalent circuits and specifications.
On the other hand if you wanted to know the same information for the 7300 you'd be out of luck because if you dig deep enough, following the signal path, eventually you'd end up inside the microprocessor where software is making that happen. There's no description on how this works, what the circuit equivalent characteristics are, there's no way to change how it works, no way to set parameters, no way to see inside and no way to experiment.
This is a problem because it means that you've got a solution that's no longer operating in the spirit of amateur radio. It's not open for experimentation, it's not subject to review, there's no way to test, no means to improve, no way to do anything other than what the manufacturer decided was appropriate.
For example, if I wanted to modify the FM pass-band width on an 857, I could update the FM demodulation circuit by replacing a couple of components. On a 7300, I could not because there is no circuit. The FM demodulator is described in software that I don't have access to and Icom has decided that the FM pass-band is fixed.
If the software was open however, I could add this function and make it available to anyone who would like to experiment.
At this point I'd also like to observe that the Icom user manual states that inside the IC-7300 it uses open source "CMSIS-RTOS RTX", "zlib" and "libpng" software, so Icom is benefiting from open source efforts, but not sharing their own.
This is not an Icom only problem, this is a specific issue around open source versus closed source and while you might think that the right to repair and open source is something that's not relevant to you, I'd like to invite you to consider what the implications are for our hobby. Are we going to go down the road of button pushers, or are we continuing our role as inventors and experimenters?
I'm Onno VK6FLAB
Create your
podcast in
minutes
It is Free