I appreciate the assurance, but that side-steps the point. If it's based on or derived from GPLv3 code, it must be made available once distributed. It's OK to make a buck off of distributing the modified product, but you can't go closed-source and withhold your modifications to GPL3-based code or binaries you're distributing.
There was another firmware hacker case a few months back:
Re: Bounty for Cracking Bitmain S9 BMminerAt least Blissz here actually put in some work (albeit source code yet to be published), whereas -- from what I observed in the Github repositories -- fubly seems to have simply rebadged Bitmain's source code, and removed irrelevant hardware support to slim things down. The guy also had the audacity to remove Colin Kolivas (original author) from the credits and also send a
$120K invoice to Bitmain.
Anyway, cgminer is GPL3, so I look forward to examining the source in the near future. Thanks!
Yep I hear ya. I'm well familiar with GPL as most of my online presence has been on the phone hacking/rooting/rom'ing side of the world. Investigated a great number of GPL complaints while i was a moderator at XDA as well. That's part of why I tore this package apart.
Pretty sure blissz used the source here to compile from..
http://ck.kolivas.org/apps/cgminer/ Though that maintainer was for bitcoin only.
With all that's going on in blissz's webUI adjustments to support the voltage and frequency settings (especially by individual hash card), it's prety clear the
driver-bitmain.c was nicely customized to support the additional individual cards' settings. If I had the time to hack on firmware (no, I've long since retired from Firmware and BIOS hacking), I'd probably start from from
Bitmain's Github and merge
driver-bitmain.c,
driver-btm-DASH.c, and
driver-btm-L3.c from there against a clean cgminer-4.10.0 code base to get it all up to current cgminer code.
Since the
driver-bitmain.c is identical for DASH and L3 versions of cgminer, I'd expect the Voltage/Frequency customizations coded for one can be copied verbatim to the other.
It's interesting to note that the stock D3 and L3 firmware always had support for using
--bitmain-voltage to tweak voltages (if you were to modify cgminer.conf by hand and restart the cgminer service), but the webUI completely lacked the proper fields to make that setting adjustable via web page, unlike the S5/S7, and presumably S9's webUI.
Blissz's addition of auto-tuning is definitely a nice touch, and I'm looking forward to reading that enhancement's source code once published per GPL3.