As many of you already know, IDA6 copies ship separately for Windows/Linux/Mac. Before we were giving the Linux/Mac versions for free because there was no GUI for them. Now we have full fledged GUIs for all platforms (and our development/techsupport costs increased because of that), so we separated the licenses. We could simply have increased the price of the whole package but since the absolute majority of our users stick to one platform, it is fairer to separate licenses. This way only the customers who really use multiple platforms pay extra. We believe this is the fairest solution for everyone.
Some of your may ask, why, did your development and support costs really increase? You are using Qt and need only to recompile the same code for Linux and Mac, aren’t you?
While in theory this is how it works and Qt allows us to write code once and use it on multiple platforms, in practice it means lots of additional work.
First, Qt behaves differently on different platforms. We already have lots of #ifdef’ed code to address this or that platform specific issue. Mac OS X is notorious for having tons of special cases. To start with, it does not have the ‘insert’ key 🙂 More seriously, there are more important issues with Mac and they will take time to fix.
Second, we have more platform specific support questions from users, not only Qt related, but general. We spend more time trying to reproduce bugs. For example: take dual monitor mac machine, open a ida listing window, move it to the second monitor; hover the mouse: the hint will be displayed on the wrong monitor. Another: on linux, bochs emulator works slower than expected. Yet another: trying to disassembly an avr input file on mac produces error messages in the config files. One more: on Linux, opening the breakpoint list with Ctrl-Alt-B causes a crash on some distros. I’m not even talking about debugging…
Third, we have lots of new code. Moving to Qt meant that we had to rewrite a substantial part of the user interface. Naturally, not everything works as before. Our users are very demanding and they want every minute detail to be addressed: http://www.hex-rays.com/forum/viewtopic.php?f=6&t=2680 (for the readers without access to the forum, this is a thread about using Alt-K to close dialog boxes; apparently some our users miss it despite of easier Cltr-Enter).
Fourth, we will have solve other inconveniences experienced by our Unix users. As it was justly mentioned, the auxiliary utilities will have to be rebuilt for every release not only for Windows, but also for Linux and Mac. Also, we will have to address the PDB/WinDbg unavailability under Unix. I’m not sure about WinDbg, but we will come up with a solution for PDB files (a windows based pdb server?)
Fifth, we will have to test IDA on all platforms. While testing the kernel is already done and it is a routine, testing GUI is difficult to automate. This means additional work for us in the future, unavoidably.
It is quite inconvenient, but currently every change we make into the user interface is done three times:
– in the new idaq interface
– in the old idag interface (we will release it at least one more time, so we have to keep it functional)
– in the old text interface (yes, we have some customers who still use it and it is a good idea to keep it around; we can not really kill it)
We invested lots of time and efforts into idaq: Daniel worked on it full time nine months. And he is a brilliant programmer who knows how to do things, yet there is a lot to do – just to achieve the same level of comfort as with idag.
All the above can not be done for free, sorry. While we could simply increase the package price, it wouldn’t be fair for the users who are happy with MS Windows. So we split the licenses. For most of our users the price stays the same. Only the ones who run IDA on multiple platforms pay extra.
We took this option because it keeps the price low for most our users. It looks as the fairest option to us.
So, we do not offer Linux/Mac versions for free anymore. Sorry.
One more interesting detail, so give you an idea of the situation. As it turned out, IDA Pro 5.7 for Mac was completely broken as shipped. In other words, nobody could run it because it immediately displayed a fatal error about a missing import. Guess how many complaints we received about this? I do not remember exactly, but it was a low number like 3 or 5. Naturally, we sent them the corrected version immediately. We did not fix the distributed version since it was easier for us to send a copy a few times rather than to change the build server. This is incomparable to what we have today, when we receive lots of bug reports is about Linux or Mac. Fortunately, most of them are about small details but they require us to find the correct version of the operating system, try to find out what went wrong, etc. At the same time the absolute majority of our users use MS Windows (around 5% of ida are from Linux copies and even less than that are from Mac copies).
As one of our customers correctly put it “you spoiled us” 🙂