It is similar to this question, just this time code which is licensed under Apache 2.0 gets linked into code I have written, which is under the BSD 3-clause. Both are open-source, but I wanted to give the licensed code a unique license to not confuse people as I will put the app on github. So I would like to convert apache2.0 code-sections to BSD 3-clause.

Up to now I put ahead of the code first my BSD3cl header and then the Apache2.0 header which was already there. Furthermore I mark changed lines inside the Apache2.0 code, which I edited myself (this is what Apache2.0 tells me to do). So altogether I want to remove Apache2.0 and put all the code under BSD3cl. .

//BSD-3-clause template (where all the restrictions go etc)
//Already existing Apache 2.0 template

//my code
//origianl apache code
//origianl apache code modified ( I did change this and that)
//my code
//my code

What are your thoughts on this, as I dont have experience yet with licensing in general.

  • Hi there! It's really hard to tell what you're trying to ask here. Are you trying to relicense material? Or just change a license file? If you could edit your question to be more specific, it will be easier for us to provide you with a good answer. Thank you! :D
    – Zizouz212
    Feb 29, 2016 at 20:36

1 Answer 1


You can not change the license on code you did now write (more precisely, not own).

If you combine code distributed under different licenses, the result must be distributed under the license that is more restrictive (the one that allows less), as you must comply with both.

The BSD licenses are nearly maximal permissive, Apache somewhat less. If you can distribute the result of combining Apache + BSD, it is under Apache only.

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