GSoC Temporary commit access accounts

2011-07-21 Thread Luciano Resende
It looks like various Apache projects are voting GSoC students as
partial committers. As Apache does not have a formal process for
handling this type of account requests, regular accounts are created
for these students, with an Apache e-mail alias, and access is given
to general committer areas in SVN (e.g. committer area in svn, etc)
and then respective PMCs provides write access to particular areas in
SVN, such as a sandbox or a collaboration area. If the student fails
the GSoC programm, or is not elected as regular committer during or
after the program, there is no process for disabling/deleting these
accounts. This is very problematic and can cause multiple issues.

As the PMC overseeing the GSoC program at Apache, I'd like to see a
set of recommendations, guidelines and if necessary processes on how
to handle these cases. Having said that, I believe students are and
should be treated as any other community contributor, that have design
discussions on the project mailing list, and provides patch towards
earning trust and committership status as a community recognition of
his contributions.

What are your thoughts on what should be the official recommendation,
and based on that we can discuss required processes.

-- 
Luciano Resende
http://people.apache.org/~lresende
http://twitter.com/lresende1975
http://lresende.blogspot.com/


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Ted Dunning
I completely agree with this.

Mahout has worked on just this basis quite well.

Where it is deemed important for students to be allowed to commit changes,
we have used github as a temporary work area, but all changes committed to
the project code have been committed by actual committers with the
concurrence of the rest of the committers.  We watch to make sure that
temporary work areas do not involve inadvertent inclusion of code not
produced by the students.

I haven't observed a need for any partial committer status.  I certainly
don't see any need to issue apache.org email addresses to students.

On Wed, Jul 20, 2011 at 11:44 PM, Luciano Resende luckbr1...@gmail.comwrote:

 As the PMC overseeing the GSoC program at Apache, I'd like to see a
 set of recommendations, guidelines and if necessary processes on how
 to handle these cases. Having said that, I believe students are and
 should be treated as any other community contributor, that have design
 discussions on the project mailing list, and provides patch towards
 earning trust and committership status as a community recognition of
 his contributions.

 What are your thoughts on what should be the official recommendation,
 and based on that we can discuss required processes.



Re: GSoC Temporary commit access accounts

2011-07-21 Thread Bertrand Delacretaz
Hi,

On Thu, Jul 21, 2011 at 8:44 AM, Luciano Resende luckbr1...@gmail.com wrote:
 It looks like various Apache projects are voting GSoC students as
 partial committers. As Apache does not have a formal process for
 handling this type of account requests, regular accounts are created
 for these students, with an Apache e-mail alias, and access is given
 to general committer areas in SVN (e.g. committer area in svn, etc)
 and then respective PMCs provides write access to particular areas in
 SVN, such as a sandbox or a collaboration area. If the student fails
 the GSoC programm, or is not elected as regular committer during or
 after the program, there is no process for disabling/deleting these
 accounts. This is very problematic and can cause multiple issues

I'd say those are temporary accounts rather than partial, and from the
GSoC point of view I think it's good to have them.

As you say the issue is making sure those accounts are disabled once
GSoC ends, as we would do when a trainee leaves you company.

One suggestion would be to add those accounts to a special LDAP group
named trainee or something. Once GSoC ends, someone (GSoC admins or
comdev PMC) would need to request infra to disable all of them. If a
student is voted in as a committer in the meantime, their PMC chair
would just remove them from the trainee group.

-Bertrand


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Mohammad Nour El-Din
+1 @ Bertrand's idea

On Thu, Jul 21, 2011 at 11:24 AM, Bertrand Delacretaz
bdelacre...@apache.org wrote:
 Hi,

 On Thu, Jul 21, 2011 at 8:44 AM, Luciano Resende luckbr1...@gmail.com wrote:
 It looks like various Apache projects are voting GSoC students as
 partial committers. As Apache does not have a formal process for
 handling this type of account requests, regular accounts are created
 for these students, with an Apache e-mail alias, and access is given
 to general committer areas in SVN (e.g. committer area in svn, etc)
 and then respective PMCs provides write access to particular areas in
 SVN, such as a sandbox or a collaboration area. If the student fails
 the GSoC programm, or is not elected as regular committer during or
 after the program, there is no process for disabling/deleting these
 accounts. This is very problematic and can cause multiple issues

 I'd say those are temporary accounts rather than partial, and from the
 GSoC point of view I think it's good to have them.

 As you say the issue is making sure those accounts are disabled once
 GSoC ends, as we would do when a trainee leaves you company.

 One suggestion would be to add those accounts to a special LDAP group
 named trainee or something. Once GSoC ends, someone (GSoC admins or
 comdev PMC) would need to request infra to disable all of them. If a
 student is voted in as a committer in the meantime, their PMC chair
 would just remove them from the trainee group.

 -Bertrand




-- 
Thanks
- Mohammad Nour
  Author of (WebSphere Application Server Community Edition 2.0 User Guide)
  http://www.redbooks.ibm.com/abstracts/sg247585.html
- LinkedIn: http://www.linkedin.com/in/mnour
- Blog: http://tadabborat.blogspot.com

Life is like riding a bicycle. To keep your balance you must keep moving
- Albert Einstein

Writing clean code is what you must do in order to call yourself a
professional. There is no reasonable excuse for doing anything less
than your best.
- Clean Code: A Handbook of Agile Software Craftsmanship

Stay hungry, stay foolish.
- Steve Jobs


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Kathey Marsden

On 7/21/2011 2:24 AM, Bertrand Delacretaz wrote:

Hi,

On Thu, Jul 21, 2011 at 8:44 AM, Luciano Resendeluckbr1...@gmail.com  wrote:

It looks like various Apache projects are voting GSoC students as
partial committers. As Apache does not have a formal process for
handling this type of account requests, regular accounts are created
for these students, with an Apache e-mail alias, and access is given
to general committer areas in SVN (e.g. committer area in svn, etc)
and then respective PMCs provides write access to particular areas in
SVN, such as a sandbox or a collaboration area. If the student fails
the GSoC programm, or is not elected as regular committer during or
after the program, there is no process for disabling/deleting these
accounts. This is very problematic and can cause multiple issues

I'd say those are temporary accounts rather than partial, and from the
GSoC point of view I think it's good to have them.

As you say the issue is making sure those accounts are disabled once
GSoC ends, as we would do when a trainee leaves you company.

One suggestion would be to add those accounts to a special LDAP group
named trainee or something. Once GSoC ends, someone (GSoC admins or
comdev PMC) would need to request infra to disable all of them. If a
student is voted in as a committer in the meantime, their PMC chair
would just remove them from the trainee group.
Would  they therefore not be in  committers with access to the 
committers private area? If that is the case, it might clarify their 
status in everyone's view.


Personally, for google summer of code and for all development, I tend to 
think a normal small incremental patch review commit model into trunk is 
best,  avoiding large code merges that are not easy to review, well 
tested or well understood by the community.   This of course really 
reduces the scope of what students can submit in a summer but means it 
will make it into production and they will learn what it takes to 
produce production code.Leading up to that point, I understand the 
need for prototyping.  Is that what these branches and the these 
temporary accounts are about, a place to build a prototype? I am also 
curious. Are these temporary accounts given to others outside of GSOC 
who want to work on a project in the community?


Thanks

Kathey



Re: GSoC Temporary commit access accounts

2011-07-21 Thread Ross Gardler
On 21 July 2011 10:24, Bertrand Delacretaz bdelacre...@apache.org wrote:
 Hi,

 On Thu, Jul 21, 2011 at 8:44 AM, Luciano Resende luckbr1...@gmail.com wrote:
 It looks like various Apache projects are voting GSoC students as
 partial committers. As Apache does not have a formal process for
 handling this type of account requests, regular accounts are created
 for these students, with an Apache e-mail alias, and access is given
 to general committer areas in SVN (e.g. committer area in svn, etc)
 and then respective PMCs provides write access to particular areas in
 SVN, such as a sandbox or a collaboration area. If the student fails
 the GSoC programm, or is not elected as regular committer during or
 after the program, there is no process for disabling/deleting these
 accounts. This is very problematic and can cause multiple issues

 I'd say those are temporary accounts rather than partial, and from the
 GSoC point of view I think it's good to have them.

As long as we ensure they are really temporary I agree.

Personally I feel that GSoC students should earn commit access just
like anyone else. However, being a mentor is a time consuming task and
we have to balance mentoring effort against the payback they get. We
can also argue that the evaluation process is, when done right, is
almost as rigorous as the process of becoming a committer.

I think it is important to ensure mentors and PMCs get to choose the
way they work with GSoC students. Personally I will still require
students to submit regular patches but I don't feel we should dictate
that practice.

 One suggestion would be to add those accounts to a special LDAP group
 named trainee or something. Once GSoC ends, someone (GSoC admins or
 comdev PMC) would need to request infra to disable all of them. If a
 student is voted in as a committer in the meantime, their PMC chair
 would just remove them from the trainee group.

+1

-- 
Ross Gardler (@rgardler)
Programme Leader (Open Development)
OpenDirective http://opendirective.com


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Benson Margulies

 Personally I feel that GSoC students should earn commit access just
 like anyone else.

I have a lot of sympathy for Greg's position. Treating 'committer' as
a single monolithic category drives people away.

A typical problem case is someone who sets out to undertake a big,
complex, contribution. Without at least svn commit access to a branch,
the overhead can get so onerous to drive people away. yes, the mentor
can be a human mirror and push stuff into a branch. That's a lot of
extra work. I've seen it happen. Yes, various tricks with git
mitigate. On the other hand, having the code in svn in a branch allows
the PMC to supervise the contribution much more easily. When I first
turned up at Apache, I deferred work on the main project I had in mind
for months and pecked away at small bugs to earn committer status. Not
everyone has that much patience, and not everyone, in my opinion,
should have to. I'd be happy to see the foundation endorse the idea
that a PMC can choose to grant commit karma to branches, in a trial
basis, to people who have submitted a suitable cla. That would not
given them nexus karma, web-site-editing karma, or dogma karma.


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Ross Gardler
On 21 July 2011 21:55, Benson Margulies bimargul...@gmail.com wrote:

 Personally I feel that GSoC students should earn commit access just
 like anyone else.

 I have a lot of sympathy for Greg's position. Treating 'committer' as
 a single monolithic category drives people away.

(I'll ignore the fact that you have cut the part of my message in
which I say we shouldn't force my opinion on people)

 A typical problem case is someone who sets out to undertake a big,
 complex, contribution.

That is not a GSoC case. So is irrelevant to this discussion (but is
certainly relevant to giving commit access in general).

Ross


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Benson Margulies
On Thu, Jul 21, 2011 at 4:58 PM, Ross Gardler
rgard...@opendirective.com wrote:
 On 21 July 2011 21:55, Benson Margulies bimargul...@gmail.com wrote:

 Personally I feel that GSoC students should earn commit access just
 like anyone else.

 I have a lot of sympathy for Greg's position. Treating 'committer' as
 a single monolithic category drives people away.

 (I'll ignore the fact that you have cut the part of my message in
 which I say we shouldn't force my opinion on people)

Ross, I apologize. I wasn't trying to represent this as your view, I
was just trying to shrink the size of the email.


 A typical problem case is someone who sets out to undertake a big,
 complex, contribution.

 That is not a GSoC case. So is irrelevant to this discussion (but is
 certainly relevant to giving commit access in general).

I was originally going to write, Students are not precisely this
case, but if it was culturally acceptable in general to grant commit
access on branches to people before granting full committer status,
that policy could be used to justify granting it to students. I guess
I should have.



 Ross



Re: GSoC Temporary commit access accounts

2011-07-21 Thread Stefan Sperling
On Thu, Jul 21, 2011 at 05:58:49AM -0400, Greg Stein wrote:
 There was a Git GSoC student that was working on improving the
 conversion speed from SVN to Git. He started a project, and one of
 those components was to use one of Subversion's wire protocols to haul
 over a repository to the client, then write it locally to an svn
 dumpfile. This Git student approached the Apache Subversion community
 with this tool concept... we thought it was awesome. We gave that
 student partial commit privileges (ie. only that tool area), and then
 he worked on the tool during the summer.
 
 That tool is now being shipped as part of Apache Subversion 1.7.
 
 Here was a student for Git, of all things, but needed something from
 Apache. We welcomed him, we made him a part of the community, and then
 he built a tool.

But we didn't give him commit access just because he was a gsoc student.
We gave him commit access because he had a non-trivial project brewing.
And because it made more sense to maintain his tool in our tree than
in git's because it is linking to Subversion libraries.

Note that he kept committing in both communities during gsoc.
He is still active in git today. I recently met his former gsoc mentor
from the git side and we had a nice chat.

 Personally: I say any PMC that makes their students second-class (e.g
 commit your code to github, not *OUR* repository) is ridiculous. We
 have version control. There is absolutely NO possible damage that a
 committer can do. The PMC can always unwind the work before a release
 (of course, the committer could be constrained to a branch, outside of
 manipulating the release).
 
 My opinion is that social barriers have no place here. Given that we
 have version control, there is never going to be a problem. On the
 outside case, with *crazy* people(!), you may need to remove commit.
 But no committer can ever do permanent damage.
 
 On the other side: by treating them as second class citizens (not our
 repository!), then you can do permanent damage to *them*.

Finding the right point when to offer commit is a balancing act.

Another one of my gsoc students never got commit access.
He had originally planned a larger project to work on that would have
warranted a branch but it collided too much with wc-ng development
which was still at an early stage (this was in 2009).

So he kept sending small but very useful patches for wc-ng and other
areas instead. They always got reviewed and committed after several
iterations. He got attention from the community and the result of his
work directly went to the trunk. Hyrum ended up co-mentoring him by
getting involved in his patches.

When gsoc was over he sent a private good-bye email to me and Hyrum
thanking us for everything and sent a picture he had made as a token
of gratitude. I was sad to see him go but don't think giving him
commit would have made him stick around. The summer was over and he
wanted to (or had to) move on.


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Stefan Sperling
On Thu, Jul 21, 2011 at 01:19:14AM -0700, Ted Dunning wrote:
 I completely agree with this.
 
 Mahout has worked on just this basis quite well.

At Subversion we did this, too, during the last two years (we have
no gsoc student this year). It has been working extremely well.
In some cases gsoc students already had commit access because of
prior work they did on the project.

I personally think it is not a good idea to hand out commit access to
gsoc students just because they're gsoc students. This is not how open
source works in reality. gsoc is a training program for open source
developers and should mirror the real experience.

Submitting patches also forces students to build their work in pieces
which can be reviewed. It helps them with organising their commits
when they attain commit access later.

gsoc students can be expected to learn about git/mercurial if they really
need local commits (or wait until Greg finishes 'svn checkpoint' :)
I've recommended mercurial patch queues to students I've mentored:
http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html

 I haven't observed a need for any partial committer status.  I certainly
 don't see any need to issue apache.org email addresses to students.

To prevent unnecessary overloading of this term, I'd like to point out
that in Subversion a partial committer is someone who is granted
access to a particular subdirectory or a branch.
http://subversion.apache.org/docs/community-guide/roles.html#partial-commit-access
This has nothing to do with gsoc. The access is usually never revoked.


Re: GSoC Temporary commit access accounts

2011-07-21 Thread Greg Stein
On Thu, Jul 21, 2011 at 16:55, Benson Margulies bimargul...@gmail.com wrote:
...
 Personally I feel that GSoC students should earn commit access just
 like anyone else.

 I have a lot of sympathy for Greg's position. Treating 'committer' as
 a single monolithic category drives people away.

Right. It is necessary to distinguish between commit access [to a
branch] and commit access [to trunk]. I fully concur that access to
trunk follows the same pattern as regular committers. GSoC students
have no elevated rights.

However, I think providing a GSoC student with commit to a branch is
an easy decision, and that it should be the default policy. (for the
reasons listed in my previous note)

[ next part strays from the GSoC discussion ]
...
 should have to. I'd be happy to see the foundation endorse the idea
 that a PMC can choose to grant commit karma to branches, in a trial
 basis, to people who have submitted a suitable cla. That would not
 given them nexus karma, web-site-editing karma, or dogma karma.

The Subversion PMC has an operating rule that basic states, any
individual PMC member may grant commit access to a non-trunk area, to
a developer with an ICLA on file. There is a subjective level to
this: does it clearly make sense (say, a branch), or might it be a
little controversial (say, the directory for the 'svn' command-line
tool). For the latter, we encourage the Member to float the idea on
private@ first. But we don't have a strict written policy here; good
judgement is always a great replacement for more rules :-)

I would very much encourage other PMCs to adopt similar policies.
Again, with version control, the phrase damage control almost
doesn't apply.

Cheers,
-g