In the process of developing something from scratch there are a great number of things that need doing. When you start it’s unclear what’s the most important thing, but experience has told me that starting, anywhere, is the best way to get runs on the board.
Here’s a smattering of what I’m talking about. What do we call this thing? How will we license it? What does it do? How will we determine what is required and what is nice to have? How will we avoid reinventing the wheel and how will we make sure that it’s something that people want, rather than yet another solution looking for a problem?
I started by looking at what else is going on. Specifically, the Software Defined Radio or SDR world isn’t something that arrived yesterday. There’s lots of stuff around and plenty of it is open source, so we can look inside and learn.
I asked around to see if there was a table that compares how the various SDR tools talk to the world, or rather what protocol they use. Think about how you’d get the data from a radio to a computer and how you’d control the radio and the data flow. Now imagine that neither are in the same room, or even in the same country. I started writing down what I think is needed, and then realised that this replicates stuff that has already been done. Tools like rtl_sdr, soapy, OpenHPSDR and spyserver already do some or all of this, there are others. Thus the request for the table.
This resulted in no table, but plenty of questions, including a discussion about protocols versus drivers, which lead me to the realisation that I’m going to be doing a lot of yak shaving before this project has anything to show for itself.
This neatly prompted the idea that by the time I was done, the yak was going to be well and truly shaved and now the project has a name, “Bald Yak”.
At some point it appears that there was a coffee shop in 2012 with that name and there was an engineering student using it in 2004, so no major conflicts I can see, but feel free to point out any I missed. “Bald Yak” works as a name, two words, no hyphen, because it says nothing about what the project is about, which is what you do when you cannot think of a suitable relevant name, and you’d have to admit it rolls off the tongue better than “Amateur Radio GNU Radio Project” or “ARGRP”.
Another consideration is how to license this thing, whatever it is. As you might know, I’m a firm believer, advocate, user and contributor to something called Open Source Software. It essentially says that if you distribute the software, you are required to share the source code. Lofty goal, but the outcome is not particularly equitable.
Bruce Perens K6BP is the creator of the Open Source Definition, derived from the Debian Free Software Guidelines where he was the primary author in 1997. In other words, Bruce has embodied these concepts for almost half my life.
Bruce says this about Open Source today:
“Open Source is the infrastructure of business, but the economic structure of Open Source is one of resource extraction like logging or mining: many businesses extract wealth from Open Source, but do not return significant value to the developers.”
Bruce is in the process of developing something called “Post Open” that attempts to address this inequity. Full disclaimer, I’ve been commenting on some of what Bruce is doing and he has graciously accepted most of my suggestions.
I’m not yet a convert, but I think that what Bruce is attempting is crucial for the future of sustainability of the Open Source community.
Which brings me back to licensing. How do we license “Bald Yak” and how do we strike a balance between eating food and allowing others to play with our toys? If you have suggestions, please let me know.
For now I’m storing my stuff locally but fully plan to show and tell once I’ve figured out how.
So, what is “Bald Yak”?
Here is what I have so far.
“The Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio.”
I hasten to add that this is a work in progress. I’d like the definition to be small and specific. If it can be improved, please feel free to make your pitch. My email address is [email protected].
I’ll also point out that this is slow, deliberately so. I want this to be fun, but I also want this to be real. I also need to manage my own life, family, health, finances and humour, so be gentle.
I’m Onno VK6FLAB