My thinking is that current way of assigning a contributor after the patch is 
done (or almost done) is OK. Parallel efforts are also OK until they are 
discussed in the issue's thread. Ilya Ganelin made a good point that it is 
about moving the project forward. It also adds means of competition "who make 
it faster/better" which is also good for the project and community. My only 
concern is about the throughput of Databricks folks who monitor issues, check 
patches and assign a contributor. Monitoring should be done on a constant basis 
(weekly?).

Best regards, Alexander

-----Original Message-----
From: Vinod Kumar Vavilapalli [mailto:vino...@hortonworks.com] 
Sent: Wednesday, April 22, 2015 2:59 PM
To: Patrick Wendell
Cc: Nicholas Chammas; Ganelin, Ilya; Mark Hamstra; Sean Owen; dev
Subject: Re: Should we let everyone set Assignee?


Last one for the day.

Everyone, as I said clearly, I was "not alluding to anything fishy in 
practice", I was describing how things go wrong in such an environment. Sandy's 
email lays down some of these problems.

Assigning a JIRA in other projects is not a reservation. It is a clear 
intention of working on design or code.

You don't need a new convention of signaling. In almost all other projects, it 
is assigning tickets - that's how it is used.

+Vinod

On Apr 22, 2015, at 2:37 PM, Patrick Wendell <pwend...@gmail.com> wrote:

> Sandy - I definitely agree with that. We should have a convention of 
> signaling someone intends to work - for instance by commenting on the 
> JIRA and we should document this on the contribution guide. The nice 
> thing about having that convention is that multiple people can say 
> they are going to work on something, whereas only one person can be 
> given the assignee slot on a JIRA.
> 
> 
> On Wed, Apr 22, 2015 at 2:33 PM, Nicholas Chammas 
> <nicholas.cham...@gmail.com> wrote:
>> To repeat what Patrick said (literally):
>> 
>> If an issue is "assigned" to person X, but some other person Y 
>> submits a great patch for it, I think we have some obligation to 
>> Spark users and to the community to merge the better patch. So the 
>> idea of reserving the right to add a feature, it just seems overall off to 
>> me.
>> 
>> No-one in the Spark community dictates who gets to do work. When an 
>> issue is assigned to someone in JIRA, it's either because a) they did 
>> the work and the issue is now resolved, or b) they are signaling to 
>> others that they are working on it.
>> 
>> In the case of b), nothing stops other people from working on the 
>> issue and it's quite normal for other people to complete issues that 
>> were technically assigned to someone else. There is no land grabbing 
>> or stalling. Anyone who has contributed to Spark for any amount of time 
>> knows this.
>> 
>> Vinod,
>> 
>> I want to take this opportunity to call out the approach to 
>> communication you took here.
>> 
>> As a random contributor to Spark and active participant on this list, 
>> my reaction when I read your email was this:
>> 
>> You do not know how the Spark community actually works.
>> You read a thread that contains some trigger phrases.
>> You wrote a lengthy response as a knee-jerk reaction.
>> 
>> I'm not trying to mock, but I want to be direct and honest about how 
>> you came off in this thread to me and probably many others.
>> 
>> Why not ask questions first--many questions? Why not make doubly sure 
>> that you understand the situation correctly before responding?
>> 
>> In many ways this is much like filing a bug report. "I'm seeing this. 
>> It seems wrong to me. Is this expected?" I think we all know from 
>> experience that this kind of bug report is polite and will likely 
>> lead to a productive discussion. On the other hand: "You're returning 
>> a -1 here? This is obviously wrong! And, boy, lemme tell you how 
>> wrong you are!!!" No-one likes to deal with bug reports like this. 
>> More importantly, they get in the way of fixing the actual problem, if there 
>> is one.
>> 
>> This is not about the Apache Way or not. It's about basic etiquette 
>> and effective communication.
>> 
>> I understand that there are legitimate potential concerns here, and 
>> it's important that, as an Apache project, Spark work according to 
>> Apache principles. But when some person who has never participated on 
>> this list pops up out of nowhere with a lengthy lecture on the Apache 
>> Way and whatnot, I have to say that that is not an effective way to 
>> communicate. Pretty much the same thing happened with Greg Stein on 
>> an earlier thread some months ago about designating maintainers for 
>> components.
>> 
>> The concerns are legitimate, I'm sure, and we want to keep Spark in 
>> line with the Apache Way. And certainly, there have been many times 
>> when a project veered off course and needed to corrected.
>> 
>> But when we want to make things right, I hope we can do it in a way 
>> that respectfully and tactfully engages the community. These 
>> "lectures delivered from above" -- which is how they come off -- are not 
>> helpful.
>> 
>> Nick
>> 
>> 
>> On Wed, Apr 22, 2015 at 4:31 PM Ganelin, Ilya 
>> <ilya.gane...@capitalone.com>
>> wrote:
>>> 
>>> As a contributor, I¹ve never felt shut out from the Spark community, 
>>> nor have I seen any examples of territorial behavior. A few times 
>>> I¹ve expressed interest in more challenging work and the response I 
>>> received was generally ³go ahead and give it a shot, just understand 
>>> that this is sensitive code so we may end up modifying the PR 
>>> substantially.² Honestly, that seems fine, and in general, I think 
>>> it¹s completely fair to go with the PR model - e.g. If a JIRA has an 
>>> open PR then it¹s an active effort, otherwise it¹s fair game unless 
>>> otherwise stated. At the end of the day, it¹s about moving the 
>>> project forward and the only way to do that is to have actual code 
>>> in the pipes -speculation and intent don¹t really help, and there¹s 
>>> nothing preventing an interested party from submitting a PR against an 
>>> issue.
>>> 
>>> Thank you,
>>> Ilya Ganelin
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On 4/22/15, 1:25 PM, "Mark Hamstra" <m...@clearstorydata.com> wrote:
>>> 
>>>> Agreed.  The Spark project and community that Vinod describes do 
>>>> not resemble the ones with which I am familiar.
>>>> 
>>>> On Wed, Apr 22, 2015 at 1:20 PM, Patrick Wendell 
>>>> <pwend...@gmail.com>
>>>> wrote:
>>>> 
>>>>> Hi Vinod,
>>>>> 
>>>>> Thanks for you thoughts - However, I do not agree with your 
>>>>> sentiment and implications. Spark is broadly quite an inclusive 
>>>>> project and we spend a lot of effort culturally to help make newcomers 
>>>>> feel welcome.
>>>>> 
>>>>> - Patrick
>>>>> 
>>>>> On Wed, Apr 22, 2015 at 1:11 PM, Vinod Kumar Vavilapalli 
>>>>> <vino...@hortonworks.com> wrote:
>>>>>> Actually what this community got away with is pretty much an
>>>>> anti-pattern compared to every other Apache project I have seen. 
>>>>> And may I say in a not so Apache way.
>>>>>> 
>>>>>> Waiting for a committer to assign a patch to someone leaves it as 
>>>>>> a
>>>>> privilege to a committer. Not alluding to anything fishy in 
>>>>> practice, but this also leaves a lot of open ground for 
>>>>> self-interest. Committers defining notions of good fit / level of 
>>>>> experience do not work, highly subjective and lead to group 
>>>>> control.
>>>>>> 
>>>>>> In terms of semantics, here is what most other projects (dare I 
>>>>>> say
>>>>> every Apache project?) that I have seen do
>>>>>> - A new contributor comes in who is not yet added to the JIRA
>>>>> project.
>>>>> He/she requests one of the project's JIRA admins to add him/her.
>>>>>> - After that, he or she is free to assign tickets to themselves.
>>>>>> - What this means
>>>>>>    -- Assigning a ticket to oneself is a signal to the rest of 
>>>>>> the
>>>>> community that he/she is actively working on the said patch.
>>>>>>    -- If multiple contributors want to work on the same patch, it
>>>>> needs
>>>>> to resolved amicably through open communication. On JIRA, or on 
>>>>> mailing lists. Not by the whim of a committer.
>>>>>> - Common issues
>>>>>>    -- Land grabbing: Other contributors can nudge him/her in case 
>>>>>> of
>>>>> inactivity and take them over. Again, amicably instead of a 
>>>>> committer making subjective decisions.
>>>>>>    -- Progress stalling: One contributor assigns the ticket to
>>>>> himself/herself is actively debating but with no real code/docs 
>>>>> contribution or with any real intention of making progress. Here 
>>>>> workable, reviewable code for review usually wins.
>>>>>> 
>>>>>> Assigning patches is not a privilege. Contributors at Apache are 
>>>>>> a
>>>>> bunch
>>>>> of volunteers, the PMC should let volunteers contribute as they 
>>>>> see fit. We do not assign work at Apache.
>>>>>> 
>>>>>> +Vinod
>>>>>> 
>>>>>> On Apr 22, 2015, at 12:32 PM, Patrick Wendell 
>>>>>> <pwend...@gmail.com>
>>>>> wrote:
>>>>>> 
>>>>>>> One over arching issue is that it's pretty unclear what 
>>>>>>> "Assigned to X" in JIAR means from a process perspective. 
>>>>>>> Personally I actually feel it's better for this to be more 
>>>>>>> historical - i.e. who ended up submitting a patch for this 
>>>>>>> feature that was merged - rather than creating an exclusive 
>>>>>>> reservation for a particular user to work on something.
>>>>>>> 
>>>>>>> If an issue is "assigned" to person X, but some other person Y
>>>>> submits
>>>>>>> a great patch for it, I think we have some obligation to Spark 
>>>>>>> users and to the community to merge the better patch. So the 
>>>>>>> idea of reserving the right to add a feature, it just seems 
>>>>>>> overall off to
>>>>> me.
>>>>>>> IMO, its fine if multiple people want to submit competing 
>>>>>>> patches for something, provided everyone comments on JIRA saying 
>>>>>>> they are intending to submit a patch, and everyone understands 
>>>>>>> there is duplicate effort. So commenting with an intention to 
>>>>>>> submit a patch, IMO seems like the healthiest workflow since it 
>>>>>>> is non exclusive.
>>>>>>> 
>>>>>>> To me the main benefit of "assigning" something ahead of time is 
>>>>>>> if you have a committer that really wants to see someone 
>>>>>>> specific work
>>>>> on
>>>>>>> a patch, it just acts as a strong signal that there is someone 
>>>>>>> endorsed to work on that patch. That doesn't mean no one else 
>>>>>>> can submit a patch, but it is IMO more of a warning that there 
>>>>>>> may be existing work which is likely to be high quality, to 
>>>>>>> avoid duplicated effort.
>>>>>>> 
>>>>>>> When it was really easy to assign features to themselves, I saw 
>>>>>>> a lot of anti-patterns in the community that seemed unhealthy,
>>>>> specifically:
>>>>>>> 
>>>>>>> - It was really unclear what it means semantically if someone is 
>>>>>>> assigned to a JIRA.
>>>>>>> - People assign JIRA's to themselves that aren't a good fit, 
>>>>>>> given
>>>>> the
>>>>>>> authors level of experience.
>>>>>>> - People expect if they assign JIRA's to themselves that others 
>>>>>>> won't submit patches, and become upset if they do.
>>>>>>> - People are discouraged from working on a patch because someone 
>>>>>>> else was officially assigned.
>>>>>>> 
>>>>>>> - Patrick
>>>>>>> 
>>>>>>> On Wed, Apr 22, 2015 at 11:13 AM, Sean Owen <so...@cloudera.com>
>>>>> wrote:
>>>>>>>> Anecdotally, there are a number of people asking to set the 
>>>>>>>> Assignee field. This is currently restricted to Committers in 
>>>>>>>> JIRA. I know
>>>>> the
>>>>>>>> logic was to prevent people from Assigning a JIRA and then 
>>>>>>>> leaving
>>>>> it;
>>>>>>>> it also matters a bit for questions of "credit".
>>>>>>>> 
>>>>>>>> Still I wonder if it's best to just let people go ahead and set 
>>>>>>>> it,
>>>>> as
>>>>>>>> the lesser "evil". People can already do a lot like resolve 
>>>>>>>> JIRAs
>>>>> and
>>>>>>>> set shepherd and critical priority and all that.
>>>>>>>> 
>>>>>>>> I think the intent was to let "Developers" set this, but maybe 
>>>>>>>> due
>>>>> to
>>>>>>>> an error, that's not how the current JIRA permission is 
>>>>>>>> implemented.
>>>>>>>> 
>>>>>>>> I ask because I'm about to ping INFRA to update our scheme.
>>>>>>>> 
>>>>>>>> 
>>>>> ------------------------------------------------------------------
>>>>> ---
>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For 
>>>>>>>> additional commands, e-mail: dev-h...@spark.apache.org
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> ----------------------------------------------------------------
>>>>>>> ----- To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org 
>>>>>>> For additional commands, e-mail: dev-h...@spark.apache.org
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> ------------------------------------------------------------------
>>>>> --- To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For 
>>>>> additional commands, e-mail: dev-h...@spark.apache.org
>>>>> 
>>>>> 
>>> 
>>> ________________________________________________________
>>> 
>>> The information contained in this e-mail is confidential and/or 
>>> proprietary to Capital One and/or its affiliates. The information 
>>> transmitted herewith is intended only for use by the individual or 
>>> entity to which it is addressed.  If the reader of this message is 
>>> not the intended recipient, you are hereby notified that any review, 
>>> retransmission, dissemination, distribution, copying or other use 
>>> of, or taking of any action in reliance upon this information is 
>>> strictly prohibited. If you have received this communication in 
>>> error, please contact the sender and delete the material from your computer.
>>> 
>>> 
>>> --------------------------------------------------------------------
>>> - To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For 
>>> additional commands, e-mail: dev-h...@spark.apache.org
>>> 
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org For additional 
commands, e-mail: dev-h...@spark.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
For additional commands, e-mail: dev-h...@spark.apache.org

Reply via email to