Is there any license meeting the following criteria:
- source code available (users allowed to browse the source)
- users are allowed to modify the code with credits to the original author
- not allowed to sell the software itself or any other program using code from it
- can be sold by original author
7
If you go by the definition of “open source” by The Open Source Initiative, then no you will not find a licence that fits your terms.
From the Open Source Definition:
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
The second item in your original question is incompatible with that definition.
The “no commercial use” term you state is also incompatible with the OSD definition. Check for instance this FAQ item:
Can Open Source software be used for commercial purposes?
Absolutely. All Open Source software can be used for commercial purpose; the Open Source Definition guarantees this. You can even sell Open Source software.
However, note that commercial is not the same as proprietary. If you receive software under an Open Source license, you can always use that software for commercial purposes, but that doesn’t always mean you can place further restrictions on people who receive the software from you. In particular, so-called copyleft-style Open Source licenses require that when you distribute the software, you do so under the same license you received it under.
Your last item isn’t something that would be governed by the licence you choose to distribute your code. If you have the copyright to the code, you do whatever you want with it, including selling it and/or distributing it under a variety of licences.
3
For starters, the original author doesn’t need a license to do anything with the program. They own it outright, including it in your requirements just complicates the issue.
With that out of the way, you’re not looking for an “open source” license, just a source license. Lots of ‘enterprise’ software is distributed this way, allowing for site-specific customization to the software. You’ll see licenses that authorize “research and personal use only” but explicitly denying redistribution rights. Early versions of Unix were basically distributed this way.
What you’re asking for isn’t novel or new but there aren’t exactly standard, public licenses floating around that say what you want. Time to lawyer up and write your own.
-
If you wrote the software, then you own the copyright. Anyone can look at it, but they can not “use” it in any way unless they contact you and get an explicit permission.
-
if you do not want lots of people to explicitly contact you and get a permission, you can make your and their job easier, by providing your permission with your rules over the “usage” of the code in what is called a “license”.
-
It will be better if there was already a license template that provided usage rules exactly the same way that you want. In your case, there isn’t, so you have to spell out your terms yourself. That is then your “license”.
-
your terms can be written in complex, lawyery, format. Or you can write it in simple terms the way you have explained it. The former is expensive, but makes sure you cover every eventuality, loop hole, and withstands a court challenge if you have to. The latter costs less to write up (30 minutes of your time?) but could be full of legal holes.
Now choose your pick!
2