Discussion:
[Discuss-gnuradio] Why Isn't GNU Radio Used More?
Michael Dickens
2011-05-09 12:53:51 UTC
Permalink
Can we bring Tom's post to this list?

< http://gnuradio.squarespace.com/home/2011/5/8/why-isnt-gnu-radio-used-more.html >

Yes, I do actually read his posts ;) I hope others do too; he writes with clarity and has things to say if you're into SDR and GNU Radio.

I hope Tom's post sparks some good discussion -- not just with me or Tom (or the usual GNU Radio cohorts), but with more casual users as well since (I believe) they make up the majority of the folks trying to use GNU Radio. I will post my initial comments shortly, but I wanted to get this discussion going. - MLD
Marcus D. Leech
2011-05-09 15:12:49 UTC
Permalink
Post by Michael Dickens
Can we bring Tom's post to this list?
< http://gnuradio.squarespace.com/home/2011/5/8/why-isnt-gnu-radio-used-more.html>
Yes, I do actually read his posts ;) I hope others do too; he writes with clarity and has things to say if you're into SDR and GNU Radio.
I hope Tom's post sparks some good discussion -- not just with me or Tom (or the usual GNU Radio cohorts), but with more casual users as well since (I believe) they make up the majority of the folks trying to use GNU Radio. I will post my initial comments shortly, but I wanted to get this discussion going. - MLD
I think there's a significant community out there that learned DSP
techniques inside the envelope of Matlab/Simulink, and that's what
they're comfortable with. To change this, Gnu Radio has to appear in
more places in academia, so that graduating engineers have already been
exposed to it, and find it "natural".

The documentation, as Tom observed, is disorganized and incomplete.
This is rather an inevitable result of a system that grows organically
as it has--99% of the contributing participants are largely coders, and
not so much document writers.

There's a fear of Python, both because a surprising number of folks
don't know Python, and also because there's some (largely-misplaced)
fear that a Python-based application will be far too slow for their
application. There's still ignorance about GnuRadio Companion--I think
a lot of folks think that
it's only useful for "initial tinkering and playing around". But I've
constructed entire applications with it, and if it were better
documented, more
people would likely use it for production work. The XMLRPC server
feature, for example, isn't well understood by most follks, but I use it
in two of
my applications to great advantage.
Scott Johnston
2011-05-09 15:25:02 UTC
Permalink
In addition to Marcus's comments, a lot of people using GNUradio, myself
included, are not software developers by training. They/we are
electrical engineers interested more in the DSP, communications, and RF
applications than figuring out to put together an application from
hundreds of disparate modules with little to no documentation. Compare
using Matlab to GNuradio: In matlab you can search through hundreds of
help pages that have examples on how to use every single matlab command
and the exact syntax required, whereas with GNUradio, you either spend
hours trudging through source code and webforums or rely on the kindness
of strangers to point you in the right direction by using this list.

GnuRadio is very nice package but the barrier to entry is quite high.

Scott
Post by Marcus D. Leech
Post by Michael Dickens
Can we bring Tom's post to this list?
< http://gnuradio.squarespace.com/home/2011/5/8/why-isnt-gnu-radio-used-more.html>
Yes, I do actually read his posts ;) I hope others do too; he writes with clarity and has things to say if you're into SDR and GNU Radio.
I hope Tom's post sparks some good discussion -- not just with me or Tom (or the usual GNU Radio cohorts), but with more casual users as well since (I believe) they make up the majority of the folks trying to use GNU Radio. I will post my initial comments shortly, but I wanted to get this discussion going. - MLD
I think there's a significant community out there that learned DSP
techniques inside the envelope of Matlab/Simulink, and that's what
they're comfortable with. To change this, Gnu Radio has to appear in
more places in academia, so that graduating engineers have already been
exposed to it, and find it "natural".
The documentation, as Tom observed, is disorganized and incomplete.
This is rather an inevitable result of a system that grows organically
as it has--99% of the contributing participants are largely coders, and
not so much document writers.
There's a fear of Python, both because a surprising number of folks
don't know Python, and also because there's some (largely-misplaced)
fear that a Python-based application will be far too slow for their
application. There's still ignorance about GnuRadio Companion--I think
a lot of folks think that
it's only useful for "initial tinkering and playing around". But I've
constructed entire applications with it, and if it were better
documented, more
people would likely use it for production work. The XMLRPC server
feature, for example, isn't well understood by most follks, but I use it
in two of
my applications to great advantage.
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--
Scott Johnston
MIT Lincoln Laboratory
244 Wood Street, Lexington, MA 02420-9108
(781) 981-8196
***@LL.mit.edu
Michael Dickens
2011-05-09 15:51:50 UTC
Permalink
I think there's a significant community out there that learned DSP techniques inside the envelope of Matlab/Simulink, and that's what they're comfortable with.
True; that's how I did (MATLAB; Simulink wasn't around yet). I'd take that a step further: I'd guess that 90+% of -potential- MATLAB / Simulink / Octave / PyLab / LabVIEW / GNU Radio / GR Companion users just want the system to work as provided, without having to implement anything further beyond basic scripts -- meaning, for GNU Radio, they don't want to have to delve into writing or deciphering C++ blocks, and SWIG and XML glue necessary to use them in Python and GRC. I don't know if GRC provides this what those 90+% need just yet in terms of blocks; good "help" files / system are a necessity, as pointed out by Scott.
To change this, Gnu Radio has to appear in more places in academia, so that graduating engineers have already been exposed to it, and find it "natural".
I think that GNU Radio is pretty well represented in many areas & those are growing pretty quickly right now. I don't think GNU Radio will grow in academia until it is more accessible and meets the needs to those 90+%.

I think to succeed in the way MATLAB did, GNU Radio needs to provide functionality and documentation for those 90+%, without requiring them to learn "anything GNU Radio" more than the GRC GUI. For many potential users, writing C++ / Python / SWIG / XML is too daunting to even consider -- whether because of fear of the unknown, because they are not well documented, or just because there are too many potential areas for "difficult to debug" mistakes.

IMHO what GNU Radio needs is a stable API, internal code documentation, help files for "how to use GNU Radio", and then a well-written "how to use GNU Radio" book that includes examples of using GRC. I think this combination would bring GR/C to the masses -- those 90+%. - MLD
Michael Dickens
2011-05-09 15:57:48 UTC
Permalink
Intellectual Property: Many people / companies view the GPL as being incompatible with IP -- and, whether true or not, this perception is certainly an issue. To make progress here, maybe GNU Radio could take Ettus' UHD dual-license approach, if that is still possible? I don't know if the FSF (the copyright owner) would allow such a change; further, even with that change, I think a separate company would need to be setup to deal with the non-GPL license. I think having a less-restrictive license than the GPL would encourage adoption of GNU Radio in places where IP is an issue. - MLD
Philip Balister
2011-05-09 16:08:11 UTC
Permalink
Post by Michael Dickens
Intellectual Property: Many people / companies view the GPL as being incompatible with IP -- and, whether true or not, this perception is certainly an issue. To make progress here, maybe GNU Radio could take Ettus' UHD dual-license approach, if that is still possible? I don't know if the FSF (the copyright owner) would allow such a change; further, even with that change, I think a separate company would need to be setup to deal with the non-GPL license. I think having a less-restrictive license than the GPL would encourage adoption of GNU Radio in places where IP is an issue. - MLD
I don't see any point trying to appease the free software is anti IP
crowd. They will just invent new excuses. It is our job to help these
people understand how things really work.

I'm also less inclined to contribute to projects using BSD style
licenses since I see no benefit to me, to contribute to a project that
can be used for profit by people who do not plan to share the code with
their customers.

Anyway, the largest generator of dollars in the free software world is
the Linux kernel, and that is GPL. So economics suggest GPL is the way
to go.

Philip
Alexander Chemeris
2011-05-09 16:22:57 UTC
Permalink
Post by Michael Dickens
Intellectual Property: Many people / companies view the GPL as being
incompatible with IP -- and, whether true or not, this perception is
certainly an issue.  To make progress here, maybe GNU Radio could take
Ettus' UHD dual-license approach, if that is still possible?  I don't know
if the FSF (the copyright owner) would allow such a change; further, even
with that change, I think a separate company would need to be setup to deal
with the non-GPL license.  I think having a less-restrictive license than
the GPL would encourage adoption of GNU Radio in places where IP is an
issue. - MLD
That's true - people don't like GPL and a good library has to do
something about it.
I don't see any point trying to appease the free software is anti IP crowd.
They will just invent new excuses. It is our job to help these people
understand how things really work.
I'm also less inclined to contribute to projects using BSD style licenses
since I see no benefit to me, to contribute to a project that can be used
for profit by people who do not plan to share the code with their customers.
I believe that a library should use LGPL instead of a "clean" GPL.
Then all contributions to the library are shared with the community,
while people are still allowed to build their black boxes.
Re-licensing of GnuRadio as LGPL would be a big step towards much
higher popularity.
Anyway, the largest generator of dollars in the free software world is the
Linux kernel, and that is GPL. So economics suggest GPL is the way to go.
That's not true, Linux kernel itself doesn't generate $$$.
And to say truth - Linux kernel allows you (1) to load binary
proprietary drivers without open-sourcing them and (2) to use it with
user-space programs without open-sourcing them. And this makes Linux
kernel such an awesome thing.
GnuRadio must follow this model if it wants to be considered seriously.
--
Regards,
Alexander Chemeris.
Jeff Brower
2011-05-09 17:29:08 UTC
Permalink
Alexander-

Well said.

I would add an additional comment about "Linux as a model" for GNU Radio. Linux exists at least in part because of
widespread developer anger with Microsoft in the 1990s. Guys like Ballmer simply couldn't think straight and failed
to respect developers' time and effort. Linux solved that problem but seems to have reached limits, such as desktop
applications. It's less an economic model and more a model for global cooperation and standardization in a
fundamental area of software too important to be left to short-term oriented executives.

What I think might translate for GNU Radio is to find ways to support more types of platforms. What about a small
USRP for smart phones and tablets? Would that draw in more developers? A "platform broadening" might also make sense
from a revenue standpoint: small open source initiatives need revenue streams to grow and be able to afford things
such as extensive documentation. For GNU Radio, this means hardware.

-Jeff
Post by Alexander Chemeris
Post by Michael Dickens
Intellectual Property: Many people / companies view the GPL as being
incompatible with IP -- and, whether true or not, this perception is
certainly an issue.  To make progress here, maybe GNU Radio could take
Ettus' UHD dual-license approach, if that is still possible?  I don't know
if the FSF (the copyright owner) would allow such a change; further, even
with that change, I think a separate company would need to be setup to deal
with the non-GPL license.  I think having a less-restrictive license than
the GPL would encourage adoption of GNU Radio in places where IP is an
issue. - MLD
That's true - people don't like GPL and a good library has to do
something about it.
I don't see any point trying to appease the free software is anti IP crowd.
They will just invent new excuses. It is our job to help these people
understand how things really work.
I'm also less inclined to contribute to projects using BSD style licenses
since I see no benefit to me, to contribute to a project that can be used
for profit by people who do not plan to share the code with their customers.
I believe that a library should use LGPL instead of a "clean" GPL.
Then all contributions to the library are shared with the community,
while people are still allowed to build their black boxes.
Re-licensing of GnuRadio as LGPL would be a big step towards much
higher popularity.
Anyway, the largest generator of dollars in the free software world is the
Linux kernel, and that is GPL. So economics suggest GPL is the way to go.
That's not true, Linux kernel itself doesn't generate $$$.
And to say truth - Linux kernel allows you (1) to load binary
proprietary drivers without open-sourcing them and (2) to use it with
user-space programs without open-sourcing them. And this makes Linux
kernel such an awesome thing.
GnuRadio must follow this model if it wants to be considered seriously.
--
Regards,
Alexander Chemeris.
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Alexander Chemeris
2011-05-09 18:21:33 UTC
Permalink
What I think might translate for GNU Radio is to find ways to support more types of platforms.  What about a small
USRP for smart phones and tablets?  Would that draw in more developers?  A "platform broadening" might also make sense
from a revenue standpoint:  small open source initiatives need revenue streams to grow and be able to afford things
such as extensive documentation.  For GNU Radio, this means hardware.
I agree with that. I had an idea that a miniPCI SDR would be very
interesting solution, I discussed this with few people and they were
very interested indeed, but as a software guy I can't develop it by
myself and I had not enough resources to make someone to build it. So,
if there are any cool hardware engineers out there, looking for a way
to contribute - lets design a small SDR board.
--
Regards,
Alexander Chemeris.
Colby Boyer
2011-05-09 18:33:32 UTC
Permalink
On Mon, May 9, 2011 at 11:21 AM, Alexander Chemeris
Post by Alexander Chemeris
What I think might translate for GNU Radio is to find ways to support more types of platforms.  What about a small
USRP for smart phones and tablets?  Would that draw in more developers?  A "platform broadening" might also make sense
from a revenue standpoint:  small open source initiatives need revenue streams to grow and be able to afford things
such as extensive documentation.  For GNU Radio, this means hardware.
I agree with that. I had an idea that a miniPCI SDR would be very
interesting solution, I discussed this with few people and they were
very interested indeed, but as a software guy I can't develop it by
myself and I had not enough resources to make someone to build it. So,
if there are any cool hardware engineers out there, looking for a way
to contribute - lets design a small SDR board.
--
Regards,
Alexander Chemeris.
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
One of big reasons I think that people struggle with GNURadio is that
is jams so many different fields of expertise into one package.

1. Digital Comms people (aka the Maths people) cannot program
themselves out of a wet paper bag, for the most part. This is what I
have seen in industry and academia.

2. Software people get lost in all the digital comm and signal
processing lingo. While they can program, they really don't understand
what each block actually does.

3. Hardware people also get lost in the digital comm stuff, and also
some of the software. However, they tend to be less confused than the
'maths' people on the programming aspect
Patrik Tast
2011-05-09 19:10:57 UTC
Permalink
Hi all,



You are just totally wrong and have understood GNU Radio erroneously!

I wonder what your ear say when I say Software deinded Radio?
I hear versatile (modifiable) using software to define just my task.

GNU Radio is open software, if you want to listen at submarines, aircrafts,
what ever satellites, etc
the CORE is in GNU Radio, mod it as you want. Notice, it aint easy (just
like that) it takes skills and alot of testing.
1: jams so many different fields of expertise into one package.
It jams most fields (I'd say most if not all), it is up to you to choose
your field

I wont answer your 2, 3, claims since they are words from an uneducated
user.


Patrik


----- Original Message -----
From: "Colby Boyer" <***@gmail.com>
To: "Alexander Chemeris" <***@gmail.com>
Cc: <discuss-***@gnu.org>
Sent: Monday, May 09, 2011 21:33
Subject: Re: [Discuss-gnuradio] Why Isn't GNU Radio Used More?
On Mon, May 9, 2011 at 11:21 AM, Alexander Chemeris
Post by Alexander Chemeris
Post by Jeff Brower
What I think might translate for GNU Radio is to find ways to support
more types of platforms. What about a small
USRP for smart phones and tablets? Would that draw in more developers? A
"platform broadening" might also make sense
from a revenue standpoint: small open source initiatives need revenue
streams to grow and be able to afford things
such as extensive documentation. For GNU Radio, this means hardware.
I agree with that. I had an idea that a miniPCI SDR would be very
interesting solution, I discussed this with few people and they were
very interested indeed, but as a software guy I can't develop it by
myself and I had not enough resources to make someone to build it. So,
if there are any cool hardware engineers out there, looking for a way
to contribute - lets design a small SDR board.
--
Regards,
Alexander Chemeris.
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
One of big reasons I think that people struggle with GNURadio is that
is jams so many different fields of expertise into one package.
1. Digital Comms people (aka the Maths people) cannot program
themselves out of a wet paper bag, for the most part. This is what I
have seen in industry and academia.
2. Software people get lost in all the digital comm and signal
processing lingo. While they can program, they really don't understand
what each block actually does.
3. Hardware people also get lost in the digital comm stuff, and also
some of the software. However, they tend to be less confused than the
'maths' people on the programming aspect
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Peter F Bradshaw
2011-05-11 01:08:21 UTC
Permalink
Hi Patrik;

Actually, within companies I have been associated with I have seen some
of the divisions that Colby notes - both in the GNURadio context and in
the context of other engineering / scientific packages. Some of my work
involves getting the three groups to a common basis.

Your comment does touch on other application domains for GNURadio. The
reality is that GNURadio is a near realtime SDF package. For
instance, I can think of one application - multi channel high bandwidth
sonar - for which GNURadio would be usefull. But, of course, in that
case GNURadio would have to be renamed GNUSonar! :)
Post by Patrik Tast
Hi all,
You are just totally wrong and have understood GNU Radio erroneously!
I wonder what your ear say when I say Software deinded Radio?
I hear versatile (modifiable) using software to define just my task.
GNU Radio is open software, if you want to listen at submarines, aircrafts,
what ever satellites, etc
the CORE is in GNU Radio, mod it as you want. Notice, it aint easy (just
like that) it takes skills and alot of testing.
1: jams so many different fields of expertise into one package.
It jams most fields (I'd say most if not all), it is up to you to choose
your field
I wont answer your 2, 3, claims since they are words from an uneducated
user.
Patrik
----- Original Message -----
Sent: Monday, May 09, 2011 21:33
Subject: Re: [Discuss-gnuradio] Why Isn't GNU Radio Used More?
On Mon, May 9, 2011 at 11:21 AM, Alexander Chemeris
Post by Alexander Chemeris
Post by Jeff Brower
What I think might translate for GNU Radio is to find ways to support
more types of platforms. What about a small
USRP for smart phones and tablets? Would that draw in more developers? A
"platform broadening" might also make sense
from a revenue standpoint: small open source initiatives need revenue
streams to grow and be able to afford things
such as extensive documentation. For GNU Radio, this means hardware.
I agree with that. I had an idea that a miniPCI SDR would be very
interesting solution, I discussed this with few people and they were
very interested indeed, but as a software guy I can't develop it by
myself and I had not enough resources to make someone to build it. So,
if there are any cool hardware engineers out there, looking for a way
to contribute - lets design a small SDR board.
--
Regards,
Alexander Chemeris.
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
One of big reasons I think that people struggle with GNURadio is that
is jams so many different fields of expertise into one package.
1. Digital Comms people (aka the Maths people) cannot program
themselves out of a wet paper bag, for the most part. This is what I
have seen in industry and academia.
2. Software people get lost in all the digital comm and signal
processing lingo. While they can program, they really don't understand
what each block actually does.
3. Hardware people also get lost in the digital comm stuff, and also
some of the software. However, they tend to be less confused than the
'maths' people on the programming aspect
Cheers
--
Peter F Bradshaw: http://www.exadios.com (public keys avaliable there).
Personal site: http://personal.exadios.com
"I love truth, and the way the government still uses it occasionally to
keep us guessing." - Sam Kekovich.
Michael Dickens
2011-05-09 21:32:22 UTC
Permalink
I think that you'll find many people who cross multiple fields of expertise on this list -- I think that's part of the fun of SDR and GNU Radio to many of us. Your point that SDR encompasses many disciplines is valid, and certainly leads to a steep learning curve for some people. I have, in general, enjoyed the learning associated with SDR, GNU Radio & GRC, but I also believe it is an impediment for others. - MLD
Post by Colby Boyer
One of big reasons I think that people struggle with GNURadio is that
is jams so many different fields of expertise into one package.
1. Digital Comms people (aka the Maths people) cannot program
themselves out of a wet paper bag, for the most part. This is what I
have seen in industry and academia.
2. Software people get lost in all the digital comm and signal
processing lingo. While they can program, they really don't understand
what each block actually does.
3. Hardware people also get lost in the digital comm stuff, and also
some of the software. However, they tend to be less confused than the
'maths' people on the programming aspect
Martin Braun
2011-05-10 07:54:06 UTC
Permalink
Post by Colby Boyer
One of big reasons I think that people struggle with GNURadio is that
is jams so many different fields of expertise into one package.
1. Digital Comms people (aka the Maths people) cannot program
themselves out of a wet paper bag, for the most part. This is what I
have seen in industry and academia.
2. Software people get lost in all the digital comm and signal
processing lingo. While they can program, they really don't understand
what each block actually does.
3. Hardware people also get lost in the digital comm stuff, and also
some of the software. However, they tend to be less confused than the
'maths' people on the programming aspect
This sounds like it's from the 80ies. Things have changed a bit; education
has become more 'fluid' and it's not a big deal to know a bit of
everything. Of course, you'll never know all of everything, but if you
engage in a new project, you always have to learn new stuff as well.

I believe that our university is no different from many others in a
sense that if you graduate with a major in communications engineering,
you're supposed to know at least two of your these; and let me also
point out that you can omit a *lot* of hardware knowledge if you want to
use GNU Radio.

Let me rephrase: People struggle with GNU Radio because it jams so many
*difficult* fields into one package. SDR is not, and never will be,
easy. Writing a receiver for standard XYZ (which can operate in
real-time) is always a daunting task, and there is no way to make it
simple.

The difference between Matlab and GNU Radio is that the guys from
Mathworks make it *look* easy, whereas are favourite software package
scares away the people who are not used to scarce documentation and
autotools.

My apologies, Colby, for interpreting your email in a way you probably
didn't mean it. But what you wrote sounds like it's the user's fault GNU
Radio isn't used more often. And well, it is of course, but frankly, we
haven't made the biggest effort to make the decision between
Matlab/Simulink and GNU Radio flip to GR's benefit.

To a non GPL-philic, non-nerd, why choose GNU Radio? There is no reason:
- Matlab is generally free of charge for universities
- Matlab is used by the industry
- Matlab is better documented and has a wider user base
- Simulink has more blocks already incorporated
- Matlab/Simulink has a much wider applicability outside realtime DSP

Here at CEL, the majority of student's projects are done using
Matlab/Simulink. In those cases where the students chose GNU Radio, all
these things were true:
- The student had some background in open source dabbling (e.g. using
Linux)
- The student was not scared away when I explained that the learning
curve is intimidating
- The motivation to do the thesis was beyond simply wanting to earn
credits


I guess if we really want more people to use GNU Radio, it's up to us,
the active community, to get them on board.

MB

PS: I'm not really good at short posts :)
--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-WÃŒrttemberg and
National Laboratory of the Helmholtz Association
Jeff Brower
2011-05-10 14:07:38 UTC
Permalink
Martin-
Post by Martin Braun
- Matlab is generally free of charge for universities
- Matlab is used by the industry
- Matlab is better documented and has a wider user base
- Simulink has more blocks already incorporated
- Matlab/Simulink has a much wider applicability outside realtime DSP
Here at CEL, the majority of student's projects are done using
Matlab/Simulink.
In that case, what hardware are your students using with MATLAB/Simulink?

-Jeff
Martin Braun
2011-05-10 15:59:55 UTC
Permalink
Post by Jeff Brower
Martin-
Post by Martin Braun
- Matlab is generally free of charge for universities
- Matlab is used by the industry
- Matlab is better documented and has a wider user base
- Simulink has more blocks already incorporated
- Matlab/Simulink has a much wider applicability outside realtime DSP
Here at CEL, the majority of student's projects are done using
Matlab/Simulink.
In that case, what hardware are your students using with MATLAB/Simulink?
Most use USRPs, but we also have some Lyrtech SFF SDRs.

MB
--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-WÃŒrttemberg and
National Laboratory of the Helmholtz Association
Jeff Brower
2011-05-10 16:15:09 UTC
Permalink
Martin-
Post by Martin Braun
Post by Jeff Brower
Martin-
Post by Martin Braun
- Matlab is generally free of charge for universities
- Matlab is used by the industry
- Matlab is better documented and has a wider user base
- Simulink has more blocks already incorporated
- Matlab/Simulink has a much wider applicability outside realtime DSP
Here at CEL, the majority of student's projects are done using
Matlab/Simulink.
In that case, what hardware are your students using with MATLAB/Simulink?
Most use USRPs, but we also have some Lyrtech SFF SDRs.
If this can be generalized, then the academic situation seems good then. Matt has solved the foremost problem: get
hardware into circulation and bring in some revenue. Then the question is how to gain wider academic acceptance on
the software side. Since Mathworks and NI are arch rivals, I would think NI is looking at how to do this and giving
Matt the assistance he needs. Maybe better Win support, as others have mentioned. Maybe adding things that leverage
the hardware and the student version of Simulink isn't going to do, such as user-defined Verilog code blocks that run
on the FPGA (and are easy to use from a Win GUI).

-Jeff
Andrew Lentvorski
2011-05-09 18:59:42 UTC
Permalink
Post by Philip Balister
I don't see any point trying to appease the free software is anti IP
crowd. They will just invent new excuses. It is our job to help these
people understand how things really work.
I agree, so let's start at home.

No embedded engineer who values his job will touch a GPL piece of code
with a 10 foot pole. Period.

A good embedded engineer will use Linux only under duress. And that
will be the only GPL code he will use.
Post by Philip Balister
Anyway, the largest generator of dollars in the free software world is
the Linux kernel, and that is GPL. So economics suggest GPL is the way
to go.
Please note that the Linux kernel explicitly restricts you to GPLv2
*ONLY* because they don't like some of the sharing requirements of GPLv3.

You might want to try to convince the Linux folks to move to GPLv3
before preaching the GPL sharing gospel to others. Mysteriously, they
don't seem particularly enlightened about it.

It is, after all, easier to preach to the converted, right?

Oh, don't mind the laughter. We're laughing *with* you.

-a
Matt Ettus
2011-05-09 19:13:49 UTC
Permalink
I believe this conversation has strayed quite a bit from GNU Radio
itself. Whatever you believe about licensing, IP, versions of the GPL,
etc., the fact is that for better or for worse, GNU Radio is licensed
under GPLv3. The only way that will change is if FSF releases a GPLv4.
It is something which is up to the FSF.

The conversation about ways to bring more people into the community are
very useful. I truly believe that GRC takes away 95% of the need for
the user to actually code in either Python or C++. To me, the real
question is how to get that last 5%.

As for Windows support, Josh has been working on making Windows
installers for GNU Radio. Nearly all of the main components are in
there. With this, a Windows user never even needs to compile anything
or worry about dependencies. See:

http://www.joshknows.com/gnuradio_port#binary_packages

Matt
Michael Dickens
2011-05-09 19:22:17 UTC
Permalink
Post by Matt Ettus
I believe this conversation has strayed quite a bit from GNU Radio
itself.
Not entirely, because I think a number of us believe that licensing is a real issue. But, as you say, that ain't gonna change any time soon unless the FSF decides to do so -- so, really, that point has been made and we need to move on to other points.

And: Let's keep the discussion polite -- no name calling please! Each of us is entitled to our opinions, no matter our education level. So long as we Godwin's Law doesn't actually come to pass, I think we'll be OK.
Post by Matt Ettus
As for Windows support, Josh has been working on making Windows
installers for GNU Radio.
Go Josh! Can we clone him for the documentation effort? - MLD
Kunal Kandekar
2011-05-09 19:40:35 UTC
Permalink
Post by Matt Ettus
I truly believe that GRC takes away 95% of the need for
the user to actually code in either Python or C++. To me, the real
question is how to get that last 5%.
I'd say as long as GNU Radio is used for R&D, we'll never be able to get rid
of that last 5%. With R&D people are often trying to use GNU Radio in ways
that have not been previously anticipated. Maybe you weren't talking about
that 5%, though.

As for Windows support, Josh has been working on making Windows
Post by Matt Ettus
installers for GNU Radio. Nearly all of the main components are in
there. With this, a Windows user never even needs to compile anything
http://www.joshknows.com/gnuradio_port#binary_packages
Wow, that looks great! On any *nix, I have no qualms about going into bash
and building from source. But I think Windows users (I still consider myself
one) are just too used to installers with GUIs. This will definitely make
GNU Radio attractive to a larger audience.

Kunal
Gregory Maxwell
2011-05-09 20:21:42 UTC
Permalink
No embedded engineer who values his job will touch a GPL piece of code with
a 10 foot pole.  Period.
…and these are folks who will be out-competed in the marketplace by
competitors who are more agile and less phobic.

[
Jeff Brower
2011-05-09 21:06:13 UTC
Permalink
Gregory-
Post by Gregory Maxwell
No embedded engineer who values his job will touch a GPL piece of code with
a 10 foot pole.  Period.
and these are folks who will be out-competed in the marketplace by
competitors who are more agile and less phobic.
That sounds more wish than reality. For example, Apple is hardly being out-competed for being closed.

Andrew makes an excellent point -- for-profit entities will avoid GPL if it means placing their code of value into the
public domain. They will use GPL code when it saves time/cost and continue to find ways to mix and match with
binary-only modules, physical separation across a bus or between dissimilar chips (or cores within an SoC), and other
ways to "box" their proprietary code.

Discussion about how to solve this within GNU radio is useful... could user-defined processing blocks be added that
run on a GPU accelerator? Could a version of the USRP be made available that contains an OMAP or other device that
would allow substantial user-defined baseband processing? Basically, some place to insert in the data flow
user-defined code that has no GPL dependency. Documented reference examples showing how to do this would bring more
users to GNU radio.

-Jeff

Over time, , whateverGPL whenever they can an
Post by Gregory Maxwell
[
Stefan Gofferje
2011-05-09 17:24:11 UTC
Permalink
Let me give my 2ct to this from the perspective of a new user :).

First of all, I'm no engineer. I'm a tech guy in the management in a
company which is active in security and defense fields. I have
reasonable experience in the radio fields and pretty solid experience in
IT/Linux fields.
I have a specific task to fulfill which brought me to GNURadio because I
try to find Open Source solutions for any tasks if possible.

Here we come to the first point...
If I wouldn't be using Linux since 1996, I would be used to a certain
level of not-documentation and I wouldn't know about mailinglists, etc.
If I wouldn't have the focus on using OSS, I wouldn't have the spirit to
bite through to get it to work. You can imagine the looks of my
(non-tech) colleagues I get every day when they see me fiddling with
GRC. Each and every one of them would have tried maybe for 10 minutes
and then went on to look for a commercial solution. So GNURadio wouldn't
even have gotten compiled here.

So yes, documentation IS an issue. And also useability. I don't say,
GNURadio must be turnkey but if already the compiling goes south because
we use Opensuse (which is pretty popular in Germany and Europe in
general), it's an unnecessary obstacle.

Regarding Python, as I said, I am using Linux since 1996. I'm SuSE
Certified Linux Trainer (2001) and I really do A LOT with Linux.
Basically my whole home is handled by a Linux server, from mediaserver
over home-automation to the PBX and I have worked 10+ years in IT as
tech, trainer and consultant.
But I never ever got in touch with Python. I speak bash, PERL, PHP, C, a
little C++... Python always was "just another of these script language -
don't need it, why should I learn it?" to me.

The little bit sad thing is, that GNURadio was a little bit more
turnkey-ish some time ago. Something around 2 or so years ago, when I
looked at it the first time, out of personal / hobby interest, there was
a SuSE RPM available and it worked out of the box. No compiling
problems, no trouble with the audio hardware, etc. And GRC is - at least
for me - intuitive enough to try first steps.

So, from my point of view, todos would be

1.) Make sure, everybody gets it running! The perfect solution would be
a binary RPM for every big distro, always uptodate and checked for
distro-specific issues, like sound, etc.

2.) Documentation, documentation, documentation. Preferably NOT in an
Internet Wiki - if I follow advice, the LAN port of my laptop is blocked
by the x-cable to the USRP2... In-app help is the key.

3.) Get rid of Python or at least enhance GRC that much that you need to
go into Python only in real hardcore cases. GRC is the way to go. Comeon
- - even software is developed visually nowadays without much hand-coding...

4.) Make sure I don't have to publish the source if I write some
specific block or application for/with GNURadio. My boss and our
customers are kinda sensitive about giving out information that are
operatively relevant :).


- --
(o_ Stefan Gofferje | SCLT, MCP, CCSA
//\ Reg'd Linux User #247167 | VCP #2263
V_/_ Heckler & Koch - the original point and click interface
Marcus D. Leech
2011-05-09 17:59:50 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Let me give my 2ct to this from the perspective of a new user :).
First of all, I'm no engineer. I'm a tech guy in the management in a
company which is active in security and defense fields. I have
reasonable experience in the radio fields and pretty solid experience in
IT/Linux fields.
I have a specific task to fulfill which brought me to GNURadio because I
try to find Open Source solutions for any tasks if possible.
Here we come to the first point...
If I wouldn't be using Linux since 1996, I would be used to a certain
level of not-documentation and I wouldn't know about mailinglists, etc.
If I wouldn't have the focus on using OSS, I wouldn't have the spirit to
bite through to get it to work. You can imagine the looks of my
(non-tech) colleagues I get every day when they see me fiddling with
GRC. Each and every one of them would have tried maybe for 10 minutes
and then went on to look for a commercial solution. So GNURadio wouldn't
even have gotten compiled here.
So yes, documentation IS an issue. And also useability. I don't say,
GNURadio must be turnkey but if already the compiling goes south because
we use Opensuse (which is pretty popular in Germany and Europe in
general), it's an unnecessary obstacle.
I think you (tangentially) touched on an interesting point. Many users
come to Gnu Radio expecting it to be
"A turnkey application to solve my radio problems". They don't
really get that it's a *development* platform
for *developing* SDR-based radio applications. They expect it to be
"the best HF SSB radio on the planet",
or "a really funky satellite downlink radio". Not perhaps really
having internalized that Gnu Radio is more
like a tray full of parts than a finished product. In precisely the
same way that the C compiler isn't your
end application--it's one of the tools you use to produce your end
application. There are some number of users
who arrive at Gnu Radio fully expecting that it's a finished
application (and, more precisely, *their* finished application),
and then become discouraged when it is clearly more like the C
compiler than the local consumer electronics store.
Regarding Python, as I said, I am using Linux since 1996. I'm SuSE
Certified Linux Trainer (2001) and I really do A LOT with Linux.
Basically my whole home is handled by a Linux server, from mediaserver
over home-automation to the PBX and I have worked 10+ years in IT as
tech, trainer and consultant.
But I never ever got in touch with Python. I speak bash, PERL, PHP, C, a
little C++... Python always was "just another of these script language -
don't need it, why should I learn it?" to me.
Python was a choice that was made a long time ago. I personally might
not have gone that way, but that was the choice.
In fact, I learned Python *precisely because* Gnu Radio used it for
"glue code".

These days, much of the infrastructure that the Python code glues
together is fully accessible to C++ programs as well, so
you don't have to learn Python.
The little bit sad thing is, that GNURadio was a little bit more
turnkey-ish some time ago. Something around 2 or so years ago, when I
looked at it the first time, out of personal / hobby interest, there was
a SuSE RPM available and it worked out of the box. No compiling
problems, no trouble with the audio hardware, etc. And GRC is - at least
for me - intuitive enough to try first steps.
So, from my point of view, todos would be
1.) Make sure, everybody gets it running! The perfect solution would be
a binary RPM for every big distro, always uptodate and checked for
distro-specific issues, like sound, etc.
The problem is that development is brisk enough that cutting
rpms/debs/whatevers every few days is
*work*. Unless someone steps up to do that work, it won't get done.
Scripts like build-gnuradio
go some of the way to make it less painless to build from source.
Yes, it only supports Ubuntu and
Fedora, but I'm happy to accept patches for other distributions, like
your favourite OpenSUSE.
2.) Documentation, documentation, documentation. Preferably NOT in an
Internet Wiki - if I follow advice, the LAN port of my laptop is blocked
by the x-cable to the USRP2... In-app help is the key.
Yes, in-app help is a good idea. But the *intention* is that you have a
dedicated Ethernet port for your
USRP2. USB ethernet devices for the regular LAN side of your work
are quite cheap, and well-supported.
3.) Get rid of Python or at least enhance GRC that much that you need to
go into Python only in real hardcore cases. GRC is the way to go. Comeon
- - even software is developed visually nowadays without much hand-coding...
There's essentially *zero* chance that Python is going to go away. I'd
also assert that it will *never*
be the case that there will be no circumstances under which you'll
have to augment the functionality
that GRC encompasses. Yes, it needs more blocks--both existing ones
that haven't been GRCed, and
new blocks that haven't been invented yet. And perhaps there needs
to be more automation of how
those blocks show up in GRC. But there are *no*
graphical-programming tools that can fully-encompass
all the types of programming problems and algorithms one might want
to implement. In fact, the "connect the blocks"
paradigm is inherently limited in the classes of problems that can be
economically expressed under that paradigm.

There will always be cases in which you'll need to augment what GRC is
capable of. There should perhaps be better mechanisms
for augmenting those capabilities, and better documentation for the
mechanisms that already exist--the XMLRPC stuff, for example,
is really quite powerful, but I fear I may be the only person using
it. Further, at least in a Linux environment, existing mechanisms
like FIFOs can be used fairly easily to do "stuff" outside of the
normal Gnu Radio pipeline that don't nicely "fit" the connect-the-blocks
model. But documenting all of that will tend, necessarily, to wander
off into documenting existing Linux mechanisms, and that begs the
question "how much does a documentation effort wish to bite off".
4.) Make sure I don't have to publish the source if I write some
specific block or application for/with GNURadio. My boss and our
customers are kinda sensitive about giving out information that are
operatively relevant :).
The existing GPL licensing would make that difficult. But you can
isolate your own functionality behind existing IPC mechanisms, and thus
avoid
binding any of your code to the Gnu Radio libraries.
Alexander Chemeris
2011-05-09 18:22:36 UTC
Permalink
Post by Stefan Gofferje
4.) Make sure I don't have to publish the source if I write some
specific block or application for/with GNURadio. My boss and our
customers are kinda sensitive about giving out information that are
operatively relevant :).
The existing GPL licensing would make that difficult.  But you can isolate
your own functionality behind existing IPC mechanisms, and thus avoid
 binding any of your code to the Gnu Radio libraries.
Is it that hard to re-license it under LGPL? Really.
--
Regards,
Alexander Chemeris.
Marcus D. Leech
2011-05-09 20:29:19 UTC
Permalink
Post by Alexander Chemeris
Is it that hard to re-license it under LGPL? Really.
I don't know. But in the meantime, Linux has such a rich set of IPC
primitives (and programming languages, etc, etc), that using Gnu Radio as
your base and mixing in your own proprietary secret sauce shouldn't
be that big a deal, even in lieu of different licensing.

I've done it that way a couple of times. If Gnu Radio moves to LGPL, I
might reconsider *some* of that work. But it also allows me to isolate
my proprietary GUIs and "other stuff" for functional and "good
programming practice" reasons as well.
Michael Dickens
2011-05-09 18:25:21 UTC
Permalink
I think you (tangentially) touched on an interesting point. Many users come to Gnu Radio expecting it to be "A turnkey application to solve my radio problems". They don't really get that it's a *development* platform for *developing* SDR-based radio applications.
Good point; one can go search through this list's archive & find many places where someone writes asking how to do some specific task, e.g., CR or DSA -- as if expecting that GNU Radio already has a solution that they can leverage. Clearly there is a perception out there that GNU Radio -is- a generic solution, and then they don't bother to RTFM to figure out that it's more like Octave & that they have to create their application themselves. Better documentation would help, but it will never solve this issue.
I'd also assert that it will *never* be the case that there will be no circumstances under which you'll have to augment the functionality that GRC encompasses.
I often use GRC for simple tasks -- it's a LOT faster than writing Python scripts, and it "just works" for these tasks. Admittedly, these are simple -- such as reading a file of audio data, adding in gain, and then both displaying a waterfall FFT and piping the data to audio out. I do agree that for any cutting-edge project what you write is true, but if GNU Radio accumulates blocks over time GRC will eventually fit the needs of that 90+% I keep talking about. Of course, that ~10% will always remain, as they are the cutting edge folks.
the "connect the blocks" paradigm is inherently limited in the classes of problems that can be economically expressed under that paradigm.
True, but it's an enormous class. Maybe I'm too limited, but I cannot think of a communication algorithm that can't be implemented graphically in GRC, somehow (or the equivalent, via some combination of a data-flow graph and text command line such as provided by Python).
you can isolate your own functionality behind existing IPC mechanisms, and thus avoid
binding any of your code to the Gnu Radio libraries.
True, but that's OS-dependent and a nuisance. Why not the dual-license approach -- one as GPL and another that allows for local IP (the LGPL would probably suffice)? Again I don't know if the FSF would allow it, but there are plenty of potential end-users who would benefit from this model. - MLD
Alexander Chemeris
2011-05-09 18:48:25 UTC
Permalink
you can isolate your own functionality behind existing IPC mechanisms, and thus avoid
binding any of your code to the Gnu Radio libraries.
Well, that this IPC should be very well integrated into GnuRadio, well
documented and made easy to use, especially for those who never used
GnuRadio before.
True, but that's OS-dependent and a nuisance.  Why not the dual-license approach -- one as GPL and another that allows for local IP (the LGPL would probably suffice)?  Again I don't know if the FSF would allow it, but there are plenty of potential end-users who would benefit from this model. - MLD
Dual-licensing is a flawed model, it's truly hard to make it working
right. I believe that something like LGPL would be sufficient.
--
Regards,
Alexander Chemeris.
Michael Dickens
2011-05-09 18:55:04 UTC
Permalink
Post by Alexander Chemeris
Dual-licensing is a flawed model, it's truly hard to make it working
right.
From what I understand, dual licensing mostly works for Qt -- and, I doubt that Ettus would be exploring it for UHD if it didn't have some merits. I wonder if you can elaborate on how/why it is flawed?
Post by Alexander Chemeris
I believe that something like LGPL would be sufficient.
I fully agree, but I doubt that the FSF will downgrade the license to be just LGPL. They might allow a second license as a means of income? - MLD
Marcus D. Leech
2011-05-09 20:42:50 UTC
Permalink
Post by Michael Dickens
I often use GRC for simple tasks -- it's a LOT faster than writing Python scripts, and it "just works" for these tasks. Admittedly, these are simple -- such as reading a file of audio data, adding in gain, and then both displaying a waterfall FFT and piping the data to audio out. I do agree that for any cutting-edge project what you write is true, but if GNU Radio accumulates blocks over time GRC will eventually fit the needs of that 90+% I keep talking about. Of course, that ~10% will always remain, as they are the cutting edge folks.
There's a growing expectation that Gnu Radio exists to provide
functional blocks for *all parts* of your communications system. I
think that's
a flawed model, and flies in the face of sound modularity
principles. There's an expectation that Gnu Radio handle "everything",
and I just
don't think that's a good model. Gnu Radio, to me, is a DSP engine
that happens to live on a general-purpose compute platform. But it has
become "sullied" over the years with "other stuff" unrelated to
strictly-signal-path problems. Attempting to shoe-horn "stuff" that isn't
strictly signal-path oriented into Gnu Radio will cause both
unnecessary bloat in the codebase, but more-importantly, it will cause
people
to suffer grief in that they're trying to use the wrong paradigm to
solve the not-strictly-signal-path parts of their "solution".
Post by Michael Dickens
True, but it's an enormous class. Maybe I'm too limited, but I cannot think of a communication algorithm that can't be implemented graphically in GRC, somehow (or the equivalent, via some combination of a data-flow graph and text command line such as provided by Python).
See above. The problem is that people want the Gnu Radio signal-path
paradigm to solve problems that aren't necessarily directly signal-path
related. Strictly speaking, for example, none of the GUI stuff
should be in Gnu Radio proper at all. But it's awfully convenient. The
thinking that
lead to non-signal-path processing inside Gnu Radio is, I would
assert, a strong reason for people finding it "wanting"--they naturally
expect
that it does "everything". Which it can't. Hmmm, I wonder if a
flow-graph is Turing complete? Another example: HTML. HTML can be used
to solve a vast number of problems, and indeed rich "applications"
have been constructed using HTML. But (at least early versions of) HTML
isn't Turing complete--it's not a complete programming paradigm, and
so much functionality must necessarily be implemented outside of
it. I would assert that Gnu Radio is in the same category--it's a
paradigm for managing mathematical data-flow. So, when you have a problem
that falls outside of that model, you have to ask yourself: is it a
flaw in the model, or a flaw in my reasoning about the applicability of
the model
to my application?
Michael Dickens
2011-05-09 20:49:34 UTC
Permalink
Gnu Radio, to me, is a DSP engine that happens to live on a general-purpose compute platform.
True. But the GNU Radio model is build on data-flow, while the Octave model is not -- and, that might be a key difference. People have grown, for better or worse, used to using the MATLAB / Octave script processing model -- which is buffer based instead of block based. I don't see a need to change GNU Radio's model -- but rather to note that it is different from MATLAB / Octave & thus new(er) users need to think differently about how to write GNU Radio scripts. I doubt this difference in models makes any difference in adoption, but maybe it does? - MLD
Colby Boyer
2011-05-09 21:08:52 UTC
Permalink
Gnu Radio, to me, is a DSP engine that happens to live on a general-purpose compute platform.
True.  But the GNU Radio model is build on data-flow, while the Octave model is not -- and, that might be a key difference.  People have grown, for better or worse, used to using the MATLAB / Octave script processing model -- which is buffer based instead of block based.  I don't see a need to change GNU Radio's model -- but rather to note that it is different from MATLAB / Octave & thus new(er) users need to think differently about how to write GNU Radio scripts.  I doubt this difference in models makes any difference in adoption, but maybe it does? - MLD
_______________________________________________
Discuss-gnuradio mailing list
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
I think it is important to point out, is that *most* baseband
processor design seems to follow a buffer-esque* based model for
implementation in silicon. A lot of wireless standards switch
modulation and coding midway through frames. Look at 802.11, GPP
Release XX, etc as examples. You need a sample buffer to jump to and
from in, to correctly decode a frame/packet/burst/etc. I don't always
find this easy with the GNURadio framework, or maybe I am doing it
wrong.

*I say buffer-esque because once the buffers have been carved out, a
specific will go down a specific demodulation chain, i.e. CCK
modulation or DQPSK.
Stefan Gofferje
2011-05-09 18:31:23 UTC
Permalink
Post by Marcus D. Leech
I think you (tangentially) touched on an interesting point. Many users
come to Gnu Radio expecting it to be
"A turnkey application to solve my radio problems". They don't really
get that it's a *development* platform
for *developing* SDR-based radio applications.
Well, at least I look at it kinda like an IDE. And of course I don't
expect my final software solution to bit shipped with the IDE. But I
kinda expect the IDE to start up and let me work with it :).
Post by Marcus D. Leech
Python was a choice that was made a long time ago. I personally might
not have gone that way, but that was the choice.
In fact, I learned Python *precisely because* Gnu Radio used it for
"glue code".
Yeah, probably because you are one of those crazy
used-to-suffering-Linux-types :). Like me and others :). See my point? :)
Post by Marcus D. Leech
These days, much of the infrastructure that the Python code glues
together is fully accessible to C++ programs as well, so
you don't have to learn Python.
As I said, I'm no engineer, so somebody should maybe look at the
question if engineers learn C++ or rather some other stuff.
I remember vaguely that in school's occupational orientation week some
25 years ago I touched some weird languages for some hardware stuff -
don't remember details though.

About the rest...
Marcus, I'm rather happy with GNURadio now. I AM one of this
used-to-suffering-Linux-Types and now, as I found the beginning, I'm
gonna continue using it - not to a small part thanks to you and your
off-list help.

The original question was "why isn't GNURadio used more?"
I was trying to give some input to this topic.

I think, the way the community addresses the issues that new users have,
will in the end decide if GNURadio gets more popular or not.
Do you say "We do it so because we always did it so", "Well, it is as it
is, live with it" or "changes are too much work" or do you try to make
it happen?

I think, GNURadio doesn't only have potential in academic fields. I find
GRC so easy and intuitive that I could very well imagine it to be some
educational tool. Combine it with a low-cost limited hardware and you
can have kids learn engineering and RF basics in a very convenient way.
It also has the potential to become a leader in the HAM-radio world. I
have seen some commercial HAM-radio SDRs and their software is usually
very nice and colorful but lacks a big deal of GNURadio's flexibility.

You just have to make it a bit easier and a bit more convenient for all
those not used-to-suffering-Linux-types :).

Btw - as soon as I got reasonably deep into stuff, I'd be willing to
write a few docs or howtos as my time permits.

- --
(o_ Stefan Gofferje | SCLT, MCP, CCSA
//\ Reg'd Linux User #247167 | VCP #2263
V_/_ Heckler & Koch - the original point and click interface
Ben Reynwar
2011-05-09 21:12:35 UTC
Permalink
Post by Stefan Gofferje
4.) Make sure I don't have to publish the source if I write some
specific block or application for/with GNURadio. My boss and our
customers are kinda sensitive about giving out information that are
operatively relevant :).
I'm pretty sure you only have to release the source to people who you
are giving/selling the software too, and only if they ask for it. So
if you're developing the software for one customer there is no issue
at all. If you have more than one customer, then the customers all
need to trust one another not to release the source publicly (maybe
possible in some cases?). There is no obligation to make the source
public.

Ben
Michael Dickens
2011-05-09 21:29:31 UTC
Permalink
Post by Ben Reynwar
I'm pretty sure you only have to release the source to people who you
are giving/selling the software too, and only if they ask for it. So
if you're developing the software for one customer there is no issue
at all. If you have more than one customer, then the customers all
need to trust one another not to release the source publicly (maybe
possible in some cases?). There is no obligation to make the source
public.
I think your interpretation is generally correct, but probably not complete either.

Also: GNU Radio is under GPLv3, so there are other restrictive clauses -- e.g., regarding patentability of the licensed & any derived code. GPLv2 doesn't have these additional restrictions, which IIRC is why Linux is still under it instead of v3.

While discussing GNU Radio's license is interesting and important, there's nothing we can do about it for GNU Radio: as Matt & I have written, that's up to the FSF. There are plenty of other arenas where we can do something. So, we need to be directing our comments in other places -- such as ways to "make GNU Radio better" as Philip started. - MLD
Patrick Strasser
2011-05-10 09:49:24 UTC
Permalink
Post by Marcus D. Leech
The documentation, as Tom observed, is disorganized and incomplete.
This is rather an inevitable result of a system that grows organically
as it has--99% of the contributing participants are largely coders, and
not so much document writers.
I don't think that "outsourcing" documentation from coders is the way to
go. It's the coders that know about the functionality. They also know
the rationale behind the creation a a certain part of the system and all
the implementation details: Why was this implemented in this way and not
another, what are the strengths, what is important to know, what would
be a dis-use of the component, etc.

Of course not every coder is a good User Documentation writer. This may
be because the coder would have problems to imagine a point of view
without all the details he already knows, or he/she is using the system
in a very special way, which would be quite different from the
mainstream use.

So I think the best situation would be to have the coders write API
documentation and document design decissions - this could be a text
document in the source tree, a blog post or a summary to a mailing list
discussion; it should last and be accessible. Then more usage-oriented
people with a broader, less detailed view create a users documentation.

IMO GNU Radio lacks a lot of low level docs and design docs. Referning
to the (undocumented) source code is not documentation.
That Howto is a good starter, but I think it does not fit the needs of
the average user: Putting blocks together that just work.

Sometimes one can find some glimpses of rationales of new features on
the mailing list, but in general my impression is that the future design
is decided by people off-scene.

Just my 2 €-Cent...

Regards

Patrick
--
Engineers motto: cheap, good, fast: choose any two
Patrick Strasser <patrick dot strasser at student dot tugraz dot at>
Student of Telemati_cs_, Techn. University Graz, Austria
Vijay Pillai
2011-05-09 16:39:05 UTC
Permalink
I completely concur with what you wrote below and what Scott Johnson wrote some time ago.

USRP is an incredibly powerful platform and substantially low cost - I am somewhat befuddled by how it has not attained greater prevalence but at least some of the reasons are plainly obvious

- incomplete (or in some cases non-existent) documentation
- as a hardware engineer, my time is better spent in getting quickly to using the thing than to learn the nuances of Python
- it seems the vast majority of users today are software programmers, who may not be that averse to spending copious amounts of time on C++..

I also suspect that the folks at Ettus are somewhat stretched thin by all the support work. Having said all that I will add that GRC is very good (easy to learn) and can do most things that I need. It does have stability issues, as I frequently get some error dialog or the other.

Best regards,
-Vijay
--- On Mon, 5/9/11, Michael Dickens <***@alum.mit.edu> wrote:

From: Michael Dickens <***@alum.mit.edu>
Subject: Re: [Discuss-gnuradio] Why Isn't GNU Radio Used More?
To: "GNURadio Discussion List" <discuss-***@gnu.org>
Date: Monday, May 9, 2011, 11:51 AM
I think there's a significant community out there that learned DSP techniques inside the envelope of Matlab/Simulink, and that's what they're comfortable with.
True; that's how I did (MATLAB; Simulink wasn't around yet).  I'd take that a step further: I'd guess that 90+% of -potential- MATLAB / Simulink / Octave / PyLab / LabVIEW / GNU Radio / GR Companion users just want the system to work as provided, without having to implement anything further beyond basic scripts -- meaning, for GNU Radio, they don't want to have to delve into writing or deciphering C++ blocks, and SWIG and XML glue necessary to use them in Python and GRC.  I don't know if GRC provides this what those 90+% need just yet in terms of blocks; good "help" files / system are a necessity, as pointed out by Scott.
To change this, Gnu Radio has to appear in more places in academia, so that graduating engineers have already been exposed to it, and find it "natural".
I think that GNU Radio is pretty well represented in many areas & those are growing pretty quickly right now.  I don't think GNU Radio will grow in academia until it is more accessible and meets the needs to those 90+%.

I think to succeed in the way MATLAB did, GNU Radio needs to provide functionality and documentation for those 90+%, without requiring them to learn "anything GNU Radio" more than the GRC GUI.  For many potential users, writing C++ / Python / SWIG / XML is too daunting to even consider -- whether because of fear of the unknown, because they are not well documented, or just because there are too many potential areas for "difficult to debug" mistakes.

IMHO what GNU Radio needs is a stable API, internal code documentation, help files for "how to use GNU Radio", and then a well-written "how to use GNU Radio" book that includes examples of using GRC.  I think this combination would bring GR/C to the masses -- those 90+%. - MLD
Marcus D. Leech
2011-05-09 17:22:01 UTC
Permalink
Post by Vijay Pillai
I completely concur with what you wrote below and what Scott Johnson wrote some time ago.
USRP is an incredibly powerful platform and substantially low cost - I
am somewhat befuddled by how it has not attained greater prevalence
but at least some of the reasons are plainly obvious
- incomplete (or in some cases non-existent) documentation
- as a hardware engineer, my time is better spent in getting quickly
to using the thing than to learn the nuances of Python
- it seems the vast majority of users today are software programmers,
who may not be that averse to spending copious amounts of time on C++..
I find this attitude a little strange--not meaning to offend or
anything. But this is, in fact *software* defined radio. So why is it
always a big surprise
when hardware types encounter an SDR platform and become
more-than-vaguely-queasy at the though of having to, perhaps, learn a
little bit
about software.

Just as not every piece of combinatorial logic that could ever be
conceived of hasn't already been implemented in the (digital) hardware
world, so
to in the software world, not every conceivable functional block
having to do with folding/spindling/mutilating a digital sample stream
has yet
been created (and, by extension, the useful combinations of those
fundamental blocks). Which is why, well, those of us on either side of
the fence (hardware or software) have jobs.

Similarly, when a software-only guy encounters SDR, they become vaguely
offended that they might actually have to think about (shock!) hardware
issues, and real-time scheduling, and the vagaries of propagation.
In the software world, you can just "add another layer of abstraction",
to make
your problems go away (or at least hide them under the covers
sufficiently well that they're not so frightenting). But in a sense,
SDR in general,
and Gnu Radio in particular, are "perfect storms" for the
uninitiated. You really, honestly, do have to *understand* things on
both sides of
the fence. And there aren't too many practitioners out there who
straddle the fence acceptably well at this point.
Michael Dickens
2011-05-09 18:05:52 UTC
Permalink
this is, in fact *software* defined radio. So why is it always a big surprise when hardware types encounter an SDR platform and become more-than-vaguely-queasy at the though of having to, perhaps, learn a little bit about software.
If I got paid a dime for each time someone in a meeting made the comment "Why is there so much hardware in -software- defined radio?" I'd be wealthy!

I think your points about SDR being the "perfect storm" by requiring both software and hardware knowledge is quite true -- and, because of this joint complexity, one reason why folks aren't adopting it in droves. As you say: there aren't too many practitioners out there who straddle the fence acceptably well at this point. I'm a software guy; I can integrate software with hardware, but I don't do hardware beyond knowing specs and writing the software for integrating it. I have no desire to be a hardware guy, though I know that understanding hardware limitations is important for DSP and SDR in particular where "real time" means something.

One cannot have every possible block available in GR/C; but, if enough blocks are available to do 90+% of what common users need, then that's good enough for the GR/C release. And, then much like MATLAB / Octave, there needs to be a way to install new blocks easily from an archive or local compile -- I really don't know if that's the case right now.

In my thinking, what blocks to include comes down to what end-users actually -need- to do, versus what we engineer / developers think they need to do; there is often a substantial gap between these areas. In order to attract "the masses", this gap needs to be reduced / closed. - MLD
Kunal Kandekar
2011-05-09 18:51:46 UTC
Permalink
Could it also be because GNU Radio has always treated the Windows platform
as a second-class citizen?

I have tried installing GNU Radio on all three major OSes, Linux (RHEL,
Ubuntu), OS X (10.5, 10.6) and Windows (XP, using Cygwin), and I never
managed to get it running on Windows. On the other hand, it's been ~5 years
since I tried and gave up, so things may have changed. Getting it running on
OS X and Linux was (relatively) easy.

Windows is the most widespread desktop/laptop OS, and having to switch to
Linux, or needing a separate machine, for GNU Radio development could be
significant barrier to adoption.

It may be helpful to look at what people *do* use instead of GNU Radio, and
see how they differ.

Kunal


On Mon, May 9, 2011 at 8:53 AM, Michael Dickens <***@alum.mit.edu> wrote:
Michael Dickens
2011-05-09 18:59:28 UTC
Permalink
Good points, Kunal. I know that Tom has talked about having nightly builds for the major OSs -- as much as anything to make sure that the GIT master always compiles and passes "make check" at the end of the day. Maybe he could also set up that system such that it provides those builds as installable tarballs? I think part of the issue here is that GNU Radio has so many -required- dependencies that the tarball would be very large for some OSs to make sure all of the dependencies are met -- certainly not impossible, but maybe difficult until gnuradio-core is further split into smaller parts? - MLD
Could it also be because GNU Radio has always treated the Windows platform as a second-class citizen?
I have tried installing GNU Radio on all three major OSes, Linux (RHEL, Ubuntu), OS X (10.5, 10.6) and Windows (XP, using Cygwin), and I never managed to get it running on Windows. On the other hand, it's been ~5 years since I tried and gave up, so things may have changed. Getting it running on OS X and Linux was (relatively) easy.
Windows is the most widespread desktop/laptop OS, and having to switch to Linux, or needing a separate machine, for GNU Radio development could be significant barrier to adoption.
It may be helpful to look at what people *do* use instead of GNU Radio, and see how they differ.
Loading...