EVGA today is launching a new build of PrecisionX, this will be build 15. EVGA has made a move to developing the tweaking utility in-house, meaning they will cut ties with the previous developing programmer. By itself interesting news, but unfortunately this has to be the most awkward story I have ever written in the history of Guru3D.com Did EVGA copy the entire Rivatuner design and features concept from the original programmer ? Read more after the break (update #5 )
As most of you guys know, Unwinder up-to this point developed EVGA's PrecisionX of the overclocking software. Basically EVGA licensed the use of the Rivatuner Core overclocking / tweaking elements. EVGA has been working for over half a year on their in-house developed version of PrecisionX. Developing a tweaking tool in-house was an unusual yet understandable choice from EVGA's business point of view. Especially as these days creating tweaking software for GeForce Graphics cards with the latest revisions of NVIDIA's API this is fairly a do-able task. The new PrecisionX will be restricted to GeForce Graphics cards only and will bring all the features of the older build as well as minor tweaks to the UI and 64-bit overlay support.
Over the past months or so here at Guru3D.com have been watching this development closely, as with this build EVGA departs from the old overclock infrastructure based on the Rivatuner core engine from Alexey aka Unwinder. So make no mistake this is correct, PrecisionX software is no longer created or licensed though from Unwinder. Some will love that, some will hate that.
However after seeing the latest screenshots, my eye-browses started to raise.
After seeing new screenshots as posted by EVGA's marketing staff on Steam we got a little confused. It seems that EVGA copied and pasted the entire Rivatuner core feature set and design, though we can understand that you want your tweaking tool as close as the older version design wise this poses an issue. The complete design of the the overlay, monitoring, fan profiles and screen captures etc have been copied from Rivatuner. The original programmer or the Rivatuner core, Unwinder, never allowed EVGA to do this. EVGA only paid royalties for usage of the tweaking / overclocking part of their utility.
This is just the monitoring chart, looks familiar. Definitely designed after the original. But nothing too bad thus far though right ?
So what happened ?
So what escalated EVGA to do all this ? Well, somewhere last year the call was made to develop 64-bit support for RTSS (a component that EVGA never licensed), the Rivatuner Statistics server. This is the software that drives for example the MSI AfterBurner overlay engine. MSI in fact paid for the development of this feature in RTSS. EVGA always free-rided this functionality bringing functionality like screen overlay, capturing, screenshots etc towards PrecisionX. So EVGA always was able to make use of these functions for free.
As troubled as the decision was, the new 64-bit support for RTSS would be exclusive to MSI. After intervening and some dialog however the decision was made to make this particular feature not totally exclusive, as within 6-9 months (August/September 2014 timeframe) EVGA would have gotten this feature included for free, with no development costs involved as MSI took care of that. But apparently that didn't sit well with EVGA, which is a little strange as RTSS never was part of their license / royalty agreements.
Okay that looks VERY familiar - that is getting weird right ?
Likely something snapped within the management of EVGA and the decision was made to cut loose Unwinder and take over development in-house. Thus far these are all reasonably understandable dilemma's and business decision right ? Unfortunately, after looking at the initial release of PrecisionX 15 screenshots we can only conclude that EVGA took (and took is a nice word here) the entire Rivatuner design concept. I mean, if you make a new utility in-house, then at least try to make it original or bring something really new ?
So to the left the 'new' Fan control properties as designed by EVGA. To the right the Rivatuner original core code design
The main GUI and interface of the PrecisionX 15 was slightly tweaked, that's all fine as the Skin is from EVGA. But if you look at the features and especially the properties, monitoring charts and what not ... well that is pretty nasty isn't it ? Let me show you another example:
So to the left the 'new' HW monitoring options after EVGA's own design, to the right the Rivatuner core code original design.
We talked with Unwinder, the programmer and he told us that once EVGA made the decision to develop this tool in-house after the 64-bit RTSS development choices and likely annoyances, EVGA stopped royalty payments in December 2013 for Unwinder. Unwinder was not informed about all this, they just never contacted him again, not even the courtesy of an email was send to him that project development would be halted or that his agreement with EVGA would be suspended. After working with EVGA for many years Unwinder learned about Precision 15 being developed in-house after some editors showed a photo / screenshot that was posted during Computex this year.
Awkward eh ?
So was this modern age stealing ? Well, you can't copyright a GUI / user-interface so sure, EVGA is allowed to do this as long as they didn't 'borrow' code from the RTSS engine (I am trying to choose my words carefully here). But dear dudes and dudettes from EVGA, if you launch a totally new in-house designed overclock utility and you want something new. Why then copy-paste the Rivatuner and RTSS design this much ? From this day forwards everybody knows and sees what happened here and as such that will bring a negative element towards your in-house software. Let me just state that Guru3D.com or myself not ever has had part in EVGA PrecisionX development, we love EVGA and this was a business agreement in-between Unwinder/ Alexey and EVGA directly.
But I was so shocked by the screen-shots posted that I figured this could not go un-noticed. We love to hear your thoughts, please do share your comments in the thread below.
EVGA PrecisionX 15 will launch later today.
Update 1: here is a reaction from EVGA as posted in the Steam forums:
"That is only one side of the story, firstly no code was copied. In fact, EVGA does not even have the source code from the original Precision. Secondly, PrecisionX 15 is new code built from the ground up. The GUI looks similar, well it should since the original GUI was 100% designed by EVGA, many other elements were too like voltage control, Bluetooth and more. The menus and such look similar too because, well why change them? They work well and people are familar with how they look.
Lastly, the original Precision was always a joint effort anyways, some elements were designed by EVGA others were licensed like the RTSS server, and many features were added because EVGA requested it. In this new version we rebuilt all back end code from scratch. This will allow us to continue to add more features in the future, and not be bound by any "exclusivities".
Update 2: here is a reaction from Unwinder, the programmer:
Well, new EVGA Precision X is released so I was finally able to peek inside it and quickly review the contents of “100% in-house” development.
Everything is even worse than I expected.
Original EVGA Precision EXE resources and dialog templates were copy-pasted to this “in-house” project as is, even original dialog control IDs are the same. Company PRs already claim that GUI is 100% designed by EVGA which is sadly not true, company designed concept art of EVGA Precision skin only. All product properties, entire monitoring section, setting and so on came from directly original RivaTuner (and were available in other RivaTuner based products like HIS iTurbo years before Precision was born) and EVGA has no relation to designing them at all. So company directly violated our license agreement terms and reverse engineered licensed binaries to copy data from it and represent it as their own design.
EVGA completely cloned original RivaTuner’s RTMUI multilanguage context help system and localization engine. Contents of “Help” and “Localization” folders were copy-pasted to new product as is from original Precision, including localization and GUI translation databases for different languages. “Help” folder contains direct mapping of dialog IDs to help files, I guess getting easy access to it as direct reason of “copying” original dialog templates with original dialog IDs. So the company also violated our license agreement terms and redistributed parts of original product without permission.
Even “in-house” skin still uses my original raster fonts from old good RivaTuner. But at least that can be partially justified. Out intellectual property ownership terms of agreement define that I own software product copyrights, the company exclusively owns the product distribution rights as well as non-software intellectual properties like trademarks, product name, logos and artwork I create for them during the contract. So you may try to fit “copied” fonts in this category if you close eyes on the fact that it came from original RT.
Fun thing, even for the installer of “in-house” product the company copy-pasted my own license agreement from original installer, which contains my own third party components licensing terms and direct restriction on reverse engineering or redistributing them. Probably you’ll at least read what exactly do you copy paste, EVGA?
The most sad and painful thing for me is that the company entirely copy-pasted RivaTuner’s unique concepts of displaying data into On-Screen Display. RvaTuner Statistics Server was the first tool in the industry that introduced the concept of in-game hardware monitoring via OSD back in 2005, I spent almost than 10 years on polishing it. And most sad thing for me is that original Precision was not supposed to include such functionality, so it is not included in development budget and royalty fees. I added RTSS to Precision in one of the first versions completely free of any licensing fees just to help the company to promote new tool and it truly became one of the most important application features. So it was used during more than 5 years completely free (and the company was never brave to admit that) and in final they originally “thanked” for free OSD usage by stealing it. EVGA’s brand new “in-house” OSD is also open a simple rip of open source FW1FontWrapper overlay. And If I were the developer of FW1FontWrapper, I’d read the story of RTSS and think 1000 times about it.
Update 3: here is an official reaction from EVGA:
First, we value the relationship that we have with RivaTuner Alex/Unwinder since Feb.13th, 2008. With EVGA and Alex/Unwinder mutual efforts, Precision has become a very popular overclocking utility since it launched. Afterburner’s first release was in Oct. 2009.
It was originally EVGA’s idea to provide the world’s first “simple” overclocking GUI designed for NVIDIA cards that utilizes some of the Rivatuner technology for free. Due to some misinformation floating around about EVGA Precision recently, we would like to clarify several points. Also, EVGA wouldn’t have any interest to develop our own version if Alex/Unwinder had showed his interest back then like we’ve seen today!
1. The EVGA Precision main GUI (main Window) and format was fully designed and owned by EVGA, that means Alex/Unwinder did not design the Precision GUI at all. The Rivatuner technology was used for the backend like GPU reporting, OSD and overclocking. Other features like voltage tuning, pixel clock control and Bluetooth function were coded by EVGA. We want it to be clear that Rivatuner source code has never been released to EVGA. A year and half after Precision was introduced, Afterburner was released, that shared a lot of the same ideas and concepts originally set by EVGA’s Precision, and also used Rivatuner technology. 2. Most gamers knew that some of the key features that have been requested and missed such as 64bit OSD, voltage control and video recording in the early versions of Precision, yet Afterburner had it. You probably don’t know that some of those ideas were initiated and requested to Alex/Unwinder by EVGA to implement into Precision well before it was available in Afterburner, but Alex/Unwinder had no intention to add it. One year later they showed up in Afterburner exclusively without any notification and/or offer to EVGA. We felt that we became Alex/Unwinder and Afterburner’s free consultant if we continue this route.
We like Precision, the interface and the features, just like most of the gamers in the community, but under these circumstances, it became clear that in order to provide more features that are requested by the community, we needed to recode the back end from the ground up, using our own existing Precision skin designed as merely inspiration, that is why today we have the new EVGA PrecisionX 15. In the latest PrecisionX 15 we have put in some features like 64bit OSD support, Steam achievements and more. We want to make it clear that EVGA PrecisionX 15 is 100% coded in house without using any code from the older Precision due to we don’t have the source code since day one!
EVGA will continue adding features to support the community on PrecisionX15 for free as usual, and hope to inspire other overclocking utilities to be better for the entire gaming community.
The bottom line is that EVGA doesn’t want any third party to dictate what features the community should or should not have!
"The bottom line is that EVGA doesn’t want any third party to dictate what features the community should or should not have!"
So you take and clone something that isn't yours ? Well done EVGA, very professional.
Update 5: here is a reaction from Unwinder, the programmer on EVGAs statement:
Well, I’ll give my official statement on it as well. First, let me summarize the terms of our business relationships with the company. According to the contract I had to develop very simple overclocking tool for the company, take the following features from original RivaTuner and fit them into the concept art of EVGA’s skin design:
Core / Shader / Memory adjustments
Ability to link/unlink Core/Shader clocks
Monitoring utility (Monitor temps and all 3 clockspeeds, like Rivatuner monitoring)
Ability to save clocks / fanspeed on reboot.
Couple years later we extended the list of official contracted product functionality with advanced fan speed control (ability to define curve) and power target / thermal target adjustment support for modern NVIDIA GPUs.
My business obligations per contract were to provide the following support to the product: launch new versions of software to add support for new NVIDIA cards when they are released and fix bugs in the code if the company reports any. No new functionality development in any form was ever assumed. That’s it as it is defined by contract signed by both parties. That’s the functionality we included in the development budget and in royalty fees. That’s how you had to see original EVGA Precision if it was designed by EVGA. And if the company is brave enough to call it “a lot of the same ideas and concepts originally set by EVGA’s Precision” – let it be so.
Yes, I know I made a huge mistake myself, overclocking tools development is a passion and hobby of my life so I tried to combine the hobby and business and started adding new and new things to the project on top of commercially functionality licensed by EVGA. Now I learned the lesson, you cannot do it with business because the companies lose self-control because of greediness.
Anyway, this way Precision was powered up by other advanced features from original RivaTuner: G15 monitoring features, screen capture support, entire On-Screen Display support module, tray icon monitoring and so on. No development budget or royalty fees were ever requested for those features and additionally bundled applications like RTSS and it was absolutely OK for me to develop and support those things freely simply because I liked coding them. So I’m certain that I followed the contract 200%, but if the company thinks differently I see absolutely no problems in terminating the contract. But it is not OK for me to previously licensed things to get stolen. Especially, if the company got free license on them like it was with RTSS. Sorry, EVGA, but it is not OK.
And by the way, the company PR said at least a part of truth: EVGA indeed requested me to add 64bit OSD to Precision before it became available in Afterburner, but did it in rather interesting form. The company expected to add new free feature to RTSS they got freely to use it in commercial product.
Bravo. With Battlefield 4 launch both MSI and EVGA users wanted to get 64bit OSD badly. Both MSI and EVGA knew that it is rather time consuming task, both vendors perfectly realized that it is big job and it is not covered by the contract. MSI preferred to make users happy and invested into development of it. And other vendor preferred to sit and wait while some crazy Russian programmer code it for them freely due to his coding passion. So once again, if the company believe that they can call it “ we became Alex/Unwinder and Afterburner’s free consultant“ let it be so, I can only sadly smile on that.
Update 6: this intersting post from Unwinder caught our attention:
Hope those are my last comments on this story. First, there are different rumors walking on the net related to the product licensing terms. Some people are trying to justify copying from the previous versions, so I’d like to clarify that to prevent any misunderstanding:
The agreement defines the following intellectual property ownership terms: software product which I develop remains my copyrighted property, but during the contract the company receives exclusive distribution rights on it. Besides exclusive software distribution rights the company exclusively owns all the rest intellectual property, which is not directly related to software and which I could create during the contract: i.e. product name, product logos, artwork. That’s all. There are absolutely no ways to fit any form of previous software copy-pasting into the licensing model.
Second, I just decided to peek inside "in-house" application EXE. I'd better avoid doing so: even my original EXE string table is inside new executable as is. Including all the messages of original application, including all the messages of my proprietary USF skin compiler / decompiler built into original RivaTuner skinning engine, even including the references to original RivaTuner core libraries (RTTSH.dll). Even including the messages related to RivaTuner’s G15 LCD output module, which the company probably also tried to clone but couldn’t get working yet. Really, EVGA?
Dear company PRs, take a fair advice and simply stop giving any public comments with fake excuses. I’m not going to start a legal action against the company, I’m not asking for ANY compensation. I just want to let my users know the truth, protect my software, my ideas and technologies and then forget our past partnership. Just keep your lips sealed and let this story die istelf. Do not beat the dead horse.