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