Licence change?

Discussions related to the firmware code development
ok1pt
Posts: 167
Joined: Mon Jul 20, 2020 3:38 am

Re: Licence change?

Post by ok1pt » Wed Apr 21, 2021 7:35 pm

F1RMB wrote:
Wed Apr 21, 2021 6:07 pm
Guys....

Did any of you even tried on the github side ?! Lemme guess....
Yes I did. The current OpenGD77 is totally new, there are 3 commits, initial one, adding binary tools and changing README.md.
There are no older commits, and the obvious source tree is missing.
I checked all the Roger's repositories, but I didn't find any backup or similar thing with the OpenGD-77 code.
Possibly there is some magic, how to dig deeper in the repo history, but I'm not Github expert and I don't know all the magic of reversing time and going back to times before the code was removed.
Pavel

User avatar
F1RMB
Posts: 2517
Joined: Sat Nov 16, 2019 5:42 am
Location: Grenoble, France

Re: Licence change?

Post by F1RMB » Wed Apr 21, 2021 7:42 pm

Never tried that tool ?:
Screenshot at 2021-04-21 21-41-10.png
Screenshot at 2021-04-21 21-41-10.png (3.52 KiB) Viewed 4470 times
You can find few occurences to the OpenGD77. And some of them are up-to-date.

KC7RBW
Posts: 159
Joined: Wed Nov 20, 2019 1:23 am

Re: Licence change?

Post by KC7RBW » Wed Apr 21, 2021 7:45 pm

VE3XEJ wrote:
Wed Apr 21, 2021 4:31 pm
I downloaded a copy of the OpenGD77 firmware dated April 3, 2021. As per the GPL-2 licence, I request a copy of the source code used to compile that version.
Hi Eric, I have a clone of the code Roger uploaded to comply with my own request here: https://github.com/ajorg/OpenGD77

I also plan to take it down, temporarily, to clean it up so that it only includes code and documentation that I'm pretty sure is properly licensed. And I don't plan to ever make available copies of the firmware that include the proprietary AMBE codec.

I think it would suck for Roger to have to email copies of the code to people for the next 3 years, so please grab the code he uploaded from my clone of his repo before the code was pulled. I'll post something here in the forum when I'm ready to take my clone down no immediate plan right now, just an intention. For now I want to leave it up to take that load off of Roger's shoulders where I can.

ok1pt
Posts: 167
Joined: Mon Jul 20, 2020 3:38 am

Re: Licence change?

Post by ok1pt » Wed Apr 21, 2021 8:01 pm

F1RMB wrote:
Wed Apr 21, 2021 7:42 pm
Never tried that tool ?:
Screenshot at 2021-04-21 21-41-10.png
You can find few occurences to the OpenGD77. And some of them are up-to-date.
I did! But I was standing in Roger's repo, and in this case, it searches only in this repo. Inspired by your hint, I tried it in the github root and found other repos, including my one from which I did a PR for Roger :-). Thanks for the kick :-).

User avatar
F1RMB
Posts: 2517
Joined: Sat Nov 16, 2019 5:42 am
Location: Grenoble, France

Re: Licence change?

Post by F1RMB » Wed Apr 21, 2021 8:07 pm

ok1pt wrote:
Wed Apr 21, 2021 8:01 pm
F1RMB wrote:
Wed Apr 21, 2021 7:42 pm
Never tried that tool ?:
Screenshot at 2021-04-21 21-41-10.png
You can find few occurences to the OpenGD77. And some of them are up-to-date.
I did! But I was standing in Roger's repo, and in this case, it searches only in this repo. Inspired by your hint, I tried it in the github root and found other repos, including my one from which I did a PR for Roger :-). Thanks for the kick :-).
;-)

Yeah, you have some repos.
Mine will stay as is, untouched. But I won't make any binary release, accept any PR or whatever. But you can still build your own.

oh1fss
Posts: 74
Joined: Mon May 04, 2020 11:53 am

Legalese for distributing OpenGD77 firmware

Post by oh1fss » Thu Apr 22, 2021 7:35 pm

Is it really a problem to distribute OpenGD77 firmware file (the .sgl file) which contains the AMBE codec ("the blob")?

The sgl file is encrypted, so it is usable only on a supported radio. You can't extract the codec from the sgl file. And if the radio contained the same version of the official firmware, the radio contains already exactly the same AMBE codec.

Could we just write an end user license for OpenGD77 which states that the sgl file is only allowed to be downloaded if the user has a supported radio (which already contains the same AMBE codec)?

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

Re: Legalese for distributing OpenGD77 firmware

Post by VK3KYY » Thu Apr 22, 2021 9:43 pm

oh1fss wrote:
Thu Apr 22, 2021 7:35 pm
Is it really a problem to distribute OpenGD77 firmware file (the .sgl file) which contains the AMBE codec ("the blob")?

The sgl file is encrypted, so it is usable only on a supported radio. You can't extract the codec from the sgl file. And if the radio contained the same version of the official firmware, the radio contains already exactly the same AMBE codec.

Could we just write an end user license for OpenGD77 which states that the sgl file is only allowed to be downloaded if the user has a supported radio (which already contains the same AMBE codec)?
IMNAL

But if the requirement is that you must, on request, supply allthe sources for the binary you are providing e.g. the firmware.

Then you must supply sources for the AMBE codec.

However.

1. We don't have sources for the AMBE codec
2. If you have sources an AMBE codec, which you can provive, you would potentially be at legal risk from claims of patent infringement depending on what is in the sources.


There is nothing in the license which says that if you encrypt the binary, then this requirement to provide the source code is removed.


This raises some bigger questions.

If its impossible to supply the sources, because you simply we have them, what is the status of the firmware?

Is it truely open source?

Can an open source license be applied to other people's code binary without their permission?

i.e
Are Releases not possible for this firmware.

You could of course remove the AMBE blocks and fill them with zeros, but the radio would crash if you uploaded the firmware and it received a DMR signal

You could check if the AMBE block was empty and then not use it.

But the DMR voice prompts would no longer work. So you would be distributing firmware with substantially different functionality, i.e well under 50% of the full functionality.

You could personally patch in the AMBE blocks from the official firmware, becuase what you privately with the binary is up to you.


You could write any automated tool to do that patching and distribute it.

However be aware the license on some of the loader code is not "open source". Its included in the repo, but its copyright me or others.

IMNAL, but the way I read the GPL FAQ, is simply including source into an open source project does not make that code open source.

IMDNAL, but I am the personal copyright holder on many of the files and I presume have some rights to my work.

Also, if you look carefully at the code in some places, the license header on files is not actually correct.

e.g.
As curtacy, I cut and pasted headers from MMDVMHOst onto some new files I had written, which were based on concepts from MMDVMHost.
They perform the same functions as the MMDVMHost code, but had to re-write the code because the firmware is C not C++ of MMDVMHost.

This is my mistake, and lack of understanding of not setting the correct copyright on my own work.

I can't remember if this applies to 100% of the code that is used in the hotspot, bu it was definitely not a cut and paste job from the MMDVMHos files, as they simply won't compile.

KC7RBW
Posts: 159
Joined: Wed Nov 20, 2019 1:23 am

Re: Licence change?

Post by KC7RBW » Thu Apr 22, 2021 11:10 pm

VK3KYY wrote:
Thu Apr 22, 2021 9:43 pm
Then you must supply sources for the AMBE codec.
I disagree, but I confess my opinion on this one is not quite as informed as other areas of this license.

At the bottom of section 3 of the GPL there's an exception:
However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
That exception was presumably written with general purpose operating systems in mind, but if you try to apply it to the operating system of these radios I think you have a reasonably strong argument that this codec is a major component of that operating system. Fortunately the license is a bit vague here. But the unless is a problem for how it's been distributed in the past.

Another way to look at it is to use the example of the Linux firmware repo. The AMBE codec is very similar - it's a piece of non-GPL code that's required to use the device. Linux keeps these separate from the kernel itself, and they have their own licenses. The mediatek license is a good example.

The real problem with the AMBE codec blob is that we don't (that I know of) have a clear legal right to distribute it at all.

KC7RBW
Posts: 159
Joined: Wed Nov 20, 2019 1:23 am

Re: Legalese for distributing OpenGD77 firmware

Post by KC7RBW » Thu Apr 22, 2021 11:41 pm

VK3KYY wrote:
Thu Apr 22, 2021 9:43 pm
However be aware the license on some of the loader code is not "open source". Its included in the repo, but its copyright me or others.
D.6 of the GitHub terms of Service is what makes it clear that code you add to a repository with a license is considered to be under that license.

Some of the firmware loader code has BSD-3-Clause license headers. The rest of it is GPL-2.0 per the GitHub terms of service.

It's also conventional for lawyers to look to the closest indication of license, so if the loader code just doesn't specify a license, the license at the top of the project is assumed to apply to it, regardless if you neglected to add (or for some file formats, could not have added) a header to state that explicitly.
VK3KYY wrote:
Thu Apr 22, 2021 9:43 pm
IMNAL, but the way I read the GPL FAQ, is simply including source into an open source project does not make that code open source.
True enough, but distributing executable (in this case by the radio) builds of the project means that the license applies to all of your source code for the build anyway. Also the GitHub terms of service apply (see above).
VK3KYY wrote:
Thu Apr 22, 2021 9:43 pm
IMDNAL, but I am the personal copyright holder on many of the files and I presume have some rights to my work.
Definitely. Any content that you own you can also license (or not) under other terms and do with as you please. Some of your work may be a derivative work of other people's work, and your rights don't extend to infringing their rights. But you can separate out functions you authored (and that haven't been modified by others) and put them in some other program licensed under others terms.

That doesn't mean you can revoke permissions you've already granted.

VE3XEJ
Posts: 11
Joined: Sun Jun 07, 2020 3:10 pm

Re: Licence change?

Post by VE3XEJ » Sat Apr 24, 2021 11:34 pm

KC7RBW wrote:
Wed Apr 21, 2021 7:45 pm
VE3XEJ wrote:
Wed Apr 21, 2021 4:31 pm
I downloaded a copy of the OpenGD77 firmware dated April 3, 2021. As per the GPL-2 licence, I request a copy of the source code used to compile that version.
Hi Eric, I have a clone of the code Roger uploaded to comply with my own request here: https://github.com/ajorg/OpenGD77
Thank you, much appreciated, I've downloaded it. Do we know if this is the same code used to compile the April 3, 2021 .sgl files?

Post Reply