I am not a lawyer and this is not legal advice.
Do I need to have some sort of legal mumbo jumbo about “if you give me yer code, it accepts the same license as the project, bla bla bla” (what is the norm here?)
I've contributed to a dozen open source projects, and have only once been asked about such things. In that specific case, I slapped on an LGPL license which was not acceptable and had to be replaced by GPL + a linking exception.
I think it seems fair to assume that, if someone sends you code for inclusion in your open source project, they intend for it to be licensed under the same terms. If you want to be sure, then put a copyright notice on every file listing all the contributors; new contributors are likely to imitate that when they write new files.
Or just ask them: "hey, you forgot to put a legal notice in file x
, is
# Copyright © 2012 J. Random Contributor
# See the file COPYING for details
ok?"
Also, if you use the GPL, then
[anyone distributing a modified version] must license the entire work, as a whole, under this License to anyone who comes into possession of a copy
so that seems pretty much covered.
Is there a way to check contributed code to make sure it is not plagiarized or would that liability fall on the contributer?
You can make a good faith effort for large contributions. There used to be Google Code Search for open source, but that's down now. You can still search for code on GitHub and other popular places to share code. As for software for which you can't see the source code, it's hard to tell when something has been plagiarized. A contributor not understanding "their own" code may be a sign, in which case you probably shouldn't accept it anyway.
If the contributor did violate somebody else's copyright, though, you may be obliged to take action to remove the code in future versions and keep your users from using versions containing the stolen code.
Are there any other gotchas, standard/common practices I should follow, recommendations, things I need to think about?
Read whatever license you use, and make sure you understand it. You don't need to become a lawyer, but be aware of things like license compatibility that may hamper your program's usefulness, esp. when it's designed to operate in conjunction with other software. Decide whether or not you want copyleft to apply.
If you actually want people to contribute, make it easy. I personally like GitHub a lot since it makes forking and contributing extremely easy.