Recent versions of firmware will be removed

VK3KYY
Posts: 7481
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Recent versions of firmware will be removed

Post by VK3KYY » Mon May 17, 2021 9:53 pm

do1jml wrote:
Mon May 17, 2021 9:34 pm
VK3KYY wrote:
Mon May 17, 2021 9:27 pm
The binary sections contain all sorts of code and data, not just the codec, but its all mixed together like its been in a blender.
OK. Then the answer to the question is "very difficult to do". Thank you.
Not impossible, but incredibly time consuming, and its unlikely even if you manually compacted the official binaries to remove unused data and functions that you would have enough space for another codec.

You'd also have to determine the actual size of codec2 as when compiled to an ARM Cortex M4 binary, and then look at the size of all the unused functions and data in the official blobs, to deciede whether its even worth starting work to manually compact the official binary.

My guess is that it probably won't fit even if you manually compacted the official code.

VK3KYY
Posts: 7481
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Recent versions of firmware will be removed

Post by VK3KYY » Mon May 17, 2021 10:00 pm

If you are an experienced embedded firmware developer, you could change the linker to remove the reserved sections for the official firmware, and compile in the codec2 files, however you still have several problems.

1. codec2 does not use the DMR forward error correction, which is part of the functionality in the official binary sections, so you'd need to write the FEC encode and decode, or port it from somewhere else.
2. AFIK Brandmeister and DMR MARC don't allow traffic using other codecs on their networks. Some smaller networks may allow it, but I'm not aware of any which say they definietly allow it.
So I'm not sure how you are going to talk to anyone else unless its via simplex

do1jml
Posts: 53
Joined: Fri Sep 11, 2020 10:56 am

Re: Recent versions of firmware will be removed

Post by do1jml » Tue May 18, 2021 6:54 am

VK3KYY wrote:
Mon May 17, 2021 10:00 pm
So I'm not sure how you are going to talk to anyone else unless its via simplex
I understand the "chicken and egg" problem, but projects need to start somewhere. For example, I am building a mcHF transceiver right now, because it natively supports freeDV/codec2 (on its arm processor). I don't expect to be able to talk to hundreds of people using freeDV, but I am doing it anyway. Ham radio is not limited to piling up QSOs.

An open codec firmware for the GD77 would have been interesting (and may have motivated Brandmeister to change their policies, etc...), but the effort needs to be reasonable. It looks as if it would be a lot more effort than what is doable. Sad, but such is life.

In any case, the discussion has been interesting, because I learned that the ambe+2 code is obfuscated. That makes lots of sense from DVSI position because the last thing they want is someone implementing another codec on DMR. So an educated guess is that they are directly involved in the development of the firmware, which may explain the difficulties with support. OTOH, this also means that they are not likely to sue the developers of openGD77.

SP2ONG
Posts: 45
Joined: Sat Nov 16, 2019 9:47 am

Re: Recent versions of firmware will be removed

Post by SP2ONG » Tue May 18, 2021 7:51 am

I share the opinion with DO1JML
do1jml wrote:
Tue May 18, 2021 6:54 am
...For example, I am building a mcHF transceiver right now, because it natively supports freeDV/codec2 (on its arm processor). I don't expect to be able to talk to hundreds of people using freeDV, but I am doing it anyway. Ham radio is not limited to piling up QSOs.
An open codec firmware for the GD77 would have been interesting (and may have motivated Brandmeister to change their policies, etc...), but the effort needs to be reasonable. It looks as if it would be a lot more effort than what is doable. Sad, but such is life.
..

m0dmp
Posts: 4
Joined: Sun Sep 27, 2020 9:08 pm

Re: Recent versions of firmware will be removed

Post by m0dmp » Wed May 19, 2021 3:15 pm

This entire argument is a bit bizarre.

GPL is a great licence here, and there is one key reason why.

Let's imagine a commercial company comes along, uses the firmware commercially, adds encryption, SMS and a bunch of other features, and wraps it up in a radio they charge $$$ for.

Sounds bad, all the OpenGD77 developers' work has been used for someone else to make money.

*BUT*:

The features that the commercial company have added (SMS, encryption yadda yadda) are also released under the GPL, so everybody wins.

What the GPL prevents is the commercial company coming along, enhancing the product, selling it *AND NOT FEEDING BACK THEIR ENHANCEMENTS*.

So we all win.

It doesn't solve the codec/binary linkage issue. But distributing a build with a bunch of binary code pulled from a radio (that you don't hold the copyright for) was always going to end in tears eventually.

David

m0dmp
Posts: 4
Joined: Sun Sep 27, 2020 9:08 pm

Re: Recent versions of firmware will be removed

Post by m0dmp » Wed May 19, 2021 3:23 pm

Actually, having thought about this further, the GPL might not be the specific issue with this.

Provided you provide the code and all the other chunks/tools/linker scripts etc needed to reproduce the binary representation you distributed (including the binary chunk from the official firmware), then the GPL would be complied with. There's a rider within the GPL about 'preferred representation' of the code - so you can't just release the assembler, and say it's complied with.

What you would still fall foul of is that you are distributing the manufacturer's compiled binary code, which they hold the copyright for, without *THEIR* permission. So they could complain, but the GPL might arguably be satisfied. But without whoever holds the copyright for the manufacturer's firmware, you can't get round that bit.

The way round that, as has been hinted before, is to produce a tool which downloads the FW from the user's radio or from a user-downloaded copy of the official FW, extracts the blob, and compiles/splices it into the FW and then uploads it. It's entirely reasonable if nobody wants to do this, but that's the only realistic way round the copyright issue. (I'm surprised that this issue was not foreseen.....!)

David

VK3KYY
Posts: 7481
Joined: Sat Nov 16, 2019 3:25 am
Location: Melbourne, Australia

Re: Recent versions of firmware will be removed

Post by VK3KYY » Thu May 20, 2021 1:23 am

m0dmp wrote:
Wed May 19, 2021 3:23 pm
Actually, having thought about this further, the GPL might not be the specific issue with this.

Provided you provide the code and all the other chunks/tools/linker scripts etc needed to reproduce the binary representation you distributed (including the binary chunk from the official firmware), then the GPL would be complied with. There's a rider within the GPL about 'preferred representation' of the code - so you can't just release the assembler, and say it's complied with.

What you would still fall foul of is that you are distributing the manufacturer's compiled binary code, which they hold the copyright for, without *THEIR* permission. So they could complain, but the GPL might arguably be satisfied. But without whoever holds the copyright for the manufacturer's firmware, you can't get round that bit.

The way round that, as has been hinted before, is to produce a tool which downloads the FW from the user's radio or from a user-downloaded copy of the official FW, extracts the blob, and compiles/splices it into the FW and then uploads it. It's entirely reasonable if nobody wants to do this, but that's the only realistic way round the copyright issue. (I'm surprised that this issue was not foreseen.....!)

David
The published code can't be used as GPL becuause it contains code from authors whose license is non-commerical, and according to KC7RBW this is not allowed under GPL.

I'm not the arbitor of this, its up to each author, and if they tell me that their code can't be used commercially, then I respect their wishes.

I would need to check with Kai about what was in his original repo, but I suspect the non-commercial cause pre-dates the addition of the GPL license, and I know it was always Kai's primary intention that his code was never used for commercial purposes

m0dmp
Posts: 4
Joined: Sun Sep 27, 2020 9:08 pm

Re: Recent versions of firmware will be removed

Post by m0dmp » Thu May 20, 2021 9:17 am

Thanks for the reply!

The GNU project (authors of GPL) do indeed confirm that position:

https://www.gnu.org/licenses/gpl-faq.en.html#NoMilitary

Specifically:

-------------

I'd like to license my code under the GPL, but I'd also like to make it clear that it can't be used for military and/or commercial uses. Can I do this? (#NoMilitary)
No, because those two goals contradict each other. The GNU GPL is designed specifically to prevent the addition of further restrictions. GPLv3 allows a very limited set of them, in section 7, but any other added restriction can be removed by the user.

More generally, a license that limits who can use a program, or for what, is not a free software license.
-----------

So, yep, code that says it is under the gpl can't simultaneously have a restriction of it. It's either gpl or it is not.

I would argue that g4klx's code can be used commercially as it is licenced under the GPL.

In the instance of OpenGD77, if there was code that was not under the GPL (eg another licence but with a non commercial restriction) then it couldn't be legally combined with GPL code. However if the code came from another "GPL but with restrictions" source you could just take it as GPL in my reading because there are conflicting terms and you can take those you like.

David

m0dmp
Posts: 4
Joined: Sun Sep 27, 2020 9:08 pm

Re: Recent versions of firmware will be removed

Post by m0dmp » Thu May 20, 2021 9:21 am

In addendum:

If Kai's code was licenced under the GPL by him, then it's GPL. (The commercial rider is invalid whether he or someone else added it).

If he licenced it without GPL (and someone else stuck a GPL boiler plate on it) then he has a valid complaint.

User avatar
m1dyp
Posts: 601
Joined: Sat Nov 16, 2019 8:03 am
Location: Hertfordshire, U.K.
Contact:

Re: Recent versions of firmware will be removed

Post by m1dyp » Thu May 20, 2021 11:27 am

just found this
https://web.archive.org/web/20210418221 ... /OpenGD77/

and this

https://github.com/open-ham/OpenGD77

sorry if its no help, but I really like my gd77 and would love the project to continue

Post Reply