Page MenuHomePhabricator

IdeaLab for Wikimedia Foundation projects
Closed, DeclinedPublic

Assigned To
Authored By
Nov 3 2016, 8:51 PM
Referenced Files
"Like" token, awarded by Tgr."Cookie" token, awarded by Miriya52."Party Time" token, awarded by bd808."Like" token, awarded by Halfak."Like" token, awarded by I_JethroBT.


Type of activity: Pre-scheduled session
Main topic: How to grow our technical community

The problem

The technical contributors to WMF projects are primarily WMF employees.
WMF tends to "lick the cookie" when it adds tasks to its roadmap, even if the WMF doesn't have the engineering resources to accomplish the task anytime soon.
Without an active non-staff community, experimental projects take a backseat to incremental maintenance work and firefighting.
Without an active non-staff community, "WMF groupthink" sets in, and the WMF loses practice adopting projects which were "not invented here".
Without an active non-staff community, WMF can't deprecate lesser-used code and have it adopted by loving community members.

Expected outcome

Discussion of alternative mechanisms to leverage community developers.

As a starter proposal, we submit the idea of using the IdeaLab process internally to WMF for roadmap tasks which are more than a quarter or two in the future. By aggressively documenting these "like to have" projects we allow community members to help us achieve our goals faster than we would otherwise.

Current status of the discussion

...See IRC summary in comments below...

Related links

Event Timeline

From IRC on #-staff, lightly edited:
(04:46:48 PM) halfak: cscott, o/
(04:46:55 PM) halfak: Just saw your email re. IEG
(04:47:00 PM) cscott-free: hey!
(04:48:21 PM) cscott-free: i had a lot of talks in esino lario about alternate means to get some of these future-oriented projects done, and your ORES work was seen as a model workaround
(04:48:27 PM) cscott-free: i seem to perennially have more projects than time
(04:49:13 PM) halfak: ha. Yeah. The IEG strategy worked to get us off the ground and get the project some attention, but we could have definitely done better at *maintaining* resources post IEG>
(04:49:24 PM) halfak: It seems a few things in the Org might help that.
(04:50:09 PM) halfak: But yeah, so my basic pattern was (1) have idea, (2) write up wiki page, (3) ask people if they'd be willing to work on the project and if a little funding would help, (4) gogogo.
(04:50:19 PM) halfak: gogogo == apply for IEG as an "advisor"
(04:50:31 PM) halfak: Since I can't be funded and I don't need the money on top of my salary anyway.
(04:51:20 PM) halfak: I spent a metric shit ton of time outside of regular hours managing the project.
(04:51:46 PM) halfak: I'd usually put in 4-8 hours every Saturday and Sunday on it.
(04:51:54 PM) cscott-free: do you think that's a viable model long-term? in discussions it was suggested that we might embrace this model as a skunkworks
(04:52:10 PM) cscott-free: of course, asking employees to work weekends isn't so great
(04:52:43 PM) halfak: Yeah. I don't think that ORES should be a model, but maybe a first example instead.
(04:52:11 PM) halfak: I set up a "hack session" on Saturdays so that I could work with my collaborators when we were all off work.
(04:52:37 PM) cscott-free: was that actual code hacking, or irc advice, or reviewing, or...?
(04:52:48 PM) halfak: cscott, all of the above.
(04:52:55 PM) *halfak enumerates his many hats
(04:53:21 PM) halfak: engineering, designing, communicating, recruiting, managing resources, etc.
(04:53:10 PM) cscott-free: i've got small kids (and am a member of local town government) so my weekends tend to be aggressively spoken for
(04:53:38 PM) cscott-free: but i'm also passionate about a lot of the things i'd like to see WMF doing, but which we don't seem to have resources for
(04:57:15 PM) halfak: cscott, so yeah, I'm not sure I'd recommend IEG+Volunteering as a good mechanism for skunkworks.
(04:57:20 PM) halfak: but maybe IEG + 20% time?
(04:57:34 PM) cscott-free: halfak: yeah, something like that.
(04:57:49 PM) halfak: cscott, I would not expect to get enough from 8 hours of work per week.
(04:57:56 PM) halfak: (1 day out of 5)
(04:58:04 PM) halfak: So 20% wouldn't be enough.
(04:58:05 PM) cscott-free: my concrete proposal is roughly that we take all the projects on our parsoid roadmap which aren't going to be tackled in the next quarter (or two) and post them all up as IEG opportunities
(04:58:21 PM) halfak: cscott, there's also "IdeaLab"
(04:58:35 PM) halfak: IdeaLab is sort of like a proto IEG.
(04:58:42 PM) cscott-free: halfak: yeah, i have up, i need to work on it a bit more.
(04:58:49 PM) cscott-free: halfak: that's the one i might actually have a dev for
(04:59:15 PM) halfak: Gotcha. This looks good. I like this idea.
(04:59:27 PM) cscott-free: is my rough list of ideas i haven't actually written up as idealab proposals yet
(04:59:36 PM) cscott-free: including the self-referential "IdeaLab for WMF staff"
(05:00:36 PM) cscott-free: it seems that many of our "future of WMF" discussions are filled with things that we'd like to see happen but we don't have engineering resources for
(05:00:55 PM) cscott-free: and might turn out to be a bad idea anyway, but we won't know unless we try, but we don't try because there are other priorities and it might be a bad idea...
(05:00:53 PM) halfak: IdeaLab for WMFStaff is just the regular IdeaLab
(05:01:32 PM)
*halfak feels strongly that we should propose our ideas as peers to everyone else's ideas.
(05:01:31 PM) cscott-free: halfak: 'IdeaLab for WMF staff' is the meta idea of getting more internal uptake of idealab for future or nice-to-have roadmap entries
(05:01:53 PM) cscott-free: yeah, i'm not saying that wmf should have precedence in idealab. i'm saying that wmf staff should submit more to idealab.
(05:02:03 PM) halfak: Oh yeah. Then +1
(05:02:25 PM) cscott-free: it's a way of not licking cookies. "we think this is a good idea, whoever implements it, doesn't have to be us"
(05:02:54 PM) halfak: This should be part of our hiring pipeline too.
(05:03:06 PM) halfak: Working on an IEG is sort of like an internship
(05:03:12 PM) cscott-free: and then the road forward includes the possibility that WMF will eventually adopt a successful idealab project, as happened with ORES. but you said there are some improvements that could happen there?
(05:03:52 PM) halfak: Yeah... Essentially, "adoption" doesn't translate to "halfak stops needing to work evenings and weekends"
(05:04:09 PM) cscott-free: sure, hiring too. this is part of growing our community and more contributions. historically we've hired (almost) all the folks who've made good contributions, but that's fine so long as we keep the input pipeline full at the other end.
(05:04:24 PM) cscott-free: right now we're much more aggressive about hiring than we are about filling the input pipeline
(05:04:38 PM) cscott-free: so our non-staff contributor base doesn't grow much if at all
(05:04:59 PM) halfak: I think, that is in large part because we focus on MW as a platform and not the cool techs around it.
(05:05:25 PM) halfak: MW is not an interesting tech to work on.
(05:05:39 PM) halfak: I have a fat pipe of people who want to do "machine learning"
(05:05:44 PM) halfak: Volunteers even!
(05:05:45 PM) bd808: "we focus on MW as a platform" {{cn}}
(05:05:53 PM) halfak: bd808, our outreach does
(05:06:01 PM) bd808: halfak: fair
(05:06:03 PM) halfak: We only just renamed the dev summit
(05:06:57 PM) bd808: well it was architecture summit my first year, mediawiki summit last year, now amorphous dev summit
(05:05:49 PM) cscott-free: yeah, there probably needs to be a wider circle of tech. at the editing offsite i proposed a more formal process for transitioning projects from WMF to community...
(05:06:21 PM) cscott-free: part of ensuring also that WMF can "let go" of projects and have them adopted by the community. but there need to be more levels of grey and circles of support between "WMF developed" and "abandoned"
(05:06:35 PM) chasemp: cool conversation guys
(05:06:59 PM) cscott-free: (i think it's fair to say that proposal didn't get consensus at the editing offsite though. more ideas needed.)
(05:07:22 PM) halfak: J-Mo, ^ we're talking IdeaLab
(05:08:10 PM) bd808: I love the idea of competing/cooperating more fairly with the wider volunteer community for building things
(05:09:21 PM) halfak: I think all of our project ideas should show up IdeaLab or some other appropriate wiki place first. If someone starts work before we are ready, good. When we are ready to start work, all volunteers are welcome -- even those who don't contribute much.
(05:09:51 PM) halfak: I could tell some stories about volunteers I have invested a ton of time into who contributed almost nothing -- and yet I still think we should do it anyway.
(05:10:07 PM) halfak: Having an open project is an independent benefit.
(05:10:49 PM) chasemp: it's interesting in that I agree but when we were looking at phab states for priority there was such a big backlash against leaving a state called wishlist
(05:11:00 PM) chasemp: which is kind of how I envision what you're saying
(05:11:15 PM) halfak: Phab is the wrong place to wish for things, it seems.
(05:11:42 PM) cscott-free: i think there's a significant amount of work turning a "wishlist" into an actual IEG/IdeaLab proposal
(05:12:07 PM) cscott-free: concretely that's what i'm advocating for -- taking our future roadmap or wishlist items and actually spending the time to make it possible for volunteers to adopt them
(05:13:33 PM) cscott-free: taking the time to explain *why* this is a good idea, what might be a MVP to demonstrate a solution, describing the skills needed to tackle the challenge, supporting community liasons who might publicize the opportunity, etc.
(05:12:55 PM) halfak: ^ yeah. +1. I have a few of these that I've written up for inspire campaigns.
(05:13:04 PM) halfak: E.g.
(05:13:35 PM) halfak: I've been slowly picking away on that idealab proposal while I keep trying to get people onboard with it.
(05:13:05 PM) chasemp: I hate to sound biased here considering but almost without question they need resources to do that and it kind of exists in Labs if you want to imagine hard enough but we are basically 3 people
(05:13:25 PM) chasemp: at a concurrency rate of 3:everyone else in the wmf technical universe
(05:14:46 PM) halfak: chasemp, I usually write these things up in a half hour. Not saying it's free, but it's less expensive than a lot of operations tasks.
(05:14:56 PM) halfak: Also, Labs needs more resources, PERIOD.
(05:15:14 PM) halfak: I'm very ready to start burning some social capital toward that cause.
(05:16:09 PM) cscott-free: that's why my "idealab for wmf" is a meta-proposal, it's a little more complicated than "just do it", we need to think through the resources required to ensure we're not asking everyone to work weekends and swamping labs & etc.
(05:16:34 PM) halfak: Right. And generally it's not *all the ideas* either.
(05:16:40 PM) halfak: Some are hard to explain.
(05:16:45 PM) halfak: Sit on those until they get easier.
(05:16:46 PM) cscott-free: some have legit dependencies
(05:16:49 PM) halfak: Right
(05:17:22 PM) chasemp: sure I agree and appreciate that much, not pushing back on anything here at all just saying, if you create this pipeline without one or with a weak outlet that dries up good will. In general though, it seems like the right thing (tm) to me
(05:17:24 PM) cscott-free: but some of the ones with big dependencies might still be worth writing up for inspiration
(05:17:34 PM) cscott-free: and maybe someone will figure out how to work around the deps to get started
(05:18:02 PM) cscott-free: we could try this with small teams first, before scaling up to "all of WMF" (and the resources that would require)
(05:18:33 PM) cscott-free: i'm kinda pushing for it inside parsing, maybe trevor could be convinced to expand it to more of editing.
(05:20:39 PM) J-Mo: halfak, cscott. Great conversation. just a quick procedural note that "IEG" has been closed down, and all former IEG-type grants will be either Rapid Grants or Project Grants:
(06:02:51 PM) quiddity: cscott, halfak, I've been seeding that same idea in CE, and to Trevor, and anyone else who'll listen, for months. :) My quick linkdump version is at
(06:03:08 PM) halfak: Prodjuct!
(06:03:25 PM) quiddity: <!-- sic --> :)
(06:03:28 PM) halfak: :D
(06:04:10 PM) halfak: quiddity, one more for the list:
(06:09:20 PM) quiddity: halfak, I've copied my email ramble, into
(06:09:34 PM) quiddity: anyone, feel free to adopt/overhaul/rename/etc that page. I have no time!
(06:27:10 PM) cscott-free: halfak: my kids have come home. i'll take this up tomorrow. it would be worthwhile to write more of the parsing team stuff up as idealab pages at the very least
(06:27:36 PM) halfak: cscott, maybe we can target the allstaff a bit too
(06:27:41 PM) halfak: Have a good evening1
(06:27:47 PM) cscott-free: and maybe you, me, and quiddity can draft a joint email or wiki page or something making the "use idealab more" idea more formal
(06:28:13 PM) quiddity: overhaul that page, however desired
(06:28:36 PM) cscott-free: yeah, an allstaff email is a reasonable start. but a wiki page we can more easily point to later.
(06:29:14 PM) quiddity: I was contemplating copying the IRC discussion in there, but my brain is running on fumes. I need to crawl under a blanket for a bit.
(06:45:43 PM) halfak: cscott, was thinking about the allstaff event -- not wmfall email.

Can someone link to an outline of what IdeaLab as a process entails? Small note also that the link to office wiki in the description I believe is unavail to non-staff.

Why "IdeaLab for WMF", "using the IdeaLab process internally to WMF"? Why not just using ?

The idea (described in the IRC transcript above, apologies for hiding it in there) is that we should use the IdeaLab process more heavily within our groups to document our longer-term goals, thus making them available for outside assistance. That is, take the time to go through our roadmaps and for every task we're not going to get to in the next quarter (or maybe two), go ahead and write up the work to be done in sufficient detail as a grant proposal, and thereby (a) actively solicit help from the community, and (b) better communicate our longer-range plans.

Speaking for my own team, we have a huge list of "nice to have" goals and "we'll get to it someday", and can only pick a small number to work on at any given time. We might be able to use the IdeaLab process to multiply our available resources and get more of our stretch goals accomplished with the assistance of the community.

Other tasks in our team are seen as interesting experiments that may or may not pan out. We tend to de-emphasize them because there are so many pressing short-term tasks and our goal-setting process rewards us more for accomplishing short term tasks than for working on gutsy long term visions. So IdeaLab might also be used to recruit third-party help on these "big idea" projects that we can't get internal resources for. This is in line with how @Halfak got ORES built. We could apply this lesson more broadly to get more "big ideas" built.

Can someone link to an outline of what IdeaLab as a process entails? Small note also that the link to office wiki in the description I believe is unavail to non-staff.

IdeaLab is meta:Grants:IdeaLab: "an incubator for people to share ideas to improve Wikimedia projects and to collaboratively develop them into plans and grant proposals." I think they describe it better than I could.

The link on officewiki is to a similar idea by @Quiddity, which he wrote up on-wiki there. I can't copy it here for you, but I can encourage him to move the page or at least summarize it here! His summary there is:

small version: Let's make more Idealab pages, and Rapid Grant proposals, by staff who want to float ideas.
big version: Let's map out everything we (Wikimedia communities) could collectively (potentially) do in the short/medium/long-term futures.

...which is roughly in line with what I described in response to @Qgil in the comment above, but @Quiddity and I came up with the same idea independently.

I_JethroBT awarded a token.

@I_JethroBT are you planning to attend the Summit? Get involved in this proposal?

One possible outcome of this session would be a proposal on a process for WMF Product ideas to go through IdeaLab. This proposal would detail the steps of the process and include examples that highlight best practices.

Another outcome would be to highlight the concerns that people have with regards to getting ideas written up on the wiki early.

I'm still struggling with the "for WMF" part. What about "IdeaLab for all new technical proposals"? It's not that there is a clear process to propose new technical ideas for the rest of the technical community either. We have Possible-Tech-Projects geared toward GSoC/Outreachy, but that process (although more efficient than previous incarnations) still has its flaws. The Community Wishlist is another process where people can propose ideas hoping that they will be picked up.

Note that the Technical Collaboration Guideline has a draft recommendation for private projects, but no recommendation for starting a project proposal for scratch. Maybe the goal of this discussion would to agree on a first draft for such recommendation, to be followed by WMF teams and to be proposed to everybody else?

@Qgil, I think that's the point. This really is about "IdeaLab for all new technical proposals", but we're going to focus on driving WMF Tech/Product in that direction in this session.

@Qgil I'm afraid I won't be able to attend the Summit, but I am interested in getting involved here, and am open to making changes to IdeaLab's structure to better accommodate technical proposals. I definitely encourage staff to use IdeaLab generally as a means to pitch ideas or draft proposals for the purpose of gathering community feedback. See this consultation where Community Resources pitched a new set of grant programs as an example, and followed-up with these outcomes based on the community feedback we received on the initial proposal.

OK. However, if the discussion is WMF specific, then the stakeholders for a discussion like this need to be involved. Product managers and Product audience leads are key in this discussion.

Qgil renamed this task from IdeaLab for WMF to IdeaLab for Wikimedia Foundation technical projects.Nov 23 2016, 8:22 PM
Halfak renamed this task from IdeaLab for Wikimedia Foundation technical projects to IdeaLab for Wikimedia Foundation projects.Nov 23 2016, 10:39 PM

I boldy removed "technical" from the title because, why limit this to only technical projects?

I boldy removed "technical" from the title because, why limit this to only technical projects?


This really is about "IdeaLab for all new technical proposals", but we're going to focus on driving WMF Tech/Product in that direction in this session.

If we remove the technical aspect and make it generic to all WMF projects, then all of a sudden you need a wider group of stakeholders in order to have a meaningful discussion leading somewhere. Those additional stakeholders (i.e. Community Engagement, Communications, Legal...) are not even supposed to be attending the Wikimedia Developer Summit. This generic discussion would be better addressed in Wikimania or, frankly, the Wikimedia Foundation AllHands happening right after the Summit, also in San Francisco.


IdeaLab is an incubator for people to share ideas to improve Wikimedia projects and to collaboratively develop them into plans and grant proposals.

There's nothing about Idealab that limits it to technical proposals. Also, Community Engagement, Communications and Legal considerations are involved in all technical projects anyway, right? We're a technical audience, but that doesn't mean we don't think of other types of proposals. E.g. sometimes a policy change is needed in order to take advantage of a new technology. Maybe we want to plan a workshop series for getting people started with using Kubernetes in tool labs. That sounds like community engagement to me.

It just feels weird to have a discussion about WMF tech and non-tech projects using IdeaLab as a pre-scheduled session in the Wikimedia Developer Summit.

There are other sessions in the "How to grow our technical community" main topic that have received wider support and a have a scope clearly fitting the purpose of the Summit and this main topic. For these reasons, I think it is better to have this discussion in the con text of the Unconference.

@cscott Hey! As developer summit is less than four weeks from now, we are working on a plan to incorporate the ‘unconference sessions’ that have been proposed so far and would be generated on the spot. Thus, could you confirm if you plan to facilitate this session at the summit? Also, if your answer is 'YES,' I would like to encourage you to update/ arrange the task description fields to appear in the following format:

Session title
Main topic
Type of activity
Description Move ‘The Problem,' ‘Expected Outcome,' ‘Current status of the discussion’ and ‘Links’ to this section
Proposed by Your name linked to your MediaWiki URL, or profile elsewhere on the internet
Preferred group size
Any supplies that you would need to run the session e.g. post-its
Interested attendees (sign up below)

  1. Add your name here

We will be reaching out to the summit participants next week asking them to express their interest in unconference sessions by signing up.

To maintain the consistency, please consider referring to the template of the following task description:

@Qgil I think this kinda belongs to the plans around processes etc. (could be marked Comm-Rel something, but I'll leave that decision to you).