- Location: #wikimedia-office IRC channel
- Meeting type: Problem definition
- Time: Weekly, Wednesday 21:00 UTC (2pm PDT, 23:00 CEST)
- Agenda:
- T136866: Improve the per-programming-language listings for our tools
- Let's figure out how newcomers should identify programming languages used on the Wikimedia cluster that align with their interests/skills."What can I work on in language foo" or "I'm really great with language foo, bar, and baz; anything for me to help out with?"
- Is the mw:Programming_languages page a good start? Is this the page we should easier to find? Are there better landing pages for someone trying to answer the questions above?
- T136866: Improve the per-programming-language listings for our tools
Log for this discussion:
1 | 21:02:12 <TimStarling> #startmeeting RFC: Improve the per-programming-language listings for our tools |
---|---|
2 | 21:02:12 <wm-labs-meetbot`> Meeting started Wed Jul 6 21:02:12 2016 UTC and is due to finish in 60 minutes. The chair is TimStarling. Information about MeetBot at http://wiki.debian.org/MeetBot. |
3 | 21:02:12 <wm-labs-meetbot`> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. |
4 | 21:02:12 <wm-labs-meetbot`> The meeting name has been set to 'rfc__improve_the_per_programming_language_listings_for_our_tools' |
5 | 21:02:54 <quiddity> Hi all. |
6 | 21:02:58 <robla> #link https://phabricator.wikimedia.org/E226 |
7 | 21:03:04 <TimStarling> #topic RFC: Improve the per-programming-language listings for our tools | Wikimedia meeting channel | Please note: Channel is logged and publicly posted (DO NOT REMOVE THIS NOTE) | Logs: http://bots.wmflabs.org/~wm-bot/logs/%23wikimedia-office/ |
8 | 21:03:16 <SMalyshev> hi all |
9 | 21:03:35 <MaxSem> do we have ops representatives here? |
10 | 21:04:37 <robla> this is about getting a better sense of what our status quo is |
11 | 21:04:50 <robla> (at least, that's what I'm hoping to get out of it) |
12 | 21:04:53 * ostriches is idly watching |
13 | 21:04:54 <quiddity> MaxSem, I beleive we're mainly (at least initially) focusing on the use-case of "how to support newcomer developers". We might (not up to me) get into the larger ops@ issue later on. |
14 | 21:05:22 <quiddity> As I see it, the main issue is where (what page(s)) to direct newcomers to, when they are looking for new projects to work on, and they already know just 1 or 2 languages. |
15 | 21:05:23 <Scott_WUaS> Hi All |
16 | 21:05:24 <SMalyshev> how we define "wikimedia cluster"? i.e., are maps or wdqs part of it for this purpose? |
17 | 21:05:37 <Krinkle> DanielK_WMDE: OK. I made a very basic draft at https://www.mediawiki.org/wiki/Requests_for_comment/image_and_oldimage_tables#3._Replace_with_MCR - But feel free to expand on the page and/or on phab. |
18 | 21:05:38 <quiddity> There are a number of pages that contain partial information (listed in the bottom of the description of https://phabricator.wikimedia.org/T136866 ) |
19 | 21:06:03 <quiddity> There are 2 sites (github and openhub) that collate information automatically/semi-automatically. Plus our own scattered and incomplete listing on mediawiki.org |
20 | 21:06:18 <quiddity> I lean towards mergism for documentation, to prevent fragmentation, hence I'm hesitant about starting the new page at https://www.mediawiki.org/wiki/Programming_languages - but I'm also not a dev, so ... |
21 | 21:06:29 <quiddity> * Do we want to give a bunch of search links such as https://github.com/search?l=Java&q=org%3Awikimedia+&type=Repositories and/or https://www.openhub.net/p?query=wikimedia+java&sort=relevance |
22 | 21:06:31 <robla> SMalyshev: I believe so |
23 | 21:06:47 <quiddity> * Do we want to provide links to our own existing pages that contain some of this information, and focus on improving/updating them. E.g. https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker#Appendix and https://www.mediawiki.org/wiki/API:Client_code |
24 | 21:06:59 <SMalyshev> ok, then we need at least Java there, we run a bunch of Java tools |
25 | 21:07:02 <quiddity> Or something else? [EOM] |
26 | 21:07:28 <TimStarling> I would also prefer to see a big table or list |
27 | 21:07:41 <legoktm> there's also https://www.whatcanidoforwikimedia.org/ |
28 | 21:08:22 <legoktm> (compare with http://whatcanidoformozilla.org/ for example) |
29 | 21:08:56 <legoktm> http://whatcanidoformozilla.org/#!/progornoprog/proglang/py is their language selector thing |
30 | 21:09:14 <quiddity> TimStarling, ah, so something that combines everything in the existing listings, such as the links in https://www.mediawiki.org/wiki/Template:Conventions_navigation and links to the subsections of https://www.mediawiki.org/wiki/API:Client_code ? |
31 | 21:09:57 <Scott_WUaS> As a possible newcomer developer (and having donated WUaS to Wikidata last autumn), I'd be interested in a page that even would precede https://www.mediawiki.org/wiki/Programming_languages. |
32 | 21:10:26 <TimStarling> yes on the first (Template:Conventions_navigation), not sure about the second |
33 | 21:10:32 <robla> quiddity: I agree with your mergism tendencies, but started [[Programming languages]] because none of the existing editable pages really answered the question that I had |
34 | 21:11:18 <TimStarling> I mean that robla wants to create one page per programming language and put all projects related to that programming language on the specific page |
35 | 21:11:22 <quiddity> TimStarling, nod. robla, I think that new page is a really good exxample to have available, as one possible direction to head in. I might end up utilizing it as the location for the large table suggested. |
36 | 21:12:07 <TimStarling> I think [[Programming languages]] is fine, but I'm less convinced about e.g. [[Ocaml]] (which doesn't exist yet) |
37 | 21:12:09 <chasemp> as a newby to this convo where is the task or rfc on-wiki, I'm not clear on what the meeting subject means exactly |
38 | 21:12:14 <SMalyshev> I wonder if that page should be just a category |
39 | 21:12:20 <quiddity> chasemp, https://phabricator.wikimedia.org/T136866 |
40 | 21:12:33 <SMalyshev> i.e. Category:Projects using Python |
41 | 21:12:40 <robla> TimStarling: I'm actually not sure if we should create new pages, but just noted that we have [[Python]] but not [[Ruby]], and didn't really even have [[PHP]] until recently |
42 | 21:12:48 <ostriches> I would prefer to having a page or category or something on-wiki. I think the github code base detection is pretty bad tbh. |
43 | 21:12:59 <SMalyshev> Category:Projects using OCaml etc |
44 | 21:13:06 <legoktm> I think a table with sections for each language would be a good starting point, and if it becomes unweidly, we can split into separate pages |
45 | 21:13:09 <ostriches> It's bad with multi-language codebases. |
46 | 21:13:10 <quiddity> chasemp, but it's tangentially related to the larger questions asked in https://phabricator.wikimedia.org/T136866#2428055 |
47 | 21:13:18 <ostriches> It's completely off-base on repos mostly made up of submodules |
48 | 21:13:23 <ostriches> (eg mediawiki/extensions) |
49 | 21:13:46 <Scott_WUaS> If there was something on this page, for example - https://www.whatcanidoforwikimedia.org/ - about newcomer developers participating in this ArchCom process, in these Office Hours, and then something about how to write a RFC in Wikimedia Phabricator, that could work. Might that be possible, Tim? |
50 | 21:14:10 <chasemp> quiddity: ok thank you I was thinking it was aimed at a list of official languages rather than a survey, makes sense |
51 | 21:14:51 <ostriches> Is throwing new developers straight into RfC processes a good idea? |
52 | 21:14:59 <ostriches> Sounds like it'd be information overload. |
53 | 21:15:16 <robla> ostriches: no, not my hope |
54 | 21:15:24 <TimStarling> yeah, it's probably not the easiest starting point |
55 | 21:15:31 <quiddity> ostriches, nod, that was my perspective, too. The subpages for each, contain more details, but are harder to discern. (e.g. the multicolour line at the top of https://github.com/wikimedia/apps-android-wikipedia which shows "Python 1.1%") |
56 | 21:15:40 <bd808> Scott_WUaS: maybe you are looking for https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker ? |
57 | 21:15:44 <TimStarling> we could definitely improve that page though, you know it links to a phab query that includes closed bugs |
58 | 21:16:31 <TimStarling> yeah maybe www.whatcanidoforwikimedia.org can link to [[How_to_become_a_MediaWiki_hacker]] |
59 | 21:16:47 <Krenair> are we thinking of another microsite here? :/ |
60 | 21:17:20 <ostriches> quiddity: Yeah that's not bad, but stuff like https://github.com/search?l=Python&q=org%3Awikimedia+&type=Repositories is useless. |
61 | 21:17:29 <ostriches> (again: mw/extensions is not python lol) |
62 | 21:17:40 <quiddity> Krenair, definitely not! I'm hoping that we conclude that I should focus on improving only mediawiki.org pages. But, I'm willing to also take a stab at improving openhub/github links/listings, I can figure out how. |
63 | 21:17:42 <legoktm> Krenair: no, I don't think so |
64 | 21:17:51 <quiddity> I/we* |
65 | 21:18:15 <ostriches> quiddity: How do you propose improving what github spits out? |
66 | 21:18:48 <Scott_WUaS> bd808: Thanks, having donated WUaS to Wikidata, I think it's contributing to WMF by developing in both Wikidata and MediaWiki that I'd be interested in learning about, possibly with Phabricator and RFCs after a few months of Office Hours, and from here - https://www.whatcanidoforwikimedia.org/ |
67 | 21:18:54 <quiddity> ostriches, I know I can improve the openhub listings (as Nemo suggested). I'm not sure about github. |
68 | 21:19:01 <ostriches> :) |
69 | 21:19:07 <TimStarling> robla: is this only about recruitment at the moment, or do you think this process of documenting how programming languages are used would help with a future discussion about what programming languages we should use for new projects? |
70 | 21:20:00 <robla> TimStarling: good question. I'm happy to get into the deeper question if quiddity and everyone else wants to |
71 | 21:20:24 <legoktm> so I think the first step would be taking the list at https://www.mediawiki.org/wiki/Upstream_projects#Invented_Here and others and sorting them by programming languages into a table or something? |
72 | 21:20:31 <quiddity> I'm satisfied (thanks!) with the feedback and input on my concern. Feel free to go deeper. |
73 | 21:20:31 <legoktm> and then we'd figure out how we want to present that data to new users? |
74 | 21:21:36 <legoktm> or am I misunderstanding? |
75 | 21:21:41 <SMalyshev> I see there's a lot not listed in Invented_Here... is there some procedure to keep it up to date? Or at least telling people it exists (I had no idea)? |
76 | 21:21:55 <quiddity> legoktm, nod, I'll start a couple of demonstration tables (sometime over the next couple weeks) and ask for further feedback in the task (https://phabricator.wikimedia.org/T136866) |
77 | 21:22:06 <robla> legoktm: this is the first time I've looked at that page in this context. interesting idea... |
78 | 21:22:28 * robla can't remember if he's ever looked at that page |
79 | 21:22:36 <legoktm> quiddity: sounds good :) |
80 | 21:22:44 <ostriches> [[Upstream projects]] wouldn't have clued me in that there's a list of our own projects on it |
81 | 21:22:46 <ostriches> :) |
82 | 21:22:53 <legoktm> SMalyshev: nope, like most of our docs it's always out of date |
83 | 21:22:57 <Scott_WUaS> (TimStarling, RobLa and bd808: And perhaps how developing in both Wikidata and MediaWiki would work programming language-wise and from here - www.whatcanidoforwikimedia.org and https://phabricator.wikimedia.org/ - could be a way in). |
84 | 21:23:06 <SMalyshev> yeah, it's like on Windows you click on Start to shutdown :) |
85 | 21:23:26 <quiddity> that Upstream page, and https://www.mediawiki.org/wiki/Developers/Maintainers, are interestingly tangential. I'd love to combine ALL THE THINGS into a giant table, but we'd need monitors 3x wider. >.> |
86 | 21:24:04 <SMalyshev> legoktm: that's why I think using something like categories may be more resistant to neglect... |
87 | 21:24:51 * robla agrees with SMalyshev that we need to think about neglect-resistant solutions |
88 | 21:25:01 <legoktm> maybe! |
89 | 21:26:34 <greg-g> quiddity: 4 dimensional tables ;) |
90 | 21:27:07 <SMalyshev> let's put all those projects on Wikidata and just query it :) |
91 | 21:27:18 <Scott_WUaS> :) |
92 | 21:27:31 <greg-g> in a previous life I would have said SMW ;) |
93 | 21:27:44 <quiddity> Maybe I'll also take a look at our existing navboxes, and see which could be best utilized on Upstream and Developers/Maintainers. |
94 | 21:27:53 <robla> DanielK_WMDE: I'm guessing SMalyshev is only half kidding :-) |
95 | 21:28:05 <SMalyshev> robla: you are guessing right :) |
96 | 21:28:24 <Scott_WUaS> RobLa: Wikidata-centrism makes much sense :) |
97 | 21:30:14 * robla goes back to T136866 to see what questions we should try to resolve |
98 | 21:30:53 <Scott_WUaS> To add to Quiddity's observation from yesterday: "So, let's focus tomorrow's conversation on helping newcomers identify "What can I work on in language foo"" I'd explore how and in what programming langauges ... and especially in Wikidata |
99 | 21:31:08 <SMalyshev> continuing with the topic of crazy ideas, Wikibase install doesn't have to be Wikidata... just saying... |
100 | 21:31:37 <Scott_WUaS> and in Wikidata's process (Wikidata is holding an office hour tomorrow too) |
101 | 21:33:32 <robla> so....if some developer (WMF included) wanted to deploy an extension involving non-PHP code, what would they need to consider? |
102 | 21:33:56 <Krenair> well we already have JS |
103 | 21:34:34 <robla> Krenair: sure...so....let's talk about server languages, say a new Node.js service |
104 | 21:34:43 <Krenair> wouldn't be mediawiki and wouldn't be an extension |
105 | 21:34:48 <bd808> robla: an extension? That pretty much by definition needs to be PHP |
106 | 21:35:01 <SMalyshev> yeah mediawiki extension == PHP/JS |
107 | 21:35:09 <SMalyshev> but service can be pretty much anything |
108 | 21:35:13 <TimStarling> we have some extensions that shell out, or are clients for HTTP services |
109 | 21:35:31 <SMalyshev> we have nodejs, python, java, probably c[++] too |
110 | 21:35:31 <Krenair> yeah we have OpenStackManager |
111 | 21:35:35 * Krenair runs |
112 | 21:36:03 <bd808> the deploy part is the key probably in robla's question |
113 | 21:36:14 <robla> bd808: yup |
114 | 21:36:17 <Krenair> setting up the service itself is ops' area |
115 | 21:36:19 <SMalyshev> I think we only have standard deploy for nodejs |
116 | 21:36:36 <Krenair> the MW extension part in JS/PHP would have to conform to all the usual requirements |
117 | 21:36:48 <SMalyshev> all others are pretty much "do your own puppet/scap3" |
118 | 21:36:48 <bd808> deploying to WMF prod requires at some point getting approval from releng and techops |
119 | 21:36:59 <quiddity> hypothetical for discussion: a new labs service written in an Esolang. (e.g. BrainFNORD) |
120 | 21:37:17 <MaxSem> quiddity, E_GOODFORTHEM |
121 | 21:37:21 <TimStarling> for node.js we also have service-runner, which is the in house service framework |
122 | 21:37:23 <SMalyshev> but the question is: how many volunterrs would be writing non-toollabs services? |
123 | 21:37:50 <Krenair> not many I'd imagine, most volunteers I've seen writing code stick to their gadgets and labs tools |
124 | 21:38:12 <SMalyshev> right. Or patching existing ones (like pywikibot) |
125 | 21:38:24 <robla> is that by design? |
126 | 21:38:35 <Krenair> pywikibot is a python bot framework, rather than a service, right? |
127 | 21:38:49 <bd808> getting completely new code into production is a non-trivial process but for good reasons I think |
128 | 21:38:50 <Krenair> robla, no I think most useful tools are supposed to graduate from labs eventually, theoretically |
129 | 21:38:58 <SMalyshev> given how many stakeholders one needs to gather to approve/deploy new service, I'd say it's both design and de facto |
130 | 21:39:08 <TimStarling> even getting a new PHP extension deployed on WMF is non-trivial |
131 | 21:39:25 <bd808> true |
132 | 21:39:50 <bd808> which leads to kitchen-sink extensions like mobilefrontend |
133 | 21:40:52 <SMalyshev> Krenair: right, but that eventually leads to bots which are kind of services... |
134 | 21:41:02 <bd808> from my personal experience the 2 big hurdles were security review and puppet automation |
135 | 21:42:15 <Krenair> because it's easier to put extra features into an existing extension with far less approval than it takes to deploy a new extension? |
136 | 21:42:18 <SMalyshev> yeah I think with puppets we don't have much choice besides a) learn puppet or b) bribe somebody who knows puppet |
137 | 21:42:19 <bd808> both really due to limited revewer resources. |
138 | 21:42:40 <bd808> Krenair: yes. there is no second or third or fourth security review |
139 | 21:42:51 <legoktm> it sucks, but I can say from experience that it sucks much less than it did 3 years ago |
140 | 21:43:05 <Krenair> Is it a problem of getting puppet code written, or getting into onto the actual production puppetmasters? |
141 | 21:43:30 <bd808> for my puppet is was getting it reviewed and merged |
142 | 21:43:45 <Krenair> SMalyshev, you're probably right wrt stakeholders btw, I was thinking from the labs perspective |
143 | 21:44:15 <TimStarling> it's not simple to test puppet manifests |
144 | 21:44:29 <TimStarling> I think the ops team usually deploys them untested (except for a lint check) |
145 | 21:44:56 <TimStarling> so to make sure things work, they are limited to staring at the code really hard |
146 | 21:45:01 <SMalyshev> TimStarling: yeah that too. even if your build own puppetmaster (non-trivial) still labs and prod differ a lot |
147 | 21:46:33 <TimStarling> they said to me "you can build your own puppetmaster" and I said "where is the puppetmaster *you* use to test your changes? can I use that one?" |
148 | 21:46:44 <TimStarling> and it transpired that there wasn't one |
149 | 21:47:04 <bd808> heh |
150 | 21:47:31 <bd808> I've tried to talk folks into testing in deployment-prep more often but... yeah |
151 | 21:47:51 * robla looks at https://www.mediawiki.org/wiki/Puppet and gets sad |
152 | 21:48:51 <SMalyshev> robla: https://wikitech.wikimedia.org/wiki/Puppet probably :) |
153 | 21:48:55 <quiddity> it was empty, and is ripe for redirecting. |
154 | 21:49:26 <SMalyshev> looks like still ripe for redirecting to wikitech :) |
155 | 21:49:42 <quiddity> done |
156 | 21:49:50 <bd808> robla: https://wikitech.wikimedia.org/wiki/Puppet |
157 | 21:50:04 <bd808> and https://wikitech.wikimedia.org/wiki/Puppet_coding |
158 | 21:50:49 <bd808> knowing what goes on mw.o and what goes on wikitech and what goes on meta is still a challenge for me |
159 | 21:51:14 <Krenair> mediawiki.org only if it's mediawiki code |
160 | 21:51:20 <Krenair> meta probably not for technical things |
161 | 21:51:29 <robla> bd808: I'm guessing it's a challenger for any newcomer to our codebase |
162 | 21:51:30 <Krenair> wikitech for pretty much anything wikimedia-related that's technical |
163 | 21:51:59 <bd808> Krenair: but mw.o has all of the WMF teams and projects which could be anything |
164 | 21:52:09 <Krenair> bd808, yes but should mw.o have all of that? |
165 | 21:52:24 <quiddity> Krenair, yes, but that only works if one doesn't mind the SUL issue (notmywiki gets even worse when people have to create a new account just to contribute) |
166 | 21:52:24 <bd808> and there are quire a few technical things on meta like quarry docs |
167 | 21:52:32 <TimStarling> for a lot of projects I have written a page on each wiki |
168 | 21:52:43 <Krenair> those things need to be tagged for moving off of mediawiki.org but I've never got around to it |
169 | 21:52:43 <TimStarling> they have a different audience |
170 | 21:53:15 <TimStarling> for mw.org I write for external users, basically public-facing source code documentation |
171 | 21:53:26 <TimStarling> for wikitech I write notes for the ops team |
172 | 21:53:26 <Krenair> quiddity, if we're talking about people that want to contribute to our software they should probably have gerrit access, and this requires them to have a wikitech account |
173 | 21:54:11 <quiddity> contributions can be in the form of user-feedback, and other non-technical guises! ;-) |
174 | 21:54:35 <bd808> someday wikitech will be a SUL wiki |
175 | 21:54:49 <bd808> gibe me another 9-12 months |
176 | 21:55:45 <robla> this has been a really great conversation, thanks everyone! Lemme look up the link to the thing we'll be suggesting for next week.... |
177 | 21:55:58 <Scott_WUaS> Thanks, All! |
178 | 21:57:10 <robla> next week's Phab event is https://phabricator.wikimedia.org/E228 and https://phabricator.wikimedia.org/T589 is what we're tentatively planning on |
179 | 21:58:42 <Krenair> I dunno, was it useful to other people? I feel like I've mostly been talking about problems with our existing situation |
180 | 21:58:47 <Krenair> Maybe that's useful, maybe not |
181 | 21:59:11 <robla> Krenair: it was very useful to me to know what edits to make to mediawiki.org, so I appreciated it |
182 | 22:00:36 <robla> thanks TimStarling for chairing/meetbot running :-) |
183 | 22:00:50 <TimStarling> #endmeeting |
Architecture meetings | ||
---|---|---|
13:00 PT ArchCom Planning Meetings | upcoming | all since 2016-03-30 |
14:00 PT ArchCom-RFC Meetings | upcoming | all since 2015-09-09 |