I hope that will not hurt the performance as we then can't find out and compare with the unlocked version.
For a chess program it is very hard to really protect the code from reverse engineering and making the code hard to break, (it makes the engine only slower.)
There is no copy protection the hackers can't break we see this over and over again.
A heavy protection only hurt's the users, not the hackers.
For myself i refuse to buy software that requires that i insert the DVD every time i want to use the program i hope Vas will not use this kind of protection.
> For myself i refuse to buy software that requires that i insert the DVD every time i want to use the program i hope Vas will not use this kind of protection.
He said he would never do that.
I do sometimes wonder if Vas has a good business model with Rybka. There are just an incredible amount of illegal Rybka 3 copies out there, probably much more than legal. Maybe some scheme where each person who buys Rybka has a specific code for his program in which he can install it on his computers. I am not sure how effective that would be and personally I would hate it because I have a zillion computers all over the place and I continuously change and upgrade my computers. But I also want to see progress in computer chess engines and I think the best way is to have someone work on it full time professionally. If the rewards of this are not there, the incentive for working on chess engines professionaly will be lost.
If you want to see progress in the computer chess engine then maybe it is better if Vas release rybka4 as free source code.
Unlike you I do not think that the best way to get progress in computer chess is to have one person who work on it full time job and it may be better to have some programmers who try to improve free source code(it is already done in the stockfish project)
Sure some people do this, and it's a noble decision, But maybe it isn't for everyone.
However, on the license side / piracy protection - while dongles, dvd check etc are obnoxious, most users got mentally indoctrinated to accept the concept of 'activation.
Maybe granting 3 or 5 activations per licensee as some buyers would run Rybka 4 on more than one machine.
However, let's analyze this from the buisness prespective - not from how to implement activation.
What would be the benefits for Vas in adding some activation mechanisem vs. the costs of doing that (set up cost and run-rate cost for supporting activation)?
1. It would give Vas a way to audit the sales figures his resellers (ChessOK and Chessbase) really have
2. It will, at least for a while, increase to some extent the sales revenue by pushing back piracy start date. Probably not for long. However, a key question is how many of the pirates would buy Rybka 4 in the period until the activation is cracked. I'd guess a best case scenario is 10% of the pirates would. The others would wait for the activation to be cracked - which would happen sooner or later.
Now what would be Vas's costs?
Unless he outsources the Activation management to some third-party (forking a percentage of license revenue for each activation), he'll need to deal with building this, running this (cost of server, online processing etc), increased support volume - e.g. I lost my keys bla bla.
And the sad thing is this would continue even after the activation has been cracked - because he will still need to continue supporting the legitimate buyers who would still need to activate.
In addition, it's not clear if Vas really needs to know or audit in real time what are the license figures of his resellers - maybe he's revenue is not based on volume or actual sales, but a retainer? And maybe these resellers would get pissed by this visibility and wouldn't have it?
So to summarize - my quick analysis says Vas is better off, in this sort of product, not introducing activation as once its cracked - and there's no uncrackable activation without an expensive h/w device (not just a dongle but a crypto-device that generates random passwords - and that too can be cracked) - he will still incure the run-rate costs with immediate diminishing return.
Granted, I did this analysis just with my biased common sense and without Excel running volume, demand, pricing, trying to estimate time to crack of activation and estimated revenue increase/decrease based on possible crack date (which btw would be one of the two most important variables that decides the strategy), volume of pirates , estimated percent of pirates that would buy if they can't pirate (which is the second most important variable here) etc to create more of a proof of the above - I could do that too hehe - but based on table top 10 minutes mental exercise- my conclusion is Vas is better off making Rybka 4 as strong as possible to maximize his personal return on investment, and nothing else.
1) In general, you win by creating as much value as possible, not by trying to squeeze as much as possible out of limited value. It's better business and it's better psychology.
2) Activation schemes and dvd checks are all easily cracked. The only way to remain safe is to create something not many people want to use, a solution I'd rather avoid. :)
3) Some software developers take an unhealthy view of piracy, thinking that pirates personally steal from them and asking themselves questions like "How rich would I be if piracy were impossible?". In reality, if piracy were impossible, the entire game would be completely different and in particular the level of effort and organization by competitors would be different.
I talked to Stefan Meyer-Kahlen, the longtime #1 in the first half of this decade, about this. There was also a decompiled Shredder, while another competing author would gleefully mention things he'd learned from his own Shredder reverse-engineering (yes, computer chess authors can be more than a little competitive :)). His approach was to diversify his business - he wrote a GUI, made a professional web site (back when it wasn't quite as fashionable), and so on.
When I started with Rybka, I wondered how plausible it would be to catch up with smart guys who had a 10-year full-time head start on me and who were established enough to be able to continue working full-time. As it turned out, after just 2+ years of work and only 3 months after quitting my job to work on Rybka full-time, I was able to set up a functioning business in this field. This would have been much harder had Stefan and other competitors not also had these same hurdles to deal with.
4) As the sports saying goes, don't let an opponent beat you twice - first on the field, and a second time by affecting how you play the next game. Sometimes the best thing you can do is just not let something beat you twice.
Having said all of this - there is in fact a solution to these problems, one which I'll announce fairly soon. It's so good that it would be a no-brainer even if piracy didn't exist - it's a win-win-win for everybody (customers, partners, and Rybka) and I am very optimistic about everything. I'll keep the suspense a bit longer, but let me also mention two other approaches which I considered and rejected:
1) Diversifying - I like working on game-playing algorithms rather than things like GUIs and web stuff, so for me this would have involved going into another game. It's safer to have two games at #1 by 50 Elo than one game at #1 by 150 Elo, the latter makes you more of a target. The problem is that this goes against how I like to work. Some people get bored doing the same thing every day, but I tend to get energized by digging really deep.
2) Hardware (FPGA) Rybka, sold for 500-1000 Euro, in addition to the software version - This would have been an interesting project, and a Rybka-shaped USB stick would have been super-cool :), but while FPGA can deliver performance, I came to see it as more of a business trick than as something which would provide true maximum customer value.
Anyway, this will all be periodically revisited.
It's cool I reached your own analysis on this. I'm honoured :)
"...there is in fact a solution to these problems, one which I'll announce fairly soon. It's so good that it would be a no-brainer even if piracy didn't exist - it's a win-win-win for everybody (customers, partners, and Rybka) and I am very optimistic about everything. I'll keep the suspense a bit longer..."
Regarding your suspense building statement - I'm going into deep though now :) I guess it's no secret I'm a highly competitive person myself as well, and you've now presented a few clues and a challenge I can't resist. As the terminator says - I'll be back. However I'll keep silent irrespective of my guess work to not accidentally hurt your thunder ;)
I can't wait to hear what you'll guess...
then I won't be able to wait to find out if you're right!! :)
I'll send another note with few more ideas that Vas's post triggered in me later this weekend after I work out their commercial viability.
It's kind of funny how the source of many ideas is pure curiosity on what the other guy / company may be planning :)
I'm actually very (very) expensive but for you my best rate is free of charge lol. I'm having so much fun with this reestablished hobby that I'd be more than happy to help.
Just sent another email :)
Let me come back to reality, I guess, we all will have to wait.
anyway regardless like m ansari i really like the idea. people who have fully functional computers but are thinking about ugprading for chess (i realize thats a very small #, but at this forum it happens all the time) could just purchase & pop in a usb stick & instantly get a big upgrade...and i dont get what you mean about business tricks & customer value, providing a fair price & real gains - doesnt the customer decide that for himself?
When I did the numbers the cluster version came out as more promising :)
>Maybe something different than FPGA cards, maybe something using CUDA or some Physics card. Even if CPU's would be a better option, at least
>with this you can have some sort of software protection from piracy.
Using CUDA or Physics cards doesn't provide any protection.
> FPGA is 100% protectible
I'm sure I know at least one person who'd disagree with the above, from professional experience :)
One of my friends from MIT works at Xilinx and he assured me otherwise.
>One of my friends from MIT works at Xilinx and he assured me otherwise.
Did you expect any other reply? :) He can hardly tell you that the security features in their latest designs are broken, can he? And the person succeeding in breaking it isn't going to announce it, either. So I'm sure that, to the best of their knowledge, it hasn't been broken yet :)
The question is just how much dedication, money, resources and knowledge you can bring to bear.
>This wasn't a sales job (yes, I'm sure).
I can believe that, but I wouldn't trust anyone to be objective about his own company or products, even when trying.
The problem I mentioned in the previous post still exists - if it happens, they won't know about it for a while.
>how much harder FPGA is to crack than a windows executable?
Oh, different orders of magnitude, no question about that. But 100%? I'd bet money on the opposite.
If it was a proper hardware design, I wouldn't worry about it. Performance would suck.
Of course, the prices stack up quite differently, so you'd need to count on economies of scale, which perhaps doesn't work so well for this market... :-)
/* Steinar */
>b) gain another order of magnitude (or two, or three) to the cost of reverse-engineering it.
Are you sure that reversing a real chip is harder than reversing an FPGA?
/* Steinar */
There are some “program-once” FPGA designs which basically burn fuses on load; I don't know how those would stack up.
/* Steinar */
>Oh, so we're actually assuming an FPGA design which is loaded from the PC every time?
Not at all, that would be pretty silly. FPGA's are typically loaded at boot time from an EEPROM (and in this case, it would be a secured one sending out an encrypted bitstream).
>If so, my money is definitely on the circuit being harder to break; FPGA has two ways in (break the encryption, or reverse-engineer the chip to break
>the encryption), while the circuit only has one (reverse-engineer the chip).
The thing is that if you can't break the encryption, reverse engineering a real chip might be easier than reverse engineering an FPGA, because the first involves physical structures while the second involves reading out charges.
> If it was a proper hardware design, I wouldn't worry about it. Performance would suck.
Even after round after round of cleaning?
I am sure that vast sections of the logic would need to be simple C dumps.
Take something as simple as a given permutation of all the bits in a 64-bit word. In software, you have to do tons of masks and shifts and ors, or some sort of series of table lookups; in hardware, you just route the pins where you want them. If you build your chess chip in a way that actually makes use of such things, any software reimplementation would have to either leave them out (losing strength) or face the speed consequences (losing strength again).
/* Steinar */
In reality, porting existing Rybka to verilog would probably involve a lot of low-level and medium-level transformations, and some new intra-engine interface to divide the work, but no real high-level transformations. The reverse-transformation from verilog to C doesn't seem like a huge fundamental problem (although I am sure it would be tedious as hell).
I'm sure you've read the book about Deep Blue, and thus how it started out as an interesting exercise in how to best model a chess board in a chip. That's starting with the hardware indeed =)
/* Steinar */
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill