In order to contribute any code to Drupal.org (even patches), it's really looking like people are going to need to give commit privileges far and wide (discussion still going on at http://groups.drupal.org/node/50438 on exactly what that looks like).

Things to figure out:

1. What exactly should this text say to CYA from a Drupal Association perspective?
2. Can it be a one-time thing or does it need to be per-SSH key or..?

Related: #720664: Create a "ssh_key" module, to allow upload of SSH keys to drupal.org user profiles

Comments

pwolanin’s picture

Note that at present we don't ask for confirmation that every path is for inclusion under the GPL. In contrast contribute a patch to an ASK project like Solr and you'll have to confirm that every patch you upload is licensed for inclusion under the Apache license.

I wouldn't want to go that far on d.o, but I think it's important to make very clear to every contributor that all contributions (patches, commits, etc) must be licensed (and licensable - i.e. not belonging to someone else) under the GPL for inclusion.

Crell’s picture

Isn't this text already on the CVS application form itself, where the "I agree" checkbox is? I don't have access to that form since I already have a CVS account. Can someone that does post it here?

Crell’s picture

Also, to pwolanin, we have considered adding such a checkbox to patch submissions with a blanket "yes, I agree always" in user profiles. We've just never gotten around to it. :-)

yhager’s picture

@crell:

I will only commit code that is licensed under terms of the GNU public license, version 2:
(o) No
( ) Yes

And also on http://drupal.org/cvs-application/requirements you have:

Your work must be licensed under the same license as Drupal, which is GPL version 2 or later. (Why?) We do not allow committing third-party libraries to CVS, even if they are GPL. (More info)
Crell’s picture

Great. I'm not sure we need to change anything to that text to make it git-friendly. Perhaps change "commit" to "submit". That's about it.

Can anyone suggest why we'd need to do anything else?

exlin’s picture

I don't understand either why this is git related? This should be something asked for confirmation at the point when someone is requesting commit-permissions.

For wording: "I will submit code to drupal only under terms of GNU public license version 2 or later and i am permitted to do so".

Somehow promising to commit code ONLY under gpl 2 sounds bit bad ;)

greggles’s picture

This is not about committing code, but about uploading code. All code must be the right license.

exlin’s picture

So for git we should use word push?

" will push code to drupal.org version control system only under terms of GNU public license version 2 or later and i am permitted to do so"

Think "i am permitted to do so" is important part (in some wording) since many of us might get paid for coding to drupal and contracts with employee might leave copyright to company, even if he/she is allowed to make commit behalf of employer. This also deals with potention issues (i believe) with someone committing somebodys code without authorization, leaving "pusher" to verify that code is licenced allready in such ways he can re-use it or has permissions from original copyright owner.

sdboyer’s picture

Priority: Normal » Critical
Issue tags: +git phase 2

Tagging and marking critical.

sdboyer’s picture

Priority: Critical » Normal

Whoops, unmarking critical - in the nomenclature of the git migration, we're only marking things critical if they're things I have to do.

sdboyer’s picture

Project: Drupal.org infrastructure » The Great Git Migration
Component: Git » Commit access process
Priority: Normal » Critical

Moving this to the git migration project.

Crell’s picture

Priority: Critical » Major

And uncritical again. :-)

sdboyer’s picture

Component: Commit access process » Decisions
Priority: Major » Critical

Please don't do that - we're using the critical to have a specific meaning with respect to the migration. This has to be done in order to finish up phase 2 - which means critical.

sdboyer’s picture

...and looking back, I see you un-criticalled because of my last comment. Sorry, I had it wrong in #10. lol.

mparker17’s picture

I've seen something similar to this problem solved with Git's Signed-off-by header. The author of the project created a file in the project named SIGNED-OFF-BY that contains the following text (the project is named bup):

Patches to bup should have a Signed-off-by: header. If you include this header in your patches, this signifies that you are licensing your patch to be used under the same terms as the rest of bup, ie. the GNU Library General Public License, version 2.

Here's the file in the project on Github: bup / SIGNED-OFF-BY.

Josh The Geek’s picture

@mparker17: I can guarantee that I will forget to add the flag (--signoff) a few times. I also know that I won't be the only one.

sdboyer’s picture

Status: Active » Closed (duplicate)
Issue tags: +git sprint 5

This snuck by because #892312: Figure out wording / whether we should have "Developer Code of Conduct" before launching morphed into something that renders this a near-duplicate. I'm tagging this for the sprint it was originally resolved in, and marking appropriately.

@mparker17 - if signed-off-by was actually a header, that might be useful. But it's not, which that author seems to be confused about. From the git-commit man pages:

-s, --signoff
Add Signed-off-by line by the committer at the end of the commit log message.

Not a header. It just makes nasty, crufty additions to the commit message. Plus, as pointed out in #16, there's no way people remember to do that for _every_ commit (especially commits that weren't even intended to go on d.o in the first place, but end up there). So it's really not very useful for this problem.