Firstly the TL;DR version: I consider it unlikely for a project run by Luke-jr to continually spit out reliable code
That may mean that you wont have any problems so it may not matter to you.
The long version:
The base code in cgminer is the scheduling and threading of dealing with mining devices and pools
That was designed and written by ckolivas - who also wrote a linux kernel scheduler that eventually led to the linux kernel 'gurus' rewriting their's coz ckolivas was better.
The FPGA code in cgminer is not really that big a deal.
Anyone can write that - hell - even I can
Adding support for the latest greatest patch by 'Luke-jr' is rarely if EVER going to mean you will get more BTC than pico bit cents.
Of course getting those extra pico bit cents is good - but in my case, I'm more wary of bugs going into the code first then the pico bit cent gains can go in next when it's tested and debugged
There is definitely no problem with arguing about opinions.
My problem came when luke-jr argues about bugs being bugs due to the "I'm always right" issue he has.
I wrote changes for Icarus but hadn't tested them on Windows so I didn't put them up for a pull request
Xiangfu and I ran that code for a few weeks that I had discussed often in IRC also (but I didn't do a pull request as I said a few times in IRC coz I had no working Windows test environment to compile or run it)
Luke-jr submitted a pull request to ckolivas to do the same thing weeks after I wrote it and had it in my git
In my first look at the code there were 2 bugs (from simply just looking at the code) that I brought up with Luke-jr
I knew they were bugs because I had already written my own version of the code (as he knew)
That turned into a long running argument of him saying they weren't bugs and that I was wrong
Nowhere in that first discussion did he consider testing what I pointed out or consider that what I said was correct.
I was correct, they were bugs and he eventually changed it (not the end of the bugs ... read below)
The reason I ended up outright rejecting his Icarus code, and writing mine over it, was the Windows issue:
I finally did get my windows environment working again by deleting it and starting again using Sharky's windows script
(which I hadn't wanted to do
but obviously was necessary since I was taking way to long to fix my windows test area for cgminer)
Next, I firstly tried to run Luke-jr's Icarus code since it was ALREADY committed into cgminer (and DIRECTLY admitted by him already that he had never tested it on windows)His version just hanged cgminer in windows (stopped dead mid code and didn't report an error or exit or abort)
I tried my version (2nd) and found that it failed to detect the icarus (and the code said so) then of course said it found nothing to mine with and exited.
What this of course meant was the initial detection code had an issue and I next implemented changes like af_newbie had suggested to initialise the Serial-USB and found that fixed it.
That didn't fix Luke-jr version (that was already committed into cgminer
) so I wasn't really all that interested in debugging his code (and having another argument with him about whatever the bug was), his code that he hadn't even tested in windows (as he had stated himself) so since my code worked and I had written it weeks before and run it for weeks on 43 Icarus devices in linux - I simply requested my pull request be committed directly into cgminer (effectively undo luke-jr's changes) since the current code in there didn't even work on windows and hung cgminer
I'm not sure what anyone else would have done, but after the issue with him the week before arguing about him saying the text saying "ICA" instead of "PGA" being a MAJOR BUG and he wouldn't agree to anything that he said he would agree to about that text, I was jack of it and just overwrote his non-working icarus code (that I had myself written weeks before him anyway)
What this fork will have is "He is always right" so he will allow any code he writes even if he hasn't tested it properly (or tested it at all)
If he says "no that won't happen any more" then why the fuck did it happen OFTEN
before - and how has that suddenly changed when no one else is checking his code?
Lastly, you don't need to believe me - but I can supply IRC logs and pull request logs that clearly show all this.
(I'm just not really interested in spending hours to go through all that - though the pull requests are all there for anyone to see and the irclog of Freenode/#cgminer - well yeah I have a majority of the last 8 months of that ...)