May 15, 2014

Subscribe

IntelliJ, License and Frustration

by Andreas Schaefer

As a Java power developer I have two Macs, a MacBook Air and a Mac Pro, side by side and develop on the concurrently. Dealing with Adobe AEM (formerly known as Day CQ) I need more horse power than a MacBook Air can provide but I always place the client’s VCS onto the Laptop (Air) in order to be able to retrieve or upload changes on the go.

Now Subversion is not easy to use and IntelliJ makes it much easier to deal with changes that the command line or any other free app. I can look at locally deleted files, unversioned files and incoming changes and so I need to have IntelliJ running on the Air. For the regular development I switch over to my Mac Pro so that I handle deployments or test changes on a scrap AEM instance. For that the 8-core CPU, 16GB Mem and 500GB SSD is very andy and development on it is a breeze.

IntelliJ and License

Since IntelliJ 6 I am a client of JetBrains and bought every single version even after the also provided a Community Version because I like the additional features. Since quite some time when I open IntelliJ on the other Mac IntelliJ come up with a dialog box complaining that I only have a single seat license and should either re-activate or shutdown IntelliJ. So, for now I just ignored that dialog box, did my thing on the other Mac and then shut IntelliJ on the other Mac down, re-activated it and kept on developing. But then when I ran into an issue with Subversion and had to update the code I had to go back and test it and so this whole procedure became annoying and frustrating.

I am one person, have two hands and cannot develop on two computers at the same time. So I think I use IntelliJ within its limits and I don’t see any reason why I should have to buy another license because of this screwed up behavior of IntelliJ.

Little Snitch to the Rescue

As of lately I upgraded Little Snitch to version 3.3 and so I wanted to see what IntelliJ does in order to figure out if there is a license violation. I am not giving away on how that IntelliJ does it or how to use Little Snitch to fix it because people should pay for their software but IntelliJ is annoying the honest customers and crooks can get around it fairly easily. It took me about 20 minutes to figure it out and to fix it. In the past I was always annoyed when I saw users in a big, profitable companies using the evaluation version as if they could not afford it. Since I started my own company I always bought my software if it wasn’t for free and I refuse to use Eclipse because I don’t have the time and thus the money to waste.

Proposal for a Fix

Most likely I am not the majority of IntelliJ users and so I don’t have much faith that JetBrains would consider my proposal but I don’t want to end this post without at least show an idea on how to fix it.

The basic problem is that IntelliJ should look for concurrent usage and not concurrent launch or processes. Developers should be allowed to have multiple IntelliJ instances up and running if they only use one at the time. IntelliJ takes quite some time to fire up and so keep the instances up and running would be a great feature.

Therefore instead of sending out a message to other IntelliJ instances and then complain if such a message is received IntelliJ should connect the two instances and then check from time to time if they are used at the same time. But if you do so please give some slack because not every concurrent use is a criminal act.