Working Towards a Fast OpenWebRX HF Web Receiver + The Ethics of KiwiSDR
Over on his blog András Retzler has created a post that discusses his research work on creating a fast networked wideband HF receiver. András is the creator of the web based OpenwebRX software, which allows RTL-SDR and some other SDR’s to efficiently broadcast their SDR data over a network and onto the internet. Some live SDR’s can be found at the OpenWebRX directory at sdr.hu.
The problem with the current implementation, András writes, is that while OpenWebRX works well with the RTL-SDR’s 2.4 MSPS sampling rate, it can not work so well with very high sampling rates, such as 60MSPS due to excessive computational requirements when several channels need to be monitored. András’ solution is to use his Fast Digital Down Conversion (FastDDC) algorithm which is significantly more CPU efficient. András writes that the FastDDC algorithm improves computation by up to 300% in some cases, can speed up calculations on low powered computers like the Raspberry Pi 2 and can be implemented on a GPGPU for even higher performance. He is still working to implement the algorithm in OpenWebRX.
In addition to his work, András has also posted about what he feels is a bit of an injustice between his work on OpenWebRX and the KiwiSDR designers. The KiwiSDR is a new wideband HF SDR that has recently been successfully funded on Kickstarter. Andras writes that he is discontented with the fact that the KiwiSDR developers have forked his open source software (OpenWebRX) and are now profiting from it, without contributing back to the original project. András writes:
John Seamons has forked OpenWebRX, and sells his own hardware with it. The web interface is clearly the selling point of the device. After getting a lot of help from me, most of which was inevitable for his success, now John and ValentF(x) are leaving me with nothing, except a ‘Thank you!’. John has told me that OpenWebRX is a large part of his project, and he also claimed that my work has reduced the time-to-market of his product by maybe a year or so.
Why I’m standing up here is that forking open source software (which means changing the code in a way that is incompatible with the original version, and taking development in another direction), and funding it through Kickstarter is a very unusual way of getting things done. I acknowledge that John has very much work in his board and the accompanying software, however, he treated me and my project in an unethical manner.
In the Kickstarter comments section, the KiwiSDR creators reply back with their side. It is hard to say who is in the right in a situation like this. While what KiwiSDR have done is legal according to the licence, the ethics of doing so are questionable. We hope that both parties can successfully come to an agreement in the end.
If you want to directly support András and his work on OpenWebRX and other projects like FastDDC, then please consider donating to him at http://blog.sdr.hu/support. If you are a KiwiSDR backer, donating to Andras may be one way to right the situation if a deal cannot be reached.
Open Source is Open Source.
Andras got mad, took his ball and went home.
As a Open Source advocate, I’m just reading this now and, without reading the actual license, pretty much know what happened:
1. Andras released his code on something other than a GPL licence.
2. The KiwiSDR guys apparently promised (virtual handshake) to make it compatible and perhaps to contribute.
3. Said contribution back never occurred. Andras got screwed. KiwiSDR profits!
This is exactly the situation the GNU Public License is meant to fight against: you can NOT close the code and must either contribute your changes back to the main project or release, say, the diff of your changes. As I understand it here, KiwiSDR is not doing either.
Most other licenses are “BSD-style”, including the Apache license: these remove the provision of requiring anything to be contributed back, and usually even permit closing the forked software so long as the parent organization is removed. (This is why the MPL-licensed Firefox requires derivative works to use a different name so there is no doubt is isn’t “official” Mozilla code, for example.)
Since Andras obviously didn’t release his code as GPL, there’s not much he can do: he, and everyone else benefiting from his work, got screwed. It is why if I ever write code it will be GPL unless the project requires it under some other license.
For more info on this, you can go to the Free Software Foundation’s web site at http://www.fsf.org as well as the head page of their GNU project http://www.gnu.org.
Since I can’t edit my message, I’ll also add, in case you don’t know, that Apple’s OS-X and probably iOS are based on NetBSD (www.netbsd.org) with a custom window manager / GUI system, at least at the beginning; I hear it is now microkernel-based, but user utilities and others are still from BSD. Again, this is possible (taking a whole project and contributing nothing back) precisely because the BSD license was written from the beginning to permit this.
I only discovered this post just now (5 days late, sorry).
We haven’t announced anything formally yet on Kickstarter, but an agreement has been reached in principle. Just getting it in writing and checked by counsel so there are no loose ends. We appreciate everyone’s patience. I will say that despite what you might think I actually agree with much of what András has to say. And I staunchly defend his right to say it. He is an extraordinarily talented individual and his FastDDC / GPGPU work represents the future of SDR in my opinion.
The guy is mad that someone forked his code? Grow up. Apparently he didn’t understand how open source worked?
If you spent 2+ years working on a project and someone comes along and says can you help me, and you do, and then does not push any updates upstream to your project. And the final insult they leverage your work to sell their product. It is totally legal but it is in no way in the spirit of open source.
So your saying he worked on a fork of his own project for over 2 years and last week asked the question about back porting it back into the main line?
Seems to me his beef is about employment wrt doing the work and not being paid then back porting code and open source. Don’t know if I would bring a complaint about pay from my employer out in such a way.
I never said 2 years on the fork, re-read what I typed again.
Open Source Software is realy open, so don’t be surprised when piece of code you wriotewill go it’s own way and you will not have even influence to it. It’s a feature of open source. Every day someone can fork your project ang give it other direction. When you commit to open source you never own the code. And if one want to monetize the code itself he should do something specific for it: develop freemium features, providing paid support, customization, hosting services, asking for donations, selling compatible devices that benefit from the code, etc. The only commercial thing of open source is promotion of contributor as a developer of high competence, involvement and good will. Other case if there was an agreement between developers about developing projects and one side then denied it. But it seems that this is not this case.