This seems like it would be an obvious "yes". However, I just want to be sure and I've tried googling around to no avail.

I am learning Python/Django and uploading all of the projects I'm creating to GitHub. I'm starting to add in existing modules from other open-source projects that do not belong to me. Is it still okay to upload MY projects to GitHub, even though they include other people's open source modules as well? Should I give them credit in the README, or by commenting where their code is included?


  • Does the other license allow you to do what you want?
    – user1249
    Commented Jan 28, 2012 at 20:33

2 Answers 2


"open-source" is a wide term. The answer depends on the particular license of those projects (and yours), so look that up, or better yet, ask the author.

Personally, I prefer if the dependencies of the project are listed in a text file. If installable on popular linux distributions by the package manager, providing the command line for that is a great convenience. If not, a script that fetches them and puts somewhere so the build script/Makefile finds them is also great. This solves the question of licensing because you don't include them in your repo.

In the case that all these dependencies are available as publicly "clone-able" git repos, you can use submodules to manage them.

  • There are also language-specific build systems you can use to automate dependency resolution. I know of Cabal for Haskell; I imagine Python has something similar. If something like that exists, you should probably use it. Commented Jan 29, 2012 at 9:45

Where possible, I contact the authors and ask their permission, then make sure to put highly visible attributions in the README. I'm not sure about the legal aspect, but it's just courteous, in keeping with the spirit of the community and to date no-one refused. It's also a great chance to connect with other devs!

  • Not entirely sure why this merits a downvote, but never mind...
    – sunwukung
    Commented Jan 28, 2012 at 22:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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