Question: So I used a piece of software which claims to be open source and is licensed under "GPL for research purposes only". 

As far as I know, GPL 2 and 3 are not themselves free, in sense that you can't change them and still call them GPL. 

Also, as far as I remember, they don't allow developers to restrict the rights granted by them. Cases such as GPL, GPL or GPL + exceptions, or GPL or another license are possible, but GPL with some rights is removed is not allowed.

Given the above, is the idea of licensing code under "GPL for research purposes only" self-contradictory?

UPDATE:
Do to some website restructuring, I could not find the original page where the research purposes only quote comes from. However, the program itself has a license.txt with GPLv3 in it, and following additional notes appended at the end or the regular GPLv3 text:

```
ADDITIONAL NOTES 
<TheProject> is for research purposes only.  
<TheProject> CAN NOT be used for commercial purposes.
<TheProject> SHOULD NOT be used for medical purposes.  
The authors  WILL NOT be responsible for using <TheProject> in medical conditions.

```

Answer: 
Searching for the term "GPL for research purposes only" shows a number of hits that shed a somewhat different light on the matter.

It seems that there is quite a bit of GPL'ed software in the academic medical world. Such software is generally not approved for regular medical use by the regulating agencies. Even if it was, any modification would render the regulatory approval invalid.

The GPL may grant you specific rights, including the right to use the software for medical purposes, but this grant cannot overrule regulatory obligations or other laws. The grant originates in, and is restricted to copyright law.

Note that you can replace "medical" with "aviation" or similar fields.
```
ADDITIONAL NOTES 
<TheProject> is for research purposes only.  
<TheProject> CAN NOT be used for commercial purposes.

```

I read this differently. There's some critical defect in the software's reliability rendering unfit for use *OR* there's a legal restriction other than the GPL in effect here that the author is not able to remove.

It's likely attuned software for medical research and doesn't have FDA certification for production use.

For an extremely bad analogy: the old Sun Java installers had a clause in the license "not licensed for use on nuclear reactors". It wasn't a political statement. As a matter of fact, the developers knew this was a very bad idea. At the time Java had a defect so bad that it rendered the entire machine it was running on unable to meet hard-realtime guarantees. Here I'd be speculating, but it's most likely they couldn't stomach the liability.

So I read this as an extremely short statement warning people not to do this. If they wrote it out in the explicitly legal form it wouldn't be understood so they appeared to impose additional restrictions so nobody would try it. It's hard to argue that something under "ADDITIONAL NOTES" is actual contract terms anyway.