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 have a pet project that I am planning to release as open source at some point in the not-too-distant future. A couple of the files use or are mostly code that was taken from a project released under the New BSD License. While I have changed it to fit my needs and added some small stuff, the algorithm and the functionality is basically exactly the same.

I want to make sure that the author of the code gets credit and that the license is not broken, but I also want to make the reader aware that this is not the code as it was orignally released.

How should I approach this? Should I isolate the code as much as possible and just retain the original license? Maybe put all the files that contain foreign code in their own folder and add a readme explaining what has been added/removed?

There must have been tons of projects using other open source code. What is the standard approach to this?

share|improve this question
I have a similar question. In a project of my own, I will occasionally receive patches - some of which are non-trivial. I always wrestle with how much/little to acknowledge the people who submit them. – geoffjentry Nov 22 '11 at 22:24
up vote 4 down vote accepted

If the files you use have (had) a header stating their origin, keep them. If they don't have, add one. You could also add an AUTHORS file to your project where you list all authors and all projects you took code from. If the code you use has a different license, it might also be good to add an extra license file for that. For instance, if you use source code of the fooBar project, add a file COPYING.fooBar to your project that contains the license of fooBar.

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.