From e8e25c3c457b30b34bbae4c93ebd08ae48d1d710 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 29 Nov 2021 09:45:57 -0500 Subject: Update --- ...lp-emacs-maintainers---bastien-guerry--main.vtt | 730 +++++++++++++++++++++ 1 file changed, 730 insertions(+) create mode 100644 2021/captions/emacsconf-2021-maintainers--how-to-help-emacs-maintainers---bastien-guerry--main.vtt (limited to '2021/captions/emacsconf-2021-maintainers--how-to-help-emacs-maintainers---bastien-guerry--main.vtt') diff --git a/2021/captions/emacsconf-2021-maintainers--how-to-help-emacs-maintainers---bastien-guerry--main.vtt b/2021/captions/emacsconf-2021-maintainers--how-to-help-emacs-maintainers---bastien-guerry--main.vtt new file mode 100644 index 00000000..c47bf7d2 --- /dev/null +++ b/2021/captions/emacsconf-2021-maintainers--how-to-help-emacs-maintainers---bastien-guerry--main.vtt @@ -0,0 +1,730 @@ +WEBVTT + +00:00.799 --> 00:00:02.734 +Hello, I'm Bastien Guerry, + +00:00:02.734 --> 00:00:04.701 +and I'm happy to be here. + +00:00:04.701 --> 00:00:07.734 +I've been the Org-mode maintainer + +00:00:07.734 --> 00:00:09.501 +for the last 10 years, + +00:00:09.501 --> 00:00:11.368 +and I would like to ask the question + +00:00:11.368 --> 00:00:14.034 +how to help GNU Emacs maintainers in general. + +00:14.400 --> 00:00:15.519 +By GNU Emacs, I mean + +00:00:15.519 --> 00:00:18.080 +the whole GNU Emacs ecosystem, + +00:00:18.080 --> 00:00:19.520 +including packages, + +00:00:19.520 --> 00:00:21.039 +not just the core GNU Emacs + +00:00:21.039 --> 00:00:24.880 +that we all love. + +00:00:24.880 --> 00:00:28.268 +After a decade of dealing with + +00:00:28.268 --> 00:00:29.368 +the Org community, + +00:00:29.368 --> 00:00:32.934 +my view of what a maintainer is changed. + +00:00:32.934 --> 00:00:35.101 +I'd like to share some ideas with you + +00:00:35.101 --> 00:00:37.234 +as I think they could be useful + +00:00:37.234 --> 00:00:39.201 +to help Emacs maintainers in general. + +00:00:39.201 --> 00:00:41.968 +And hopefully, these ideas also apply + +00:00:41.968 --> 00:00:43.601 +to other free software projects, + +00:00:43.601 --> 00:00:45.901 +at least those where contributors + +00:00:45.901 --> 00:00:47.568 +are all volunteers. + +00:00:47.568 --> 00:00:51.368 +First of all, what is a free software maintainer? + +00:00:51.368 --> 00:00:54.601 +- Obviously this is some rich dude + +00:00:54.601 --> 00:00:56.268 +with a lot of free time + +00:00:56.268 --> 00:00:58.968 +- Acting both as a supersmart hacker + +00:00:58.968 --> 00:01:02.401 +and a super-patient community manager + +00:01:02.401 --> 00:01:05.101 +- Someone who acts as the central hotline + +00:01:05.101 --> 00:01:06.901 +for users and contributors + +00:01:06.901 --> 00:01:09.568 +- Who knows how to write many emails, + +00:01:09.568 --> 00:01:11.468 +probably at the same time + +00:01:11.468 --> 00:01:14.101 +- Who does not hesitate + +00:01:14.101 --> 00:01:16.934 +to publicly scold annoying users + +00:01:16.934 --> 00:01:19.801 +- and someone narcissistic enough + +00:01:19.801 --> 00:01:22.668 +to seek credits for community efforts + +00:01:22.668 --> 00:01:26.034 +- But really looking for a job + +00:01:26.034 --> 00:01:27.768 +in some big IT company + +00:01:27.768 --> 00:01:32.234 +Right? Well... no. That was a joke. + +00:01:32.234 --> 00:01:34.601 +But maybe you did smile + +00:01:34.601 --> 00:01:36.634 +and that's probably + +00:01:36.634 --> 00:01:39.401 +because there is some truth to it. + +00:01:39.401 --> 00:01:43.834 +Why? Because our culture encourages + +00:01:43.834 --> 00:01:45.634 +free software users and casual contributors + +00:01:45.634 --> 00:01:47.868 +to think about maintainers this way. + +00:01:47.868 --> 00:01:51.568 +Don't we continue to use the expression + +00:01:51.568 --> 00:01:54.001 +"Benevolent Dictator For Life"? + +00:01:54.001 --> 00:01:56.434 +This is what I'd call + +00:01:56.434 --> 00:01:58.068 +the "Spiderman syndrome": + +00:01:58.068 --> 00:02:01.268 +maintenance is perceived in terms of + +00:02:01.268 --> 00:02:04.168 +great power and great responsibility. + +00:02:04.168 --> 00:02:07.268 +But I believe our culture of superheroes + +00:02:07.268 --> 00:02:09.101 +is not helpful here: + +00:02:09.101 --> 00:02:11.301 +it does not reflect the truth, + +00:02:11.301 --> 00:02:14.134 +it does not set the right expectations, + +00:02:14.134 --> 00:02:16.334 +and it prevents contributors + +00:02:16.334 --> 00:02:17.601 +to properly understand + +00:02:17.601 --> 00:02:19.601 +how to help maintainers. + +00:02:19.601 --> 00:02:21.334 +So let's start again. + +00:02:21.334 --> 00:02:24.968 +Instead of asking what a maintainer is, + +00:02:24.968 --> 00:02:27.068 +let me take the list of + +00:02:27.068 --> 00:02:30.001 +what I do as the Org maintainer. + +00:02:30.001 --> 00:02:31.034 +Here is my TODO-list: + +00:02:31.034 --> 00:02:33.934 +- First of all, I take care of + +00:02:33.934 --> 00:02:35.201 +the orgmode.org website. + +00:02:35.201 --> 00:02:37.401 +- I also take care of the + +00:02:37.401 --> 00:02:41.434 +org-contrib NonGNU ELPA package. + +00:02:41.434 --> 00:02:44.034 +- I do gardening on the + +00:02:44.034 --> 00:02:46.168 +community-driven documentation, Worg. + +00:02:46.168 --> 00:02:48.401 +- I do add contributors to Worg. + +00:02:48.401 --> 00:02:51.134 +- I read emails on emacs-orgmode@, + +00:02:51.134 --> 00:02:54.134 +emacs-devel@ and bug-gnu-emacs@. + +00:02:54.134 --> 00:02:56.868 +- I contribute to email moderation + +00:02:56.868 --> 00:02:59.801 +of the emacs-orgmode@ list + +00:02:59.801 --> 00:03:02.468 +with a bunch of other contributors. + +00:03:02.468 --> 00:03:05.134 +- I reply to private emails + +00:03:05.134 --> 00:03:06.834 +asking me for help about org-mode. + +00:03:06.834 --> 00:03:10.168 +- I coordinate with GNU Emacs maintainers + +00:03:10.168 --> 00:03:12.934 +and thanks to them for Emacs/Org integration. + +00:03:12.934 --> 00:03:16.034 +- I contribute with public emails + +00:03:16.034 --> 00:03:17.801 +on the Org mailing list. + +00:03:17.801 --> 00:03:20.501 +- I release new versions of Org-mode. + +00:03:20.501 --> 00:03:22.634 +- and sometimes, sometimes, + +00:03:22.634 --> 00:03:24.601 +I contribute with code. + +00:03:24.601 --> 00:03:27.168 +Do you see a pattern here? + +00:03:27.168 --> 00:03:30.468 +Yes. I bet the last three tasks + +00:03:30.468 --> 00:03:31.801 +is what most people have in mind + +00:03:31.801 --> 00:03:34.201 +when they think of a maintainer: + +00:03:34.201 --> 00:03:35.534 +it's all about hacking + +00:03:35.534 --> 00:03:37.734 +and being an efficient hotline. + +00:03:37.734 --> 00:03:39.734 +But in fact, these tasks + +00:03:39.734 --> 00:03:41.601 +are only a superficial part + +00:03:41.601 --> 00:03:43.201 +of what I do as a maintainer. + +00:03:43.201 --> 00:03:47.001 +Some would consider that these core tasks + +00:03:47.001 --> 00:03:48.501 +are the /interesting/ ones, + +00:03:48.501 --> 00:03:51.634 +while the others are the /boring/ ones. + +00:03:51.634 --> 00:03:53.901 +I don't see it that way: + +00:03:53.901 --> 00:03:56.534 +some tasks are about the product, + +00:03:56.534 --> 00:03:58.801 +others are about the project. + +00:03:58.801 --> 00:04:00.834 +Without a good product, + +00:04:00.834 --> 00:04:02.168 +there is little chance + +00:04:02.168 --> 00:04:03.401 +you will have a good project, + +00:04:03.401 --> 00:04:07.534 +but maintaining a project requires thinking + +00:04:07.534 --> 00:04:09.301 +in terms of infrastructure, + +00:04:09.301 --> 00:04:11.068 +not in terms of bugs, + +00:04:11.068 --> 00:04:13.334 +thinking in terms of resources + +00:04:13.334 --> 00:04:16.701 +that enable both users and contributors, + +00:04:16.701 --> 00:04:18.401 +not in terms of commits. + +00:04:18.401 --> 00:04:21.001 +So let me try to define again + +00:04:21.001 --> 00:04:23.334 +what a free software maintainer is + +00:04:23.334 --> 00:04:24.434 +or should be. + +00:04:24.434 --> 00:04:26.234 +A free software maintainer + +00:04:26.234 --> 00:04:28.368 +is someone who cares about + +00:04:28.368 --> 00:04:30.968 +enabling users and contributors + +00:04:30.968 --> 00:04:32.768 +so that they collectively + +00:04:32.768 --> 00:04:34.201 +take care of the project. + +00:04:34.201 --> 00:04:36.734 +See another pattern here? + +00:04:36.734 --> 00:04:40.301 +That's all about the /project/, + +00:04:40.301 --> 00:04:41.501 +versus the product. + +00:04:41.501 --> 00:04:43.634 +It's about /taking care of it/, + +00:04:43.634 --> 00:04:46.934 +versus being a direct hotline for users, + +00:04:46.934 --> 00:04:49.901 +caring about the project infrastructure + +00:04:49.901 --> 00:04:52.134 +and about empowering users + +00:04:52.134 --> 00:04:54.234 +with tools and incentives + +00:04:54.234 --> 00:04:55.268 +so that they care too. + +00:04:55.268 --> 00:04:58.434 +How can you help such a maintainer? + +00:04:58.434 --> 00:05:00.901 +By focusing on the project + +00:05:00.901 --> 00:05:03.901 +and becoming an enabler yourself. + +00:05:03.901 --> 00:05:06.934 +Let's pause and summarize: + +00:05:06.934 --> 00:05:08.801 +our culture wants heroes + +00:05:08.801 --> 00:05:12.434 +and this leads us to expect maintainers + +00:05:12.434 --> 00:05:15.234 +to be superhackers and superactive hotlines. + +00:05:15.234 --> 00:05:19.568 +This is the HOT mindset of maintenance, + +00:05:19.568 --> 00:05:23.368 +where the maintainers are Headmasters Of Tweaks + +00:05:23.368 --> 00:05:26.901 +and soon becomes the Headmaster Of Troubles. + +00:05:26.901 --> 00:05:29.501 +To resist this HOT mindset, + +00:05:29.501 --> 00:05:33.201 +I suggest to redefine maintenance as ACDC: + +00:05:33.201 --> 00:05:36.534 +*Asynchronous Collective Distributed Care*: + +00:05:36.534 --> 00:05:38.968 +- /Asynchronous/ because time management + +00:05:38.968 --> 00:05:40.168 +is a private matter + +00:05:40.168 --> 00:05:41.968 +and we are all volunteers. + +00:05:41.968 --> 00:05:44.168 +- /Collective/ because, well, + +00:05:44.168 --> 00:05:45.634 +no man is an island. + +00:05:45.634 --> 00:05:49.201 +- /Distributed/: because the more power + +00:05:49.201 --> 00:05:51.601 +to the "edges", the more resilient + +00:05:51.601 --> 00:05:53.534 +the system and the project is. + +00:05:53.534 --> 00:05:56.368 +- /Care/ because this is all about care: + +00:05:56.368 --> 00:05:58.501 +with each other as users + +00:05:58.501 --> 00:06:00.134 +or as contributors, + +00:06:00.134 --> 00:06:02.101 +with the project's infrastructure + +00:06:02.101 --> 00:06:05.301 +(servers, websites, bug trackers, etc.) + +00:06:05.301 --> 00:06:08.701 +and care about having a useful product. + +00:06:08.701 --> 00:06:13.901 +/Enabling/ users and contributors means + +00:06:13.901 --> 00:06:16.468 +encouraging them to take ownership, + +00:06:16.468 --> 00:06:19.801 +which is more than just delegating tasks. + +00:06:19.801 --> 00:06:22.068 +Let your users and contributors know + +00:06:22.068 --> 00:06:23.901 +that they need to tap into + +00:06:23.901 --> 00:06:26.434 +the collective attention pool with care: + +00:06:26.434 --> 00:06:28.801 +the more autonomous they are, the better. + +00:06:28.801 --> 00:06:33.801 +So, with this ACDC definition in mind, + +00:06:33.801 --> 00:06:37.534 +how can /you/ help Emacs maintainers? + +00:06:37.534 --> 00:06:41.268 +- First of all, by *becoming a maintainer + +00:06:41.268 --> 00:06:44.334 +for your own project*, however small. + +00:06:44.334 --> 00:06:47.001 +Think in terms of project (vs product). + +00:06:47.001 --> 00:06:49.034 +Empower users and contributors. + +00:06:49.034 --> 00:06:50.668 +This will help you understand + +00:06:50.668 --> 00:06:54.068 +how to help other maintainers. + +00:06:54.068 --> 00:06:56.501 +("More power to the edges!") + +00:06:56.501 --> 00:07:00.001 +- *Volunteer as a contributor steward + +00:07:00.001 --> 00:07:02.201 +for another project*: you don't need to + +00:07:02.201 --> 00:07:03.868 +be a supersmart hacker + +00:07:03.868 --> 00:07:05.634 +to help others to contribute. + +00:07:05.634 --> 00:07:07.701 +(For Org-mode, we are lucky to have + +00:07:07.701 --> 00:07:10.901 +two great contributor stewards.) + +00:07:10.901 --> 00:07:12.868 +- *Learn how to teach*, + +00:07:12.868 --> 00:07:16.468 +because pedagogical skills are invaluable. + +00:07:16.468 --> 00:07:18.301 +(Taking the time to explain + +00:07:18.301 --> 00:07:20.868 +how to write a bug report or a patch + +00:07:20.868 --> 00:07:23.834 +is invaluable and this is a core part + +00:07:23.834 --> 00:07:25.401 +of the Org culture.) + +00:07:25.401 --> 00:07:27.801 +- *Test and enhance the project's + +00:07:27.801 --> 00:07:30.001 +contribution process*. (For Org-mode, + +00:07:30.001 --> 00:07:33.268 +you would read and suggest contributions to + +00:07:33.268 --> 00:07:35.634 +the org-contribute pages on Worg.) + +00:07:35.634 --> 00:07:38.601 +- *Take care of the project's calls for help*. + +00:07:38.601 --> 00:07:40.968 +(For Org-mode, this would be this list + +07:40.560 --> 00:07:43.599 +that we have on updates.orgmode.org + +07:43.599 --> 00:07:47.234 +For Emacs, this would be =etc/TODO= file.) + +00:07:47.234 --> 00:07:50.834 +If the calls for help are not explicit enough, + +00:07:50.834 --> 00:07:52.834 +try to contribute some. + +00:07:52.834 --> 00:07:56.701 +- *Encourage users from outside the project + +00:07:56.701 --> 00:07:58.434 +to contribute to the core forum*. + +00:07:58.434 --> 00:08:01.434 +(For Org-mode, there are many hacks and fixes + +00:08:01.434 --> 00:08:03.901 +being shared on reddit and stackoverflow: + +00:08:03.901 --> 00:08:05.401 +and that's fine, but we we should not + +00:08:05.401 --> 00:08:07.401 +wait for months before having this + +00:08:07.401 --> 00:08:08.801 +shared on the list.) + +00:08:08.801 --> 00:08:11.434 +- *Let the core forum know about + +00:08:11.434 --> 00:08:13.701 +what happens in this outside world* + +00:08:13.701 --> 00:08:16.601 +by sharing important information yourself. + +00:08:16.601 --> 00:08:19.868 +- *Propose your help for non-code tasks*: + +00:08:19.868 --> 00:08:21.368 +maintain a website, + +00:08:21.368 --> 00:08:23.734 +enhance the (community-driven) documentation, + +00:08:23.734 --> 00:08:26.101 +help with bug triage, etc. + +00:08:26.101 --> 00:08:29.568 +- *If you expect someone else to fix your bug, + +00:08:29.568 --> 00:08:33.234 +try fixing someone else's bug too*: + +00:08:33.234 --> 00:08:36.234 +that's how you'll learn Emacs Lisp + +00:08:36.234 --> 00:08:37.668 +and that's how you'll concretely + +00:08:37.668 --> 00:08:40.501 +train your empathy, your sense of taking care. + +00:08:40.501 --> 00:08:42.068 +That is so critical. + +00:08:42.068 --> 00:08:44.101 +- *Don't expect the maintainer + +00:08:44.101 --> 00:08:45.168 +to be a hotline*, + +00:08:45.168 --> 00:08:46.801 +especially a private one. + +00:08:46.801 --> 00:08:49.234 +Address yourself to the community. + +00:08:49.234 --> 00:08:51.968 +- and last but not least, + +00:08:51.968 --> 00:08:53.120 +*complete this list*. + +00:08:53.120 --> 00:08:54.959 +I'm trying to open a conversation here, + +00:08:54.959 --> 00:08:57.168 +so don't be shy. + +00:08:57.168 --> 00:09:01.760 +That's it. Is it hard? Yes, this is hard, + +00:09:01.760 --> 00:09:04.640 +and that's because helping maintainers + +00:09:04.640 --> 00:09:07.760 +by becoming such a enabler + +00:09:07.760 --> 00:09:09.839 +in this ACDC mindset + +00:09:09.839 --> 00:09:12.080 +is not immediately rewarding, + +00:09:12.080 --> 00:09:15.168 +whereas fixing a bug clearly, clearly is. + +00:09:15.168 --> 00:09:17.701 +But if you start thinking of the project + +00:09:17.701 --> 00:09:19.301 +as something that enables you + +00:09:19.301 --> 00:09:21.440 +to do amazing things, and I believe + +00:09:21.440 --> 00:09:23.434 +Org is this kind of project, + +00:09:23.434 --> 00:09:25.034 +and if you start thinking + +00:09:25.034 --> 00:09:26.634 +of the maintenance as something + +00:09:26.634 --> 00:09:28.934 +that enables more contributions, + +00:09:28.934 --> 00:09:31.734 +you will see how important and rewarding + +00:09:31.734 --> 00:09:35.668 +it is to become such an enabler. + +00:09:35.668 --> 00:09:39.701 +So, definitely grateful to all enablers + +00:09:39.701 --> 00:09:41.401 +that we have in Org's community! + +00:09:41.401 --> 00:09:43.734 +And to everyone who maintains + +00:09:43.734 --> 00:09:45.701 +a culture of teaching and learning + +00:09:45.701 --> 00:09:49.068 +through polite and respectful interactions + +00:09:49.068 --> 00:09:50.801 +on the mailing list and elsewhere: + +00:09:50.801 --> 00:09:55.001 +we always need more "power to the edges". + +00:09:55.001 --> 00:09:57.168 +And I'm also very grateful + +00:09:57.168 --> 00:09:59.034 +to the EmacsConf 2021 organizers, + +00:09:59.034 --> 00:10:02.568 +because that's really taking care + +00:10:02.568 --> 00:10:03.568 +of the community! Thanks very much. + +00:10:03.568 --> 00:10:04.000 +[captions by sachac] -- cgit v1.2.3