summaryrefslogblamecommitdiffstats
path: root/2021/talks/maintainers.md
blob: 8a39e41a485b34743a3c2e009489da86e453b5f2 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                                 

                                                                      

                                                      



                                                                   

            

    
                                                                                                                                                                                     


                                                                                                                                                              
                                                                                                                                                                   
                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                                                                    
                                        
                                                                                                                                                                  
                                        
                                                                                                                                       
                                        
                                                                                                                                                                                            
                                                                              
                                                                                                                                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                 
                                                                                      
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
                                        
                                                                                                                                                                                                                                                                                                                                       
                                                             
                                                                                                                                                                                                      


                                                                                                                                                                                                                                                                                                                                                                                                                                  
                                        
                                                                                                                                                                                                                                                                                   



                                                                                                                                                                                                                



                                                  


                                                                                                                  
                                                                  

                                                                                                                                                                                                                                                                                                                                                                                      
                                                                                                                                                           
                                                                                                                                                                   
                                                                                                                          




                                                                                                      
                                                                                                                                 
                                                                                                      


                        
 
                                                                                    
                


    
















                                                                                                                                                                                                                                                                                                                                                                                                       
 
                                                                 
 
                                                                 
[[!meta title="How to help Emacs maintainers?"]]
[[!meta copyright="Copyright © 2021 Bastien Guerry"]]
[[!inline pages="internal(2021/info/maintainers-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# How to help Emacs maintainers?
Bastien Guerry

[[!inline pages="internal(2021/info/maintainers-schedule)" raw="yes"]]

<https://bzg.fr/en/how-to-help-gnu-emacs-maintainers/>

After 11 years of helping as the Org maintainer, I would
like to share a few lessons learned.  My goal is help everyone take
care of Emacs maintainance by taking care of Emacs maintainers.

# Discussion

Pad:

-   [[!template text="Q1: How did you come up with this knowledge? By doing or by experience or by reading books (which?)?" start="00:04:30.840" video="qanda" time="1" id=subtitle]]
    -   A: All 3 of them.
    -   He was reading the book: Fred turner : counter culture to cyberculture
        -   The other one he mentioned appears to be Eghbal, Nadia [Stripe Press] (2020) Working in public: the making and maintenance of open source software
-   [[!template text="Q2: (Maybe answer this last, if time permits) How did you come to start using Org?" start="00:06:10.000" video="qanda" time="1" id=subtitle]]
    -   A: Bastien started with his own library BHL and was introduced/invited to contribute to Org by Carsten.
-   [[!template text="Q3: You have recently overseen a major transition for org mode maintenance, what would you advise for other teams that are preparing for transitions so that processes can be maintained with minimal disruption? How do we take processes that were originally maintained by a single person to one maintained by multiple people?" start="00:08:39.720" video="qanda" time="1" id=subtitle]]
    -   A: (Probably answered by voice.)
-   [[!template text="Q4: What do you think about the latest Orgdown thing? (Yes, it's me, Karl :-) )" start="00:35:32.840" video="qanda" time="1" id="subtitle"]]
    -   A: (Probably answered by voice.)
-   Q5: Could you settle this "Org" vs "Org-mode" vs "orgmode" vs ... once and for all (i.e. which one, capitalized how, and where)? :)
    -   A: (Probably answered by voice.)
-   [[!template text="Q6: Does this mean that you do not need to be technical to be(come) a maintainer? Would that really work?" start="00:15:09.880" video="qanda" time="1" id="subtitle"]]
    -   A: The co-maintainer could be a person with less technical background.
-   [[!template text="Q7: If time — what does the day of the orgmode maintainer look like? Lots of hours of work every day? Spread out?" start="00:17:24.520" video="qanda" time="1" id="subtitle"]]
    -   A: Not always. Last two months "MIA." Bastien wants to step down as maintainer but wants to prepare project/community for the next maintainer. "When I was working hard on this it was something like two hours a day. But usually it would be 2-4 hours per week." Most of time spent on mailing list (Bastien notes that he likes mailing list isn't split between users/developers).
-   [[!template text="Q8: Thanks for the hard work.  Which place is the right place to request a dark mode for orgmode.org website ?" start="00:10:55.200" video="qanda" time="1" id="subtitle"]]
    -   A: write an email to the Org-mode team. This seems to be a reasonable request.
-   [[!template text="Q9:  Do you think having centralized roles for people to carry out certain tasks such as documentation across multiple areas would be a constructive approach to inviting new maintainers" start="00:21:11.800" video="qanda" time="1" id="subtitle"]] (in contrast to "every person take an issue of their own choosing", which leaves parts of maintenance and documentation neglected)? From personal experience, sometimes it can be easier for those to be told "hey, we need this area maintanined, or a focus on contribution to this particular area". If we take a page from Catalonian Spain of the early 1900's, even the most decentralized organizations have to dedicate certain persons to specific tasks. Sorry for the long winded question.
    -   A: (Probably answered by voice.)
-   [[!template text="Q10:  I think org has and may potentially greatly influence Emacs development.  If you would tend to agree, do you have places where you feel Emacs need to "pull back" harder, to" start="00:24:21.440" video="qanda" time="1" id="subtitle"]] incluence org?  Key areas where org is clearly "leading the way"?
    -   A: "Org is to Emacs was Emacs is to computer systems"
-   [[!template text="Q11: Could you expound a little on what's happening with contrib ... I'm a little confused.   Mechanics/technical. " start="00:27:52.320" video="qanda" time="1" id="subtitle"]]
    -   (Karl: Do you mean technically "how to migrate" or the background why this happened? I personally did the conversion this week. I got the separate repository (or package) and had to do more local "use-packages" (the way of loading elisp files in my setup) and that's it. The hard thing was to find out which error refers to which org file to load separately.)  Thanks.  Seems like time for bankrupcy again :-/.
    -   A: contrib = stuff that didn't go to Emacs (copyright assignment not necessary). This was not a clean solution because it was mixed with copyright-transferred files in the same repository. New contrib goes now to "non-GNU" which is a clear separation according to copyright assignments. The way to install Org is via Org MELPA and contrib for Non-GNU MELPA. YES.  THANKS.
-   Q12: (Maybe not a question, just an observation) I like the analogy to gardening.  FOSS projects seem much like community gardens.  Also, shepherding seems like an apt analogy; I could imagine files having "shepherds"  :)
    -   A: (Probably answered by voice.)
-   [[!template text="Q13: Has splitting contrib actually reduced maintenance load? Is it too soon to tell? (I have found that splitting repos ultimately increases maintenance overhead due to multiplying" start="" video="qanda" time="1" id="subtitle"]] release overhead etc.)
    -   A: It is clearly easier now and less confusing for contributors. org-contrib is soon to die: packages will be moved to their own packages since contrib was founded when there was no packaging around. 
-   Q14:  So was BHL the basis for org-export?
    -   A: https://bzg.fr/en/theorgfather/

BBB:

- agreed, I appreciate that the list isn't split. 
  - vastly simplifies workflows.
- (Missing context) Wouldn't they be missing the key part, Emacs?
  - Questioner: (ah, i understood forking for a different toolset, vs markdown-based org-mode on Emacs, apologies)
  - Bastien Guerry: <https://list.orgmode.org/87y2jvkeql.fsf@gnu.org/>
- devil's advocate to Karl's point now though: is that from habit?
- link syntax in markdown is impossible to remember for simplifying e.g. keyword syntax can be made regular. consistency across levels is extremely hard due to interactions between features, in part because you only encounter those much later in implementation. another part of the issue is that Org has more features than pandoc markdown so it is sometimes unrepresentable.
- interestingly Timothy has solved most of the markdown &> org
  - plain orgmode is easy to visualize. with markdown you need to export this if you have many md lines. org tables is a clear example of the visualization
- I think the argument of the best syntax is a hard battle to fight, but where the bar is clear is the software (org-mode) and what it can do with it, as of today.
- [[!template text="FYI org-sidebar provides a backlinks tool" start="00:54:54.080" video="qanda" time="1" id="subtitle"]]
- Backlinks! Yes!
- Backlinks for me: <https://karl-voit.at/2020/07/22/org-super-links/>
- was going to say : many of the org-roam features should make their way into core org-mode eventually
- how to manage and cache other types of data that are similar to backlinks
- something like org-id caching, you mean?
- alphapapa: not quite, more things that we don't want to put in the org file directly; e.g. babel caches for huge pieces of data
- id caching for performance would be great, some of the vizualisation things are very interesting too
  - it is a hard problem

BBB feedback:

- Thank you for taking the time to share your accumulated wisdom with us, Bastien :)
- merci Bastien!

IRC:

- I love it when people just kick it old school and write things out.
- the spiderman syndrome is evil. it causes imposter syndrome that god knows how many contributors it has cost us
- excellent analysis on bdfl/spidysyndrome, you can see it play out in other communities as well
- Very interesting, I suppose I get an idea that maintainers are put on a pedestal, and you see a lot of the good, and bad from both sides of the spectrum. It can be thankless, but also incredibly rewarding. It's easy to miss the forest for the trees, and keep in mind that most every piece of FLOSS software is a very decentralized and maintanance heavy vs. centralized and focused on LOC. 
- i don't get the project vs product
  - project is the process of creating the product (usually)
  - because "project" has been redefined over time to mean the product (such as the codebase), together with the project as in the endeavor to create/develop it
  - Project is a greater scope than product, in my view.  A project is not only the code, but the relationships with others who interact with it.  The product can be the same, but doesn't usually include the support aspect since it's "free".  
- FLOSS software is a fascinating psychological study on that ACDC concept.
- i feel that this doesnt apply only to maintainers. So many managers should listen to it too
- It is really good advice to keep in mind as a manager
- GUIX has a really great community, and has folk like 'jgart' mainly, that has package maintaince workshops where they invite newbies and experienced users alike to contribute packages to GUIX. 
- one of the things that hasn't been brought up yet is maintainer territoriality, I know for many of my projects I can be quite territorial, sometimes unintentionally
- That kind of contribution is invaluable for being an inviting environment for congtributing to a project.
- I think even if the maintainer doesn't intend this potential contributors can perceive it
- Awesome talk! Not just in the context of Org-mode!
- The hand written slides are so engaging!

[[!inline pages="internal(2021/captions/maintainers)" raw="yes"]]

[[!inline pages="internal(2021/info/maintainers-nav)" raw="yes"]]