I've been developing GPL'd software for years, but now I need a more restrictive license.
This is for a commercial application, and I want to share my source code with the whole world, regardless of whether they've purchased the application from me or not. I also want to allow people to produce derivative works, but I want to prohibit binary distribution of both my original work, and that of any derivative work.
Basically, if someone has already purchased the original work, he/she can compile and use the original source code, or any derivative work. Otherwise, they can only study my source code, or that of a derivative work.
Does anyone know a license that fits my needs, or do I need to write my own?
Thanks,
UPDATE:
First of all, thanks everyone for the answers.
Let me clear up a few things:
This application has not yet been released. So I'm not adopting a new license like XFree86, I'm trying to pick a license for a new application.
I usually use the term "free software" instead of open source, so that's why I used the term open source here. The source will be "open" indeed, just not the way the OSI defines it.
I'm all for GPL, and almost all software I've written before was released under the GNU GPL v2. But this one has to be an exception.
I don't really care if people violate the license. I wouldn't dream of suing anyone for that, unless they're selling my software.
Now I'm not suggesting I've written a very special piece of software, but I just don't want people making money by stealing my code. But I also want the tech-savvy users to be able to modify the software anyway they see fit.
Oh, and finally, the application is written in a compiled language (Objective-C, to be precise *cough*iPhone*cough*).