I ran across ab article on LWN recently about contributor agreements, and wanted to share it with the Joomla groups.
Basically, it discusses the various types of agreements in place, promoting the agreement used by Linux, the Developer Certificate of Origin: http://developercertificate.org/
Unlike agreements modeled after the GNU Emacs agreement, the Linux agreement doesn't require each and every developer to electronically sign some form of agreement before contributing code.
Instead, when you submit a pull request you must at the bottom of your pull request sign off on the agreement, aka:
Signed-Off-By: (real-name) (email-address)
This requires the use of version control and maintaining the full commit logs.
The primary difference between the Linux method and the GNU Emacs method is that there is no explicit "assignment of copyright".
According to the lawyers for the GNU Foundation, without an assignment of copyright it is harder to enforce intellectual property claims in court.
I don't know if this is true or not, as I am not aware of any cases where the GNU Foundation has gone to court to enforce their licensing terms for their products in court.
I do know of MANY cases where third parties[ie not copyright holders] have successfully gone to court and enforced the terms of the GPL when it comes to linux. So obviously it is possible - I simply don't know if it would have been easier to enforce those rights if Linux followed the GNU recommended framework.
The primary benefit of the Linux method is that they can easily accommodate "drive by patches" - ie a developer runs into a very small bug that only affects a small number of people[perhaps just the dev], submits a 3 line patch, and disappears.
Thanks to strong version control tracking - if there ever is a case brought against them for those 3 lines of code, the Linux team can:
2) Remove the offending 3 lines of code
3) Suggest that if any legal action is warranted, the offended part can take it up with the individual who contributed the copyrighted code