I've been trying to find what I'm supposed to do when I want to use code I find on GitHub. I think this post had some good information but I'm still somewhat confused.

I want to use code found in this repository https://github.com/wcdolphin/python-bcrypt

So according to the answer given the post, I'm to take the content in the LICENSE file of that repository and add it to the LICENSE in my project? I understand that I should give acknowledgement to the creator, how do I do that? Do I create a .txt file in the directory that holds the module that is their code and say something like "Created by wcdolphin, found at https://github.com/wcdolphin/python-bcrypt"?

Also, I haven't used used libraries beyond what is included with the Python library before. I see installation instructions there, but that would only work on my machine right? Can I download and add these files into my project directory and use them as modules? I found this post but I'm not sure if I can custom install stuff on Google App Engine. I intend on hosting my project up there(I'm not going to try to homebrew encrypt super sensitive information, it's more of a demonstration) and I think, with my limited knowledge, uploading the source with my source would be the best way.


3 Answers 3


It's not that hard, it's copyright law (not etiquette) and you don't need a lawyer unless there is money involved. You just need to sensibly consider the following situations.

  1. If you're just going to use the code and distribute nothing your obligations are minimal. Just don't delete any notices from source code you use.

  2. If you're going to distribute anything you have to decide what licence you are going to use, and it must be a licence compatible with any other components you use. Pick one you like and include it in your distribution. BSD is good. GPL or proprietary or public domain would not be good choices.

  3. If you distribute binaries, you need a copyright acknowledgment notice in your distribution. A copy of the LICENSE file would do the job. You can combine it with your licence or not as you choose.

  4. If you're going to distribute source code then you must leave the notices in the files. This is particularly important if you merge files or just distribute parts.

It's mostly just common sense. Drop an email to the authors if you have doubts. Spending money on lawyers is silly when there is no money involved, but you do need to read and think about this stuff.

  1. If you plan on selling stuff and/or getting involved in any activities that might draw the attention of governments and/or people who can afford big lawyers then find yourself a good lawyer. You might well need it!
  • When you say distribute the source, does that include putting my project onto GitHub? I'm going to take the directory that I need from that source so how leave notices? Do I add a file in that directory called NOTICE? Do I put it in the comments of the source files themselves? I won't be making any money out of this(unless someone physically cash at my face and said "it's for your code on github!") so I think there will be little problems. I just want to know what I'm supposed to do so I get into the habit of crediting people properly.
    – Aaron
    Feb 11, 2014 at 20:29
  • Yes, putting a project on GitHub is distributing the source. Whatever you copy to a public place is thereby distributed. I can really only answer what your legal obligations are. If it really is etiquette you want, then go there, look around and so what everyone else does.
    – david.pfx
    Feb 11, 2014 at 21:57

If it is only demonstration I would not care that much. I think it is "fair use" (learning) more on wikipedia. Attribution is nice thing and thing to do. When your demonstration will turn into something bigger then you would have to get law advisor to cover your back. Not to rely on internet forums to get legal advice.


I think including python-bcrypt's license text as it is and adding yours above it should be ok. Since that's what the BSD license requires you to do. Just like what the author did when he included blowfish and bcrypt in his project.

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.