Well, few questions but a bit long story.
My repo uses GPL source codes published by NETGEAR on NETGEAR site
https://kb.netgear.com/2649/NETGEAR-Open-Source-Code-for-Programmers-GPL
I’ve downloaded (yet in Feb 2017) GPL source codes of the stock firmware version 1.0.1.36. I did not have this R9000 unit yet , the last was sent me later in Jun 2017 by NETGEAR Guy (thanks to him). So I started to prepare my very first release using
FULL source codes of 1.0.1.36 (start of my job was end of Feb 2017). I.e. changing what was already done by me for R7800 and using my own optimal compiler options and my toolchain.
But later (Mar 2017) NETGEAR has replaced ALL their GPL for R7500/R7800/R9000 (including even old releases) cutting off the key packages with e.g. binary QCA drivers, some kernel objects etc. I.e. currently if you even download 1.0.1.36 from NETGEAR site you will get such castrated version and after your compilation and flashing you will get brick instead of router. But I had
original version with FULL sources so I used and use it for my builds (adding missed packages). Reason of such NETGEAR action is not clear to me, probably they very dislike my job.
On the other hand I do use GPL officially published by NETGEAR and legally downloaded from their public downloads. So I do not violate any laws and rules. But to avoid any problems my repo contains only packages I change and I do not publish the packages they cut off (BTW it is not so for R7800 because I’ve published FULL version
before NETGEAR start to remove packages and it has no sense to remove these packages for me).
So no reverse engineering, I use GPL source codes officially downloaded in past from NETGEAR site, it is not standard OpenWRT, I perform compilation of source codes (using
my version of toolchain and
my host tools and
my compiler options and
my changes in updating packages).
Voxel.