Return-Path: X-Original-To: apmail-spark-dev-archive@minotaur.apache.org Delivered-To: apmail-spark-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71F5C17A8E for ; Wed, 22 Apr 2015 21:34:07 +0000 (UTC) Received: (qmail 84269 invoked by uid 500); 22 Apr 2015 21:34:05 -0000 Delivered-To: apmail-spark-dev-archive@spark.apache.org Received: (qmail 84186 invoked by uid 500); 22 Apr 2015 21:34:05 -0000 Mailing-List: contact dev-help@spark.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@spark.apache.org Received: (qmail 84174 invoked by uid 99); 22 Apr 2015 21:34:05 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Apr 2015 21:34:05 +0000 X-ASF-Spam-Status: No, hits=3.2 required=10.0 tests=HTML_MESSAGE,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (athena.apache.org: transitioning domain of nicholas.chammas@gmail.com does not designate 54.191.145.13 as permitted sender) Received: from [54.191.145.13] (HELO mx1-us-west.apache.org) (54.191.145.13) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Apr 2015 21:34:01 +0000 Received: from mail-qk0-f180.google.com (mail-qk0-f180.google.com [209.85.220.180]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id C48FA2539D for ; Wed, 22 Apr 2015 21:33:40 +0000 (UTC) Received: by qkx62 with SMTP id 62so236100276qkx.0 for ; Wed, 22 Apr 2015 14:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=DYF1qGyf+QQaNqAneSyA8xQXG6EexW2v5ipzX9ewlxw=; b=fOIZHVMWh8ScBSjfT2FS5YnYw4/+uly+zYKrr3O8YBOrwUkMo9IK827i/caVjNegQh X4yAVa+uAfbQGqTm59gJhgElPy4Kdi+o6ZUU+Lc+xhUq7qkW4X970zSdXLydDlmBKnrJ fgPaQY31OR98XmJJUHet0/TxgkUuObKB1d7RSI0PF6maJ5ZqHxxoTUGal404W6yEt4Pa Bk2+X47TXHx8utBzVaogYpdvlxJMEkhvV2WfuqDFYKQLsr4nZ3OhzgjceZRr7mbPORZb REQJ75FuTUgH1wj0OLq1mGrEyFo9A1lS2vKbH73WdalhkJH3hly8roCB1SrkmDbGLEks PreA== X-Received: by 10.141.23.80 with SMTP id z77mr33402664qhd.3.1429738420026; Wed, 22 Apr 2015 14:33:40 -0700 (PDT) MIME-Version: 1.0 References: <1C2B8BB4-D783-4019-A057-E68567B81122@hortonworks.com> In-Reply-To: From: Nicholas Chammas Date: Wed, 22 Apr 2015 21:33:39 +0000 Message-ID: Subject: Re: Should we let everyone set Assignee? To: "Ganelin, Ilya" , Mark Hamstra , Patrick Wendell Cc: Vinod Kumar Vavilapalli , Sean Owen , dev Content-Type: multipart/alternative; boundary=001a11423062a5c2ad051456ea76 X-Virus-Checked: Checked by ClamAV on apache.org --001a11423062a5c2ad051456ea76 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable To repeat what Patrick said (literally): If an issue is =E2=80=9Cassigned=E2=80=9D to person X, but some other perso= n 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=E2=80=99s 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=E2=80=99s quite normal for other people to complete issues that were tec= hnically 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=E2=80=99m not trying to mock, but I want to be direct and honest about ho= w you came off in this thread to me and probably many others. Why not ask questions first=E2=80=94many questions? Why not make doubly sur= e that you understand the situation correctly before responding? In many ways this is much like filing a bug report. =E2=80=9CI=E2=80=99m se= eing this. It seems wrong to me. Is this expected?=E2=80=9D I think we all know from expe= rience that this kind of bug report is polite and will likely lead to a productive discussion. On the other hand: =E2=80=9CYou=E2=80=99re returning a -1 here?= This is obviously wrong! And, boy, lemme tell you how wrong you are!!!=E2=80=9D 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=E2=80=99s about basic etiquette= and effective communication. I understand that there are legitimate potential concerns here, and it=E2= =80=99s 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=E2=80=99m 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 =E2=80=9Clectures d= elivered from above=E2=80=9D =E2=80=94 which is how they come off =E2=80=94 are not = helpful. Nick =E2=80=8B On Wed, Apr 22, 2015 at 4:31 PM Ganelin, Ilya wrote: > As a contributor, I=C2=B9ve never felt shut out from the Spark community,= nor > have I seen any examples of territorial behavior. A few times I=C2=B9ve > expressed interest in more challenging work and the response I received > was generally =C2=B3go ahead and give it a shot, just understand that thi= s is > sensitive code so we may end up modifying the PR substantially.=C2=B2 Hon= estly, > that seems fine, and in general, I think it=C2=B9s completely fair to go = with > the PR model - e.g. If a JIRA has an open PR then it=C2=B9s an active eff= ort, > otherwise it=C2=B9s fair game unless otherwise stated. At the end of the = day, > it=C2=B9s about moving the project forward and the only way to do that is= to > have actual code in the pipes -speculation and intent don=C2=B9t really h= elp, > and there=C2=B9s 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" 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 > >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 > >> 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 mailin= g > >> lists. Not by the whim of a committer. > >> > - Common issues > >> > -- Land grabbing: Other contributors can nudge him/her in case o= f > >> 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 > >> wrote: > >> > > >> >> One over arching issue is that it's pretty unclear what "Assigned t= o > >> >> 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 user= s > >> >> 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 f= or > >> >> 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 duplicat= ed > >> >> effort. > >> >> > >> >> When it was really easy to assign features to themselves, I saw a l= ot > >> >> 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 el= se > >> >> was officially assigned. > >> >> > >> >> - Patrick > >> >> > >> >> On Wed, Apr 22, 2015 at 11:13 AM, Sean Owen > >>wrote: > >> >>> Anecdotally, there are a number of people asking to set the Assign= ee > >> >>> 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 implemente= d. > >> >>> > >> >>> I ask because I'm about to ping INFRA to update our scheme. > >> >>> > >> >>> > >>--------------------------------------------------------------------- > >> >>> To unsubscribe, e-mail: dev-unsubscribe@spark.apache.org > >> >>> For additional commands, e-mail: dev-help@spark.apache.org > >> >>> > >> >> > >> >> -------------------------------------------------------------------= -- > >> >> To unsubscribe, e-mail: dev-unsubscribe@spark.apache.org > >> >> For additional commands, e-mail: dev-help@spark.apache.org > >> >> > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscribe@spark.apache.org > >> For additional commands, e-mail: dev-help@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-unsubscribe@spark.apache.org > For additional commands, e-mail: dev-help@spark.apache.org > > --001a11423062a5c2ad051456ea76--