19:03:41 <kohsuke> #startmeeting 19:03:41 <robobutler> Let the Jenkins meeting commence! 19:04:00 <kohsuke> #info https://wiki.jenkins-ci.org/display/JENKINS/Governance+Meeting+Agenda 19:04:07 <kohsuke> #chair abayer hare_brain rtyler 19:04:07 <robobutler> Current chairs: abayer hare_brain kohsuke rtyler 19:04:48 <kohsuke> #topic recap of actions 19:04:52 <kohsuke> #info http://meetings.jenkins-ci.org/jenkins/2012/jenkins.2012-01-25-19.00.html 19:05:05 <kohsuke> jieryn: ndeloof: ping 19:05:24 <kohsuke> In the mean time, 19:05:54 <kohsuke> #info my apologies about the SSL certs. renewal of SSL certificates is in progress, pending approval from rtyler (the domain contact) 19:06:00 <abayer> Cool. 19:06:05 <kohsuke> most likely it won't happen until he lands to SFO 19:06:18 <kohsuke> Poor rtyler appear to have missed his flight back to the US 19:06:33 <kohsuke> JIRA/Wiki are updated so that one is complete 19:06:55 <kohsuke> OK, I don't think jieryn and ndeloof are here, but 19:07:09 <kohsuke> wrt the "FOSS requirement for sponsor logo" thing, 19:07:32 <kohsuke> I know Sacha (our boss) said we'd be very happy to be just listed in the sponsor section like other companies 19:08:04 <kohsuke> So I think it's now up to jieryn to play with it and come back to this meeting 19:08:27 <kohsuke> I think I shall move on to the next topic... 19:08:37 <DarkRift> hoy 19:08:45 <kohsuke> #topic Pull requests and inbound contributor funnel discussion 19:09:39 <kohsuke> This started in my e-mail 19:09:41 <abayer> That reminds me, I have to set up pull request notification for jenkins-scripts... 19:09:56 <kohsuke> "pull request notification"? 19:10:27 <abayer> Team stuff. I created the repo manually. =) 19:10:54 <kohsuke> but anyway, the basic "issue" is that the change of workflow between SVN and GitHub is narrowing the funnel from pull request contributors to committers 19:11:16 <kohsuke> Pull request is bit like throwing the stuff over the wall 19:11:40 <abayer> #info I've actually been meaning to go through the org teams and repos and (a) update the teams to reflect the contributors (including people with multiple pull requests) of the teams and tie the teams to repos more accurately and narrowly. 19:11:59 <abayer> …so as to make pull request emails more meaningful/less spammy. 19:12:04 <kohsuke> They expect us to review & merge, but often we don't have enough people/eyes/time to properly look at them 19:13:07 <hare_brain> Is this a better situation than the SVN model, where they could commit without a review? 19:13:47 <abayer> I think the filter is a good thing, but we definitely need to make it more efficient - i.e., get pull request reviews done a lot more quickly, encourage people to become "team" members for plugins, etc. 19:14:31 <kohsuke> hare_brain: If we don't have bandwidth to review, then giving them the false sense of "now I'm done with my part and it's up to the Jenkins project" and disappoint them feels to me like a worse situation 19:15:30 <hare_brain> Do you think the problem is worse for plugins or the core, or about the same? 19:15:36 <kohsuke> But I don't know. This is all subjective and I don't really have any numbers to back up my feeling that the funnel became narrower 19:15:51 <kohsuke> I'm more worried about plugins 19:16:14 <kohsuke> We should be reviewing changes to the core, and adding committers there involve other barriers like CLA 19:17:08 <vjuranek> IIRC there is some listing all pull requests older then 15 days, what about to extend it to send emails to the users, that the pull requests is pending for more then 15 days and they should consider to ask for commit access and commit it themselfs? 19:17:17 <kohsuke> So my suggestion was to come up with some bot that automatically comment on old open unattended pull requests for plugins and write something like "hey, sorry about the delay. Maybe we don't have any committers on this plugin, and it'd be great if you'd be willing to become committers" 19:17:21 <hare_brain> #info https://wiki.jenkins-ci.org/display/JENKINS/Pending+Pull+Requests 19:17:42 <kohsuke> vjuranek: sounds like the same idea (with different implementations, granted). 19:17:52 <vjuranek> yup 19:18:31 <kohsuke> Looking at the history of this page might give us more objective numbers. I think this list has grown considerably 19:19:39 <abayer> Sounds good. 19:19:53 <kohsuke> #info the same list in 2011 Sep https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=58002442 19:19:59 * DarkRift bbl 19:20:08 <hare_brain> I think the important thing is to increase a sense of ownership. 19:20:29 <kohsuke> Yes, that's a good point 19:20:30 <hare_brain> Throwing things over the wall can potentially lead to unstable releases. 19:21:16 <kohsuke> In that sense maybe we want to somehow start keeping track of "maintainer" more officially? 19:22:06 <kohsuke> That might help us signal "volunteers wanted" more easily? 19:22:39 <hare_brain> Maybe gamify it. The maintainer is automatically updated to be person with the most commits over a period of time. 19:23:12 <hare_brain> If you are the maintainer, and you have a lot of pending pull requests, you lose points. 19:23:25 <kohsuke> Hmm 19:23:45 <hare_brain> Actually 19:23:46 <kohsuke> I was mainly thinking about keeping track of people's intent to maintain it 19:23:50 <kohsuke> but that's interesting 19:23:53 <imod> but that would also mean, people not knowing how to use the SCM (git) get more credit 19:24:23 <imod> ...if every file changed gets its own commit... 19:24:59 <hare_brain> So there are a couple of things going on. We want to increase the rate at which pull requests are reviewed and merged. A bottleneck is if there is a single maintainer, and that person is unavailable, that reduces throughput. 19:25:19 <hare_brain> If there were more people who were "maintainers" we have better merge capacity. 19:25:56 <hare_brain> I think who is a maintainer to be fairly dynamic, so that people can be free to come and go, but the rate of merges can remain high. 19:26:35 <hare_brain> I think kohsuke, what you were getting at is a badge about the project itself. Whether it's a maintained or abandoned project. 19:26:50 <Slide-O-Mix> kohsuke: have you had any chance to look at JENKINS-12647? 19:26:51 <kohsuke> yeah, maybe that's what it is 19:26:52 <jenkins-admin> JENKINS-12647:Jetty configuration causes locked files when running tests on Windows, which causes test failures (Open) http://jenkins-ci.org/issue/12647 19:27:03 <hare_brain> That should definitely be highlighted so that people can quickly claim maintenance/ownership of a plugin has is in the abandoned state. 19:27:05 <Slide-O-Mix> I know you've been traveling a lot 19:27:51 <kohsuke> Or maybe it's just a matter of producing "your pull requests that the project thinks you should be looking at" list 19:28:28 <hare_brain> Where would I go to see that? 19:28:45 <kohsuke> currently we have only https://github.com/organizations/jenkinsci/dashboard/pulls 19:29:20 <kohsuke> but if it can be somehow combined with your gamification idea and "who committed where recently" idea... 19:29:25 <hare_brain> I almost never go to that page. How do we get people into the habit of doing that? 19:30:29 <kohsuke> Exactly. So I thought if some program generates personalized notifications for your pull requests... 19:31:10 <hare_brain> And make sure it doesn't get lost in the sea of other pull request emails... :) 19:31:28 <kohsuke> At that point we can stop sending pull request e-mails 19:31:35 <kohsuke> ah, but maybe it doesn't let you stop that 19:31:50 <abayer> Yeah, and I'm not sure I'd want to have it turn off anyway. 19:32:03 <hare_brain> I like the idea of not sending a pull request unless the project thinks you are a good candidate to review it. 19:32:18 <kohsuke> abayer: we'll make sure you get all of them :-) 19:32:20 <abayer> Yeah, that's kind of what I was thinking of with better refinement of team definitions. 19:32:53 <kohsuke> this whole area I think is a good thing to think about, but I'm afraid unless someone wants to spend some real cycles, it'll be hard to get something done. 19:33:22 <hare_brain> The GitHub guys seem to like us. Is this something we can ping them about to see if they have any ideas of how to make the notifications more relevant? 19:33:31 <hare_brain> Maybe they'll have a great idea and just do it. 19:34:23 <hare_brain> At the least, I think having a maintained/abandoned badge for each plugin, based on some criteria can help. 19:34:26 <kohsuke> Yeah, we can ask them, although I suspect the way this project runs is somewhat unique 19:34:43 <hare_brain> Then maybe we need to change a little bit to conform. :) 19:35:06 <kohsuke> I can't think of any other orgs with 670 repositories 19:35:48 <kohsuke> #action kohsuke to improve the pending pull request list generator to also post comments on old pull requests 19:36:16 <kohsuke> I think we should move on to the next topic 19:36:27 <orrc> wiki page or mailing list thread for the other ideas, if they're also relevant? 19:36:33 <orrc> (not sure, I joined late) 19:36:51 <hare_brain> I thought that was the only topic today. :) 19:37:11 <kohsuke> I want to quickly update about JFrog's offer to host our repository 19:37:24 <hare_brain> Before switching to that. 19:37:38 <hare_brain> Is some automation like Gerrit a possibility? 19:37:44 <kohsuke> orrc: I'm happy to start a thread if that helps 19:37:58 <kohsuke> I guess I'll do that as an encouragement for devs to look at pull requests 19:38:00 <hare_brain> Have it do a merge and test, and if it succeeds, automatically merge it into the turnk? 19:39:07 <kohsuke> hare_brain: I've got some code here that does that kind of pull request merge validation 19:39:14 <abayer> hare_brain: Erm…dunno if we'd want that anyway. 19:39:29 <abayer> I still think having no human intervention is a bad thing. 19:39:38 <abayer> At least for new contributors. 19:39:42 <hare_brain> We have no human intervention right now in a different way. 19:40:10 <kohsuke> Maybe we can run the test but auto-merge only if no action happens for X days? 19:40:20 <hare_brain> Yeah, that's fine. 19:40:24 <abayer> I know the git plugin gets a lot of pull requests where the code can merge but really shouldn't, since it's just cluttering the code with more config options for edge cases, etc. 19:41:16 <kohsuke> abayer: doing the automatic validation also helps the reviewer 19:41:25 <abayer> Oh, automatic validation is a very good thing. 19:41:40 <abayer> I like the gerrit approach of requiring code review and automatic validation in combination. 19:42:27 <hare_brain> OK, I'm willing to move on now. 19:43:01 <kohsuke> One more note --- the only thing about this pull request validation merge is that it depends on some proprietary CB plugins 19:43:28 <kohsuke> And that reminds me if we'd be willing to run those (and other) proprietary plugins? 19:43:33 <hare_brain> #idea Mark plugin projects with maintained/abandoned status to set expectation of how long a pull request may be outstanding 19:43:45 <kohsuke> Like template plugin, for example 19:43:55 <abayer> kohsuke: Never had a problem with that personally. =) I'd want rtyler's thoughts, though. 19:43:57 <hare_brain> #idea Track list of who are potential reviewers for a pull request 19:44:03 <kohsuke> ... vastly simplifying our plugin projects? 19:44:06 <hare_brain> (Just recording the ideas we talked about) 19:44:19 <ndeloof> kohsuke: sorry, late (children ...) 19:44:32 <hare_brain> #idea Use a tool like Gerrit to do automatic validation and merge after pull requests have been outstanding for X days 19:45:02 <kohsuke> ndeloof: No problem. I hope I correctly summarized your conversation with Sacha 19:45:11 <ndeloof> right 19:45:18 <kohsuke> #topic Hosted Maven repository 19:45:48 <kohsuke> So there's an offer from JFrog to host the Maven repository on their hosted Artifactory 19:46:36 <kohsuke> It'll be integrated with our LDAP, and all kinds of other measures will be taken to preserve the compatibility, meaning ... 19:46:42 <kohsuke> plugin devs will not have to change anything 19:46:52 <kohsuke> and we get sync to central and so on. 19:47:01 <imod> sounds nice 19:47:19 <hare_brain> How nice of them. 19:47:24 <hare_brain> What do they want in exchange? :) 19:47:25 <kohsuke> I thought it'd be nice to at least do some proof-of-concept with this 19:47:37 <kohsuke> I need to dance and sing for them 19:47:40 <Slide-O-Mix> will port 80 or 443 be available for releases? 19:47:52 <kohsuke> No, just kidding :-) I haven't asked 19:47:54 <abayer> Works for me. 19:48:07 <abayer> And yeah, getting 80/443 would be key. 19:48:09 <kohsuke> But I suspect it'll be logo on the sponsor section, etc, etc. 19:48:33 <kohsuke> Slide-O-Mix: yeah, I'm sure it is 19:48:37 <hare_brain> Any time we can outsource infrastructure to something more robust, that's a positive. 19:48:46 <kohsuke> exactly my thinking 19:48:53 <monkeysmuggler> Question! Do shell commands timeout? I've got a build setup that runs a particularly long task, and it's making it as Shell Execution Failed or whatever without actually throwing an error. 19:49:01 <Slide-O-Mix> that would be great, I currently can't do releases from work :) 19:49:04 <kohsuke> monkeysmuggler: let's hold it until we are done with the meeting 19:49:29 <kohsuke> #info so if anyone is willing to volunteer with PoC, you'd be very welcome 19:50:10 <kohsuke> Otherwise I'll work with them and get back to this meeting when it's demoable 19:50:10 <hare_brain> I nominate rtyler. 19:51:01 <kohsuke> I already talked to him about this idea and he's OK with this, though I don't know if he's willing to volunteer 19:51:07 <kohsuke> I can see him saying "but I don't do Java" 19:51:12 <hare_brain> Hahaha 19:51:13 <Slide-O-Mix> heh 19:51:29 <imod> what would it take to help on this? 19:51:37 <imod> just do some releases? 19:51:41 <kohsuke> #action kohsuke to check if rtyler is willing to spend some time doing hosted artifactory PoC 19:52:00 <kohsuke> imod: at this stage realistically it needs to be someone with the infra access 19:52:03 <abayer> I nominate imod. =) 19:52:06 <abayer> Oh, right. 19:52:09 <abayer> Details, details. 19:52:17 <imod> :) 19:52:30 <kohsuke> later we can solicit some plugin devs to help trying it out 19:52:56 <ndeloof> I also can help 19:53:09 * kohsuke looks at abayer because central sync is his pet-peeve 19:53:37 <kohsuke> all right, next topic? 19:53:59 <kohsuke> #topic next meeting time (but really, this is just a formality) 19:54:17 <hare_brain> 2/22? 19:54:20 <kohsuke> ... because our convention puts it to 2 weeks from now, same time 19:54:32 <hare_brain> +1 19:54:44 <ndeloof> +1 19:54:52 <kohsuke> I won't be able to attend, because I'll be in Tokyo. 19:55:04 <kohsuke> but +1 for 2/22 19:55:17 <kohsuke> #agreed next meeting is 2/22, the same time 19:55:25 <abayer> =) 19:55:30 <abayer> Okiedokie. 19:55:42 <kohsuke> Is that "Okiedokie" for Artifactory stuff or for 2/22? 19:55:56 <abayer> 2/22. And I'm in favor of the Artifactory move. 19:56:16 <kohsuke> I'll CC imod and abayer to the e-mail 19:56:28 <kohsuke> ... so that both of them are in the loop at least 19:56:34 <hare_brain> kohsuke when do you leave for Tokyo? 19:56:47 <kohsuke> 2/14 19:57:04 <hare_brain> You took two action items. Will you do anything with those before you leave? 19:57:32 <kohsuke> I'll ping rtyler. The other one I suspect I won't be able to 19:58:13 <hare_brain> And carry over the action for ndeloof and jieryn about the CloudBees FOSS thing? 19:58:28 <kohsuke> Yes 19:58:35 <hare_brain> Oh, jieryn was the cafepress discounts 19:58:49 <hare_brain> #action jieryn to follow ask cafepress if they discount for non-profits 19:58:52 <kohsuke> he's also the main guy behind trying out hosted Jenkins 19:59:06 <hare_brain> #action ndeloof jieryn to confirm cloudbees foss requirements for sponsor logo 19:59:32 <hare_brain> OK. We done? 19:59:37 <kohsuke> Shall I close the meeting? 19:59:44 <kohsuke> #endmeeting