I'm really interested in the conf module from the Django framework. It's pretty well done and will fit perfectly my project with some modification. The code I'm looking for is in the init file: https://github.com/django/django/blob/bf6d07730c41ae23836d8dae98626fe8614307e2/django/conf/__init__.py

Working on my own framework in python that is totally different from what they are doing, Should I add their license or not ?

The Django project is under BSD-3 license.

If I need to include their license, can I add it directly on top of the file? Or should I put it at the root of my project ?

Last but not least, If I need to publish my work (open source), should I put my project under BSD-3 ?


If you take code from somewhere, you need to obey its license requirements. As such it's not question of "should", but of "how" or "am I allowed to ship a combined product / are the licenses compatible". As you don't mention your own - it's a question no one can answer.

You should license your product such that the license reflects what you want. There is no un-opinated answer to the question "should I use BSD" as there's a lot of compatible licenses, too. As BSD is a quite permissive license (weak copy-left) you have many choices for your own work which derives from the BSD-licensed code base, including strong copy-left like GPL. For sure BSD is a valid and established choice of an open-source license, though.

As to indicating licensing, there's many approaches. IMHO easiest is: If you choose the same license as Django, put the license in the root of your project, if you choose another, keep the short license info at the top of the copied files or make a separate sub-directory exclusively for them. Always keep the existing copyright information at the top of the files - irrespective of what license you choose. You may add yours there, too, when you make changes to them


The simplest thing is to just have your project be BSD-3. We do licensing audits at my company and the last thing anyone wants to deal with is a segmented project with two different ones.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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