Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm writing a few libraries that I want to release as open source projects, but I want to find a licence that means I'll receive the credit when it is used in a project. Im not fussed about anything else, if people want to profit off of it then thats fine. So what licence is most appropriate? The only factor for me is that I receive the credit for producing the library if it is ever used.

share|improve this question
up vote 2 down vote accepted

The original four-clause BSD license is most probably what you are looking for. It allows (not forbids) commercial use, but both source and binary distributions have to show your copyright. In contrast to other variants of this license (e.g. the three-clause variant), it contains an "advertising clause" requiring users of this code to name you as a contributor. However, this four-clause BSD license is considered not compatible to the GPL due to the advertising clause, so you may want to use the three-clause variant (which still requires acknowledging your copyright).

share|improve this answer
The four clause BSD is a bit ugly, but not just because of compatibility with the GPL. IMO, the real issue is what happens to a 4-clause BSD application after lots of folk have contributed and made revisions. You end up with lots and lots and lots of attributions, some of which may no longer be all that relevant because the code has changed dramatically. – GlenH7 Feb 7 '13 at 14:26

Have a look at this Wikipedia article regarding Free and OSS licenses and that should get you started in the right direction.

Creative Commons has a number of licenses you may be interested in since attribution seems to be your biggest concern.

share|improve this answer

Pretty well all permissive licenses (eg BSD and MIT) would suffice- they all require the license bearing copyright owners name to be distributed with any copy of the software. Most software released under BSD uses New BSD License (3 clause).

Comparability with other licenses becomes an issue if someone uses your library in another open source package. Also remember, if you used GPL in your code, then you must release it under GPL.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.