The other week, I made a post on my webpage about people not using GNU
Radio
enough, which sparked off quite an interesting debate on the mailing
list.
Just the other day, I went and pushed out some simple examples using the
UHD
interface in GNU Radio. This, too, caused some discussion. And the two
are
not unrelated.
As has been pointed out by a number of people, myself included (many
times),
is that GNU Radio is a very challenging project both in its scope and
its
usage. It’s it not an end product, but a development platform to build
some
very complex systems. Communications is not an easy subject, and mixing
RF,
comms theory, information theory, computer science, and raw programming
together is a very special skill set. But despite me thinking not enough
people are using it, a ton of people ARE using GNU Radio (my real point
was
that I see many situations where others could have benefited from using
our
project instead of rolling their own), so it definitely has a good base
of
users. What I’m now seeing, and this where the recent UHD apps comes in,
is
that there we really have a lack of developers.
One thing that I keep hearing is feature requests. Some of these are
small.
A consistent coding style is one of them. More apps and examples.
Better/more documentation. These are all on my todo list, and the other
hard
working GNU Radio developers are doing their best to help out and move
the
project forward (we’ve all see what Josh is capable of doing when he’s
pulling one of his 25 hour days). But there is so much more to do! It
was
great to get feedback immediately for my UHD examples in GNU Radio. That
just tells me there was a hole that needed filling. Some of them were
bug
reports, which is fine. Instead of bug reports, though, I want to see
bug
fixes. This could come in the form of a patch or even a Git branch
somewhere
else (I use Github for all of my branch development work; see
http://gnuradio.squarespace.com/blog/2010/10/29/using-git-with-github-for-developing.html
).
What it seems to come down to is a lack of initiative. We are all
willing to
wait until someone else does something for us, and then report on the
problems. But it’s hard to start something and push it out there. First,
you
expose yourself to criticism and bug reports. You might feel
uncomfortable
about your code. Don’t. Don’t worry about those things. We the community
as
a whole will be much more grateful for your efforts in making the
project
better than insulting you for mistakes or “ugly” code. We can work on
minor
issues like that. Especially if everyone is helping.
There are two things that I want everyone to consider helping with.
First,
look at my post on using Github (and use whatever Git-supported service
you
prefer) to help develop, add features, and fix bugs in branches. I can
then
pull them into the master branch easily. Second, I have started to build
a
Coding Guide on our GNU Radio Wiki (
http://gnuradio.org/redmine/wiki/gnuradio/Coding_guide). It’s very basic
right now, but we can pull in the text that is in README.hacking, too. I
find, and I think others do as well, that getting information in the
form of
a webpage is preferable to a text file. We can use this space to iterate
and
evolve our style, and then hopefully (over time) backtrack and improve
the
existing code that we find lacking.
If we can get your help for stuff big and small, I really think we can
start
to see us making the project even better than it is now.
Thanks for your time,
Tom