00:00.000 Introduction
01:14.280 Message from Bastien Guerry
03:15.920 My step-by-step journey to Org maintenance
05:09.241 Priorities for Org maintenance
08:11.767 Modular Org
08:41.590 Slim down large Org libraries
10:00.000 Upstream generic Org libraries
11:25.400 Use modern Emacs APIs and libraries
13:13.257 Improve Org parser APIs
14:45.731 Improve Org babel APIs
15:57.380 Beyond Org code and Emacs: third-party packages, apps, parsers
16:31.200 org-contrib
17:37.820 Org orphanage
18:25.840 Mobile apps and parsers
20:23.869 Long-standing syntax problems
21:56.240 New syntax features
23:30.503 New features I hope to see in Org
25:54.073 Org community
26:01.358 Org community forums - Org mailing list
27:17.160 Org mailing list - world
30:05.580 Contribute ideas!
31:01.520 How much can a single person do?
31:35.000 Contribute code!
33:02.080 Why contribute?
35:40.240 Benefits for code contributors
37:41.420 Contributing as non-programmer
38:30.440 Got no free time, but still want to help?
39:12.997 Thank you
01:42.686 Q: Is the track-changes item about the org-element parser?
02:52.665 Q: Could you please keep IRC alive? I prefer it to Matrix
04:07.988 Q: Is there any plan for adding support for other modalities of notes like handwritten, audio, etc.?
08:11.440 Q: WRT IETF standardization, have you looked at Karl Voit's OrgDown?
09:18.960 Q: About a year ago we discussed switching GNU documentation from texinfo to org. Do you still consider this?
12:26.800 Community
25:28.520 Off-stream Q&A
26:08.840 microemacs
29:31.920 Q: Is there/could there be a resource with which to recommend particularly well written codebases for review by others?
Q:<_viz> Q: Is the track-changes item about the org-element
parser? [10:34]
A:Yes
<Ihor> Moreover, track-changes has been developed with my
input specifically aimed to make sure that it can support
org-element use case. See
https://debbugs.gnu.org/cgi
/bugreport.cgi?bug=70077
Q: Could you please keep IRC alive? I prefer it to Matrix. Thx.
A: I am mostly live on IRC from mobile (via Revolution IRC) and
should be able to see most of the messages. Except when my
mobile phone does not have good internet connection or is
discharged
I got a suggestion to use chat.sr.ht as a bouncer. I will look
into it to make the connection more reliable. (It is not bad
now, but I do miss messages once in a while).
Q: Is there any plan for adding support for other modalities of
notes like handwritten, audio, etc.? Would that be interesting to
the community? It will definitely be useful for me.
A: Might want to look into jkitchin's repos (possibly via
tesseract)
<Ihor> In terms of actually adding support for hadwritten
notes/audio, it is not 100% clear what that support would
consitute. Tooling to convert images/sound to text would
probably not be appropriate for Org mode. It would be better
done as a separate package(s). Then, using such tooling could be
supported, but again, it is not clear what such a support would
constitute.
"Would that be interesting to the community?" Go and ask
Just write about your idea in details to the mailing list and
you will get feedback. What I can tell is that this topic does
not surface frequently as far as I am aware.
Q: I spent some time writing a library for myself which involved
working with org files. One thing I struggled with was finding a
good source of reference code which demonstrated idiomatic usage. Is
there/could there be a resource with which to recommend particularly
well written codebases for review by others?
A: Ideally, Org codebase should be such a place. Unfortunately,
not every part of Org is a good reference for others (I hope to
keep pushing for improvements).
Decent references could be ox.el, many ob-* backends, and
ox-* backends. But I cannot suggest something definite
without knowing what exactly you tried to do. There are many
APIs in Org mode.
Despite pushback, Karl's idea did align with our IETF idea
and with one of the point I make in the presentation about
making life easier for non-Emacs apps.
As an org user but someone who is not familiar with
development (and has no context on org's direction before Ihor's stewardship), I'm really excited about the priorities being expressed in this talk Thanks
[10:47]
another great (and absolute core to me) app with org-mode
support (respectively org files are at the core of it) for iOS
devices is: beorg
https://www.beorgapp.com/
the dev is responsive and open for feedback/feature requests, from my experience so far. i'm still "a noob", but org-mode, emacs and beorg allow me to structure my workflows/needs and to get rid of possibly many other apps/software.
The list of iOS-native apps are still quite small with varying quality. So far, I'm quite happy with beorg. Tried out other too (1-2 i may be missing, maybe considering buying them, even if it's just a small contribution to Emacs/orgmode as community as such). as far as the libre aspect. true, but i have to be pragmatic at some point, and firstly i want to be productive/efficient/effective. As long as it's a sole dev / community-inspired thing, and not a big corporate raider, i'm fine with non-libre software, if the standards are kept and no proprietary overhead stuff is modifying the core of org-mode (in this example for example).
Really encouraging stuff, thanks
Thank you yantar92`
Thank you for this wonderful talk!
We appreciate all the work being done
really enjoying this talk as a long time user who hasn't
ever really thought about how org mode gets developed (much less
contributed)
For audio transcription, I use Speech Note (offline) and copy the
text to orgmode
It's great to see Carsten, Bastien and Ihor together. I run my life
with orgmode, so we owe you guys a lot
I think a huge part of Org Mode is workflow, and that's
both highly individual and highly social - we learn about what's
possible by hearing about how other people do things
Thank you for taking over org! I use it every day and I'm happy to see that org's future is in good hands.
YouTube comments:
Congratulations! I'm super excited for the things to come, especially about mobile apps not being an afterthought anymore. Also looking forward to the transition to transient menus!
That was a great talk. Thank you for bringing all that information together and thank you for your work on org-mode. I use it every day and it's good to see it's still in active and constructive development. I particularly like the focus on the standard and parsers to define the format and clean up code bases both in org-mode and beyond.
As someone who has just started using org mode, it's really reassuring to see that someone with such a well thought through, comprehensive, specific, detailed, and balanced vision of the future of org is taking the helm! May your bugs always be shallow and your users grateful <3
I've been using org-mode for over a decade now, and can't imagine life without it. So welcome aboard, Ihor, may org-mode continue to prosper with you as Maintainer!
Hello, everyone. My name is Ihor Radchenko,and I'm the new official Org Mode maintainer.Today, I'll briefly introduce myselfand then share my ideas about the future ofOrg Mode development. I will start by passingthe word from Bastien, the previous maintainer.Then I will tell you a little bit about my story,starting from ordinary Org Mode userall the way to the maintainer.Then I will detail the new directions of developmentand specific features which I want to seein Org Mode in the coming years.And I will conclude by asking you, Org Mode users,to contribute to Org Modebecause all the features which are too manycan only be implemented with the help of the community,with the help of more contributors.And for that, of course, I will also talkabout Org community and how I see it evolveso that we have a good communicationbetween the development of Org Modeand the community ideas.Let me first pass the word to Bastien.
Hello, everyone. Ihor Radchenko is the new Org Modemaintainer.He's been acting as such for a couple of years now,and I'm really glad he's finally agreed to take on therole officially. As a maintainer, I've probably donea few things right and certainly made many mistakes.Here are 4 lessons I've learned in 14 years.The first is that maintaining Org Modeisn't just about code, it's mostlyabout users. Of course, some of them will never learn how toreport a bug, some of them will behave like spoiledchildren, and most of them will expect you to work for freeforever. Nevertheless, the time is as valuable as yours.Whatever they request, there is always something that canlead to a positive outcome for Org Mode or its community.The second lesson is that maintenance isn't just abouttechnical choices. It's also about predictability.Be very clear and very loud about what users and contributorscan expect of your time, skills, and motivations.Stick to the robustness principleby being liberal in what you acceptand strict in what you produce. Thirdly, it's allabout learning. Let's build a culture together where it'sokay to ask stupid questions. No one is born knowing how towrite in English, how to report a bug, or how to maintain alarge piece of code. Remember that old-timers were newbiesand that newbies could become maintainers. We all have a lotto learn, even if it's just how to respect each other.Finally, as a maintainer, think about the next one. Who willbe in your shoes next? What kind of maintainer do you want fora software you will be using for decades? It's also aresponsibility of the Org Mode community. How can wecollectively attract maintainers that want to help us useand enhance this wonderful little tool? How can we,as Org Mode users, help Ihor pave the wayfor the next maintainers?Enough said. I'm confident Org Mode is in good hands and I'm a veryhappy user. Thanks everyone for all these years of fun andlearning.
[00:03:15.920]My step-by-step journey to Org maintenance
Now back to my talk. Let me start by briefly introducingmyself. I'm actually not a programmer. By training, I'm amaterial scientist. and I only started using Emacs andOrg Mode and naturally doing programming (because that'sEmacs) when I was doing my PhD and I wanted to use Org Mode totame my research work. A couple of years I was just anordinary user, until I learned enough andgot enough courage to report my first bug.Then it all evolved over the years.I started participating in the mailing list,I started learning more about Elisp,I reported more complex bugs,I eventually got around to go and fix the tricky bugs.Then I started participating more in Org mailing listin helping fixing bugs in selected areas of Orgmode and eventually switching to all parts of Org.At some point I ended up doing the de facto maintenance jobtogether with Bastien and got an actual maintenance offerwhich I accepted recently. The key takeaway I want you to getfrom here is that you don't have to be a programmer, you don'thave to know Elisp to contribute, and you don't even have tobe like that to become a maintainer. All it takes isslow, methodical, persistent learning over the years,participating in the community, and eventuallysubmitting your patches upstream. And eventually you canbecome a maintainer, or not a maintainer as you wish.Enough about me.
Let's talk about what I think should happen withOrg Mode and what my goals on Org Mode is. The first and toppriority for me is the basics. The basics, thecode-based stability.Basically, all the foundations, all the APIs inOrg Mode, all the basic libraries, which everything buildsupon so that we have fewer bugs and we have moreunderstandable code so that others who want to contributehave easier time understandingwhat is going on in the code base andcontribute without much of a problem or confusion.Second equally important direction is the Org community,because a single person, even a couple of people, cannotreally develop such a big project as Org Mode. And we alwayswant new contributors, which are not coming from nowhere.We need to have the community of users.We have a community ofpeople who participate in discussions, who later submitpatches and code, and that's where we get most of the newfeatures. So I would like to improve the communicationbetween Org community and the development. The thirddirection I want to pursue is making life easier forthird-party packages. Because we don't only have org-modeas it's distributed with Emacs. We have a lot ofELPA packages. We have a lot of MELPA packages.People who want some specific featureson top of org-mode do developthese packages which are widely used or not so widely used.It's not only about Emacs. We have a lot of mobile appsthat can work with Org files, have a lot of parsers whichenable this mobile apps, or in general, programs outsideElisp to understand Org files.Fourth direction is the Org markup as a foundation oforg-mode as a major mode, because we have a lot offunctionality in org-mode itself inside Emacs,but it's all based on the underlying markup,and markup should have enough featuresto support the functions we want to see there.Last direction, which is somewhat lessimportant, mostly because I don't havethat much time to focus on everything,is the new features. I do want to seecertain important features in Org mode,but I usually cannot spend too much time on thembecause of the previous more important parts.I do rely on the org community andthe contributors to implement these new features.My idea is that I want to direct which featuresand how they should be implemented,but the actual people who implementthem should come from the community.Now let's go into the details.
The code base. As a bit of motivation, I would liketo share this email from Richard Stallman, who a couple ofyears ago asked about improving Org mode by making itmore modular. That's directly asking about improving thefoundations of the code. That's what I think isan important direction as well. Here's an example.
We have a lot of really, really large org libraries,like org.el, which is like one megabyte or something large,org-agenda, org-table, org-list,a number of files which are really,really, really large. What is worse is they are hard tounderstand sometimes. I even have an example,alphapapa complained that part of his motivationto write org-ql and specifically his agenda part,agenda-like part, wasbecause org-agenda is so hard to understand that it'seasier to start from scratch.I don't want such situationsto happen in future, if possible at all.One of the projectsI'm currently working on,it's work in progress now,is splitting Org libraries into smaller parts,into more documented parts,into the APIs which are actuallydocumented and explained in the code at least,so that people who just open org-mode codecannot be scared away and go andread the comments and understand what is happening thereeasier. At this point, I have almost doubled the number oflibraries. It's still work in progress, so there's a lot ofroom for improvement in this area.
Another direction which issomewhat reasonable in relation to splitting things downis that some libraries are really generic in Org Mode,because Org Mode often has a functionalitywhich is really new, and for that,it had to implement some very genericfunctionality that doesn't have to be usedjust for Org Mode.This can be generalized for Emacs in general.There is a number of librarieswhich we may or may not upstream toEmacs, depending on what Emacs maintain, I think. As oneexample is org-capture, because it's a very obviousexample. org-capture started as support from remember.el,which is still a part of Emacs. It has more features thanremember.el, which we required for Org. But, you know,these features can be backported. Why not? And thennot only Org-mode, but other Emacs libraries can benefitfrom these features we have in Org-mode only.Similarly, I have a long list ofdifferent libraries that can be shared.Yeah, for some I'm not sure,but in general, there is a lot ofwork that may be done and may be discussed in the future.
The third part about the basics is making use of the new Emacslibraries. Org Mode in general is quite well written in termsof Emacs integration. We do support many of the Emacsfeatures and libraries which are generic. However, in morerecent Emacs versions, we started getting some newfeatures, and we do want to make use of them in Org.For example, recently we contributed yank-media support forclipboard pasting and drag and drop. Now it is supportedin Org mode already in the released version. Eventuallywe want to support transient.el, because now Org uses ad hocsystem. It's of course much better to use existing andmore powerful menus, which are implemented intransient. It even has some initial work-in-progressimplementation. I hope it can be eventuallyextended to the whole Org ModeThere are other things like compatibility, which there isan excellent Emacs library, compat.el, that providesbackwards compatibility and Org also has something like thisin org-compat. We don't have to write it ourself again.We can make use of the existing library.Similarly, there's a very, very new librarytrack-changes for tracking changesin real time. Eventually, if you want to supportcontext-menu mode, maybe touchscreen, Androidsupport, I don't know, but I hope it can be done by someone.And some more generic library: select thingatpt.That's about using external APIs.
Now about the internal Org APIs.One important, probably one of the most importantparts of Org is the parser, how Org itself understands theOrg files. The situation is that we have two parsers inOrg mode. One is the Org element, the proper parser, which weuse as a reference, but many parts of Org still use regularexpressions, which are approximate. These two parsersare not exactly consistent, which is really bad, and I hopeto solve this. I already started doing some work byfactoring out some part of abstract syntax tree and workingon real-time parser, incremental parser, which is enabledby default in Org 9.6, but there are still parts which I needto work on. Eventually I want to get rid of regularexpression-based parser completely, so that we don't haveany inconsistencies inside Org Mode. One of the examples ofthese parts that are still using regular expression isfontification, which is often simply wrong, especially insome edge cases, and we really want to use the proper parserin this area. Maybe even editing org files using the parsersyntax tree, but that might be tricky, although there is anexisting library that implements some ideas for this.The key point is that org-element-api, the parser, shouldeventually be used everywhereso that everything is consistent.
The second important API is the Org babel.Currently, Org babel does have some API,but first, it's not well documented.Second, it's sometimes awkwardlydesigned, especially compared with the exporter.I do want Org Babel APIs to be more consistent.Another thing about Org Babel, it's not exactly API, but youknow that documentation for most of the Babel backends arenot even in the Org manual, even though the backends arebuilt-in. They are on Org Wiki, and we do want to move them tothe manual eventually. That's the important part, and itshould be done. Those are some obstacles, like not all thefeatures are properly implemented, and that's a bit of anextra job that should be done. Another small thing whichthanks to Bruno Barbier is being done, in progress: weshould have a more robust asynchronous API for babel.I hope it can progress further.For now, it already progressed quite far.
[00:15:57.380]Beyond Org code and Emacs: third-party packages, apps, parsers
That's all about the basics, the underlyingbackbone of the Org codebase. Let's move to the secondimportant direction which isthe third-party packages and basically the parsersfor mobile apps. I will postpone the community to the endbecause I want to have a call for contribution at the end.For third-party packages, I would like to remind you that
Org mode used to have something called org-contrib as apart of Org mode, which is a collection of small libraries,small packages that didn't have a propercopyright assignment basically,but more or less a part of Org mode. This isno longer the case. Now what we did iswe moved a number of very rarely used librariesfrom Org core itself to org-contrib,and now we treat org-contrib as basically the librariesthat we really want someone to take responsibility for.We want to maintain this for everything that is inorg-contrib, and from me and other Org team, wedo not spend too much time maintaining this package,just do some most basic bug fixing, and that's all.If you know, if you seesome libraries from org-contrib and you use them,and you know Elisp, please volunteer to bethe maintainer, because otherwisethere will be not much progress in these libraries.
As a natural extension of this and inspired byTarsius's Emacs Orphanage idea, we also maintain a smallpage basically listing the libraries, some others likepackages, Emacs packages that are not really maintained.If you are a maintainer of a library and you don't have timeto do it, you can write to Org mailing listand we can add the library to this pageso that we can search for new maintainersin a more centralized way. If you are anElisp hacker and you want to help something for Org Mode,you can check that page and see where you can help.
Now away from Emacs, or mobile apps.We have quite a lot of mobile apps at this point.Unfortunately, it's very hardfor me and many other Elisp contributors to contribute tothese apps because they are not using Elisp naturally. Butthese applications heavily rely on Org markup. I do hopethat we can keep Org markup consistent enough and richenough so that people don't have to invent extensions to Orglike what happened to Markdown.I really want to emphasize thatI want to see more Org parsers in differentlanguages so that they can be used by developers.For people who are writing these parsers,I want to share this link. It is the org-syntax reference.It is the official Org syntax,which is what we think it should be.It's described in plain human language.It's not a code. All details should be listed there.Please use it as a reference if you are writing a parser.Eventually, this document will besubmitted to IETF, I hope. In the futureI hope to write a set of tests which will work as benchmarks.basically we have some existing tests for our internalparser and I want to factor out these tests so they can be usedby any parser, so that we can compare the performance andwhich parts of Org mode are parsed and which parts are not.I mentioned that we want to submit to IETF, which means thatOrg markup will become the actual registered format.
But before we do that and thus fix Org markup in stone,because it's very hard to change things in the IETF,it's important to address important problems,existing problems with Org syntax.There are some problems, like I mentioned theinconsistencies between the two existing parsersin Org mode. There are also some parts,there are some examples, like there areproblems with numeric priorities, forexample, which are not treated consistently. There areproblems, more general problems with syntax when peoplerequest some edge cases which should be addressed. Like,it's very hard to do interword markup.We have zero-width space workaround, but many people dislike it,so maybe we want to do something about it.We have some edge cases when wecombine emphasis with links. We have some edge cases when wehave double blank lines inside some source blocks, forexample, and combination in the list. I hope we cansomehow address it. It's not impossible to do it, it justrequires time. One annoying part is the inline task syntax.It's annoying both from the programming perspective,internally as implementation, and from the UIperspective, because there are too many stars. Weprobably should redesign it eventually, maybe inbackwards-compatible way, but we will see how it goes.
Another part is not just fixing the edge cases or problems,it's the completely new syntax features. That's probablydone after we submit to IETF. But there are important thingsthat people often request, like time zone support intimestamps. Better repeaters, like more flexiblerepeaters, that's really a frequent request also.Another idea is some custom markup, which iscoming to various requests, like, for example, peopleoften ask to highlight some words with a color,for example, or with some other special wayand then export it in a special way,just as we do with special blocks, basically.What I want to introduce is the ability to do iton a macro level or inline.Of course, a new syntax feature which I wish we couldhave is the multi-line cells in tables.It's very frequently requested as well,but I really have no clue how to do it.We had a discussion about this in previousdiscussions, but there was no conclusion. We don't see agood way how to implement it syntax-wise.Unlike time zones where we decided exactly the syntax,how it could be and we just need patches to be submitted,here even the idea of syntax is not clear.Please do participate in these discussionsif you have ideas.
The last direction is thenew features. In general, I welcome all kinds of goodfeatures, but there are certain things which I explicitlywant to see and I hope to see submitted. If you areinterested, please do submit patches. One, and probablymany people are aware about it, is the asynchronous LaTeXpreview, developed by Timothy and Karthik. I hope it can befinalized eventually and upstreamed. It's pretty much inready state, but on the technical level it should bediscussed further and revised. The second is org-ql by Adam.I hope it can be upstreamed. It's also a work in progress.It's just a question of free time for Adam mostly, I think,and me. That's another important part, new feature. Thethird is the so-called multi-page export. The idea is thesame as many packages for blog posts, so that you have asingle Org file and then you can export multiple HTML pages,for example, or PDF pages, anything like that. This work inprogress by Orm, thanks to him,although it was a little bit stuck becauseI am not exactly sure how to best integrate itinto the existing APIs. If you are a developer of one of theblogging packages, I would appreciate if you can chime inand probably share some ideas here. Next are just somewishes I wish we could have, butit's not very detailed. One isthe multi-language support, so that we can have Orgdocuments in multiple languages, or maybe eventranslations. The collaborative editing that manypeople would wish to have, I think. Things like trackingchanges, adding comments, importing fromsome other Org formats withthe comments and changesso that we can actually participatewith all those Microsoft Word usersand stuff like that.But that's really too much for me alone to handle.If you want to see one of these features, please considercontributing. Just write the mailing list about yourinterest and we can start from there.
So I want to improve communication between thecommunity and the mailing list. Now, people oftendiscuss new features or ideas on all kinds of places likeReddit, Mastodon, like all kinds of Matrix/IRC chats,even on meetups, some non-English language. That's verynice that we have this community, but not all the ideas arevisible to the developers. I do wish that the mostimportant things that people want to see should end up on themailing list, one way or another.I'll later talk about someideas how I think it can be done. Another part iswe have org-wiki and I hope thatwe can make it more centralizedspace for interesting Org mode articles,for tutorials, for blog posts,at least linked to blog posts. If you havesome idea about good blog posts, it would be nice if yousubmit a patch to work or at least email about this linkto the mailing list.
Of course, not everyone likes to use mailing listsor don't have a good setup to do it,or even don't want to readeverything on Org mailing list, because there are thingslike bug reports, people don't really want to see that. SoBastien actually developed a tool that can help with this.If you want to monitor Org mailing list, but want to seeonly the most important discussions, and maybeparticipate if you decide to, you don't have to register. Wehave Woof, which is basically a web page that monitors ourmain list, but not every email. That's the most importantannouncements, some blog-like posts, or featurerequests, or some discussions. Then on this webpage,you can see it as HTML, or you can subscribe as RSS, or evendownload in Org or MD format.Thanks to Sacha Chua, also weekly news about Emacs ingeneral, but Org Mode as well. It also includes thenew features in Org Mode on the development branch and theinteresting new blog posts and discussions on variousReddit forums or mailing lists everywhere. I did thislittle bit of experimental integration so that many listscan also be read, kind of announced on the chats.For example, in #org-mode Matrix room, we have a bot thatconnects to Woof RSS so that all the news and discussions arenotified in the chat so that peoplecan see if they are interestedand maybe, hopefully, participate. I wishwe could also have similar kind of both for Reddit, Mastodonand maybe IRC. That way we have mailing list connected tomore active and more modern forums and chats.More people exposed to what is happening.Another part is that we actually have a web interface to Orgmailing list and you can even reply from there,but it's not always obvious, unfortunately.We have this public inbox softwareto transform the mailing list intoHTML pages. That's a decent interface, but it could beimproved to look more forum-like, so that people can easilyfind the reply button or basically participate withouttoo much effort, even if they are not subscribed or they are justcasually reading. That would be nice if someoneknowledgeable of CSS could help with this.
Again, I cannot emphasize more that most of the Org ideas ofthe new features are coming from people,but often they are known either by someonesubmitting a patch to the mailing list orsubmitting an idea to the mailing list. Rarely, it happens whensomeone is reading posts from Reddit that don't share to themailing list. If you think that there is some importantdiscussion happening on the forum,it would be nice that you can go ahead and share itwith Org mailing list. We don't care abouton-topic, off-topic, because unlikeemacs-devel, we don't focus on development.We can discuss some related to Org mode topicsin open-end list, just like on an ordinary forum.
I would like to end my talk with the call for contributions.Let me explain a little bit, because you saw now I shared manymany ideas and I do spend a lot of time on Org Mode. In fact,for the last year, I was spending like30 hours per week or something.Until recently, I can spend a bit less, but stilleven with that much of commitment,there is no way I can handleeverything by myself.
We really, really need more people to contributeso that Org mode keeps moving forward.Again, I just shared ideas,but I have so many more.I have more than a thousand ideas noted down.Yeah, there's no way I can do it myself.I do need help for new contributions, for new features.If someone can help fixing bugs, it would be really great.If someone knows specialized things,like for example Open Document Format,which I don't know very well, it would bereally nice, because things like ODT export requiresknowing that, and if someone already has the knowledge,it would be much easierif that person can help with such things.Although in the coming years,it's very important to haveregular contributorsbecause my life is my lifeand things may happen,so it would be nice to have some kind of backupso that bugs keep being fixedand things like patches being acceptedand stuff like that,so that some person can at leasttemporarily take on my job.I would like to emphasizethat the code contributors are the mostimportant contributions for Org Mode.All other types are less important, really.
I want to spend a couple of slidestrying to motivate you to contribute.If you ever considered contributingor if you ever wished to have somefeature in Org Mode, really don't wait, becausemost new features are contributed by people.They are not contributed by me.I contribute a few things, but I am alone.I cannot contribute many things.Most of the things are contributed by userswho go ahead and submit patches.And even in very commonly requested features,it's usually someone who steps up.If you want something, don't wait.Just go ahead and write to mailing list.You don't have to submit a patch immediately.You can just say, I am interested.We will start from there.We'll start because that's my joband I will guide you through.If you have problems with Org in general,I'll explain, because that's what I know.I will explain how to implement things better,but I need someone to actually dothe job and write the code.Even if you don't have 10 years experience with Elisp,it doesn't matter. You can learn on the way.There are many examples of this in themailing list when we start slowly,fix things one by one, andeventually arrive to a good qualitywhen the person is not experienced.You just need to be ready to learn things,Spend your free time (that's as usual, right?),and have the interest in specific thingyou are contributing.Don't be afraid to be wrong.I will be there to assist.If you don't like emails,if you don't like patches, it doesn't matter.Again, you can share GitHub link. It's okay.You can go and modify some workflow directly.You submit the modified version. It's also okay.It's easy for me to create patches if I need to.If you don't like emails at all, you don't want toparticipate in the mailing list, it's not ideal, but I canstill work with this. I am on IRC, I am on Matrix,you can ping me, it's yantar92.We also have monthly meetup,so you can go and ask by voice,we can just talk in person, discuss your ideas,it's also fine.The key point is that we always welcome new contributors.The more contributions to Org Mode is better.
To increase the motivation,I'll just try to show some benefitsof contributing to Org Mode and free software in general.It can be actually useful for your CV if you're a programmer.It doesn't matter if it's Lisp, because you can have a petproject that demonstrates your skills, that you can finishsomething to a usable state.A pet project usually demonstratesthat you can work alone, but it doesn'tdemonstrate anything about you working in a team, in theproduction team. When you contribute toLibre software, look,you will work with a number of peoplewho contribute and comment on your work.You'll have to learn a new code base.You will have to follow certain standards.All these things, by having a public recordof contribution, will be a valid point that proves yourknowledge in your CV. I put a small quote(which I'm not going to read in the interest of time)from Rudolf Adamkovič,who is describing these three points in probably amore expressive way.Another benefit is you can actually get money from this.Thanks to a number of Org Mode users who kindly contribute toOrg development, we have some amount of moneycoming in, and we don't hold on this money.If we get another person who contributesto Org regularly, we are happy to share this money,because we do know thatgetting some extra money, even a little bit,does improve motivation.We are really ready to share this.If you are serious about contributing,you can just request thisand we can share a part of the donations to you.
For non-programmers, we also have a lot of work to do.There's a lot of stuff we can do on the Org wiki,especially with CSS styles,with updating articles,with adding links to tutorials,or even writing tutorials about Org Mode.It would be nice to have more screencasts.It would be nice to improve Org manual,because that's the most difficult part for mebecause I'm too familiar with the code.Writing the manual when you know things internallyis very hard. I just know too many things.I can assume that people know too much,that new users have no idea about certain things.I can just omit those without being aware.
The final slide I would go to come back is aboutdonations. Again, most important is contributing code,but I do hope that donations canincrease the number of contributors.I don't know. I know for sure because somepeople like Timothy, who is participating in this, he didfind the donations helpful, especially for more boringtasks like bug fixing and to move thingsover the long time. If you cannot contribute by other means,it would be appreciated to contribute money.
We came to the end of my talk.Thank you for your attention.If you have any questions, please feel free to ask.I think we can even discuss furtherduring the next Org Meetup in the coming week.There, if you have more detailed questions,we can continue discussingapart from what happens after this presentation.
Q&A transcript (unedited)
And I believe we are live. Okay. Hi again, Ihor. How are youdoing? Ready to answer questions, right? Yes. Ready toanswer questions and all this. I mean, ready foreverything. It's not just a question, it's the maintenancethat is now lying in front of you. So... Oh, that's not the endof the day. I mean, it's a rare thing indeed, because youmight not be able to see it on BBB. I'm checking in, but we'vegot Ihor, obviously, but we also have Bastien and alsoCarsten in the room. So, we have three maintainers of OrgMode right there in the room to answer all your questions.So, it's a rare occasion that I invite all of you to seize theday on this. Ihor, do you have anything maybe to say before westart moving into the questions? Well, I hope that I saideverything I wanted. Hello, Bastien. during thepresentation. Well, actually, I can say a lot more, likeinfinitely, because when I first recorded it, it was likeone hour. So yeah. I mean, you did a, I'll just let you know,you did a fine job condensing everything in just 40 minutes.So congratulations on this. Yeah, it's, yeah, usually oneminute per slide is the best way. Otherwise, it's somethingthat's wrong with this presentation. Right, so just movinginto the question, and by the way we've got 20 minutes, wemight be able to chat a little more if Bastien wants to saysomething as well and Carsten, you know, feel free tointervene at any point during the questions if you've gotanything to contribute or our voice will just show thebreeze later on. So the first question is relating tosomething you said about 10 minutes 34 that might speak moreto you than to me.
[00:01:42.686]Q: Is the track-changes item about the org-element parser?
Is the track changes item about the orgelement parser Yes, the track changes is a new library thathelps to receive changes in buffers incrementally. So likeyou can, it has API where you can request what changeshappened in buffer since last request, chunk by chunk. Andin org mode, in org element parser, we do pretty much the samething, but using timers. So this track changes libraryshould improve things, first, because it's a bit faster,because we don't need to conjure every single change, andtrack changes can agglomerate changes into chunks muchmore efficiently. And second, it's a built-in library, soit's a good idea to use built-in library when there is such anoption, instead of running out our own implementation.Definitely. Moving on to the second question, although I'mnot sure it refers that much to what you can do.
[00:02:52.665]Q: Could you please keep IRC alive? I prefer it to Matrix
Could you please keep IRC alive? And I prefer it to Matrix. I mean,you did talk about IRC, right? But did we talk about phasingit out? So I try to be live on IRC, but I use mobile client forIRC to keep connected. So I usually connected, I usually seemessages, except certain times when I don't have mobileinternet. Right. Okay. That's why many people will tellyou, you need a bouncer and all this, but the IRC crowd is veryloud. I just don't know a good bouncer. I don't have a goodsetup for a bouncer. Okay.Personally, I use WeChat usually to stay connected toemail. It's obviously a client for IRC, but it also allowsyou to, you know, you can keep it as a bouncer, but it's not inEmacs. It is. I don't have a computer that is running 24hours, so. I mean, that's the thing. I do have a server to runit off. All right, moving on to the third question. That iswhat is running 24 hours. Right. Okay. All right. Moving onto the third question.
[00:04:07.988]Q: Is there any plan for adding support for other modalities of notes like handwritten, audio, etc.?
Is there any plan for adding supportfor other modalities of note-like, handwritten, audio,and et cetera? Would that be interesting to the community?It will definitely be useful for me. I didn't. Okay. So thisis not the idea I hear frequently. So there's no plan for suchthing. Modalities of notes like handwritten audio. I thinkJohn Kitchin did some handwritten note.John Kitchin. Yeah. And for audio, I think as well. I. Sobasically you can use attachments, you can use images topaste you. I think John Kitchin even use it to automaticallyrecognize notes.I think the previous speaker was talking about a whisper torecognize voice. Right.Otherwise there is no special workflow and I'm not even surewhat we can do to support this workflow specifically.Yeah, it definitely feels like Org Mode is a good format fortextual stuff, and a lot of things are textual. I mean,that's the whole philosophy behind Emacs. But when it comesto voice, it feels like it's... I think the person asking thequestion probably needs to specify what they mean by voice.Is it just raw note-taking, as Blaine mentioned in aprevious talk, or is it something else? Feel free to add up tothe question and we'll return to it later on.I think this is kind of related to drag and drop. I think youwould like to be able to have an audio file and drop it in andhave it translated to text. I think that would be aninteresting API to do this, right? So that you can integrateit into something like drag and drop. I think I'm going totalk with supporters in since overnight. So we have, Ibelieve what constant is alluring to is the fact that notjust pictures but imagine if you were bringing in an audiofile maybe you could, I mean I'm not sure it would work withwhisper but. transcribing it in a way and inserting it astext. Although I'm not sure how we would be able to do this,but it's an interesting idea though. It can work if you writesome kind of automatic speech recognition. It's not reallya job for work. If you have some library that can transformaudio to text or transform image to text in Elixir, then wecan happily use that library. Definitely, but I can tell youthat Whisper is not something that works very quickly. We douse Whisper AI to transcribe some of the talks that webroadcast during EmacsConf, and I can tell you it takes afair while. If you have a video that lasts one minute, it'sdefinitely going to take more than one minute to try totranscribe the video. We had to wait for a few years until itpassed. Probably, but it's good to have the ID now sothat we are ready eventually to do this. There is the newasynchronous IP. It's called org-pending. It's work inprogress. And that basically allows to defer insertingtext into our buffers until later. And while it's beingworked on, it will basically highlight the place where itwill be inserted. And you can click on it, see the progress,and stuff like that. So this is for Babylon, but I imagine forthings like voice recognition, it can also work.All right, what I suggest we do, we're going to fill the twoquestions that we have now, and then it'd be nice if we couldhear a word from Bastien and from Carsten as well, becauseit's rare to have all of you three in a room, and it would benice maybe to chat a little bit about this. So quickly, with
[00:08:11.440]Q: WRT IETF standardization, have you looked at Karl Voit's OrgDown?
the last two questions, with regards to IETFstandardization, have you looked at Karl Voit's Orgdown?So, of course, there was a discussion on the mailing list,and there was a lot of pushback to this idea, especially tosimplify the syntax. So, in short, the conclusion fromthere is we want the full syntax, we don't want to have thingslike different versus Org mode. But for the syntax, we mayspecify different like coverage. So for example, it's aminimal, it has a minimal support so people can, there'ssome parsers or apps can support just whatever curl callsfork down like level zero or level one or whatever. But thekey point is, when it goes to IETF, we want to have the fullsyntax. We don't want to split it into pieces.Makes a lot of sense. All right. And the last question we have
[00:09:18.960]Q: About a year ago we discussed switching GNU documentation from texinfo to org. Do you still consider this?
for now. About a year ago, we discussed switching newdocumentation from texinfo to org. Do you still considerthis? definitely contributed to some of the ideas aboutsyntax. For example, the inline special blocks, I thinkabout them with this in mind, so that, so basically, oneclarity, we don't want to complicate our syntax, we don'twant to have special built-in support for variable, or Idon't know, function name, or all this kind of specificmarkup. But instead, the idea is to have some generic customsyntax. And then when it goes to software manuals, we wantsome like optional library that will provide certainsyntax extensions, like inline special block forvariables, inline special block for acronym and stuff likethat. Then people who want to use Org mode for manuals shouldbe able to use that new markup to achieve what they want.That's a distant idea. But the key point is we want to keep orgmode as generic syntax. We don't want to specialize it forsoftware specifically. But generic in the sense that it canbe used for software as well.All right, well thank you so much for your answer here andthat was very enlightening but I'd first like to give the micto Bastien who might need to leave shortly and I just want tomake sure that you get to chat a little bit Bastien becauseit's a big thing we've had you as a maintainer for howeverlong now? Well, officially, it was 14 years. But obviously,EHO has been doing much of the groundwork as a de factomaintainer for several years now, I believe for three orfour years. And before Before IHO, there was Nicolas Goaziou,who's doing a lot of work. Also Kyle Meyer, who is stillactive, backporting Emacs changes. Soit's a relief that we can do things properly, that I didn'tgive up before someone could really step up. I'm glad we'redoing this. And I'm glad there was so much help during thetime when I was not available enough. Well, thank you,Bastien. I think on behalf of the community, I think I'd liketo extend a big thank you for all the work you've donethroughout those 14 years. And if we pull the rope just alittle more, before those 14 years, we had someone elsemaintaining Org Mode, well, not actually just maintainingOrg Mode, but also inventing it. Carsten, how are you doing?I am. I'm doing fine. A really great opportunity to be here.
First, I would like to start by indeed thanking Bastienbecause, I mean, he was not only maintainer after I stopped,but already during the time I was there, he was one of the keycontributors who helped the project along for quite a bit.So it's an incredible investment of time and energy thatBasquiat has shown, which is really fantastic. And now I seeIhor taking over with, as far as I can see, deep knowledge andall the right ideas about philosophy. So I'm reallyimpressed. For me, this is really totally amazing because Istarted hacking this more than 20 years ago. And to just seethat there's a community that has sustained itself with thehelp of new maintainers for such a long time makes meextremely grateful. So thank you very much to all of you.Okay, well, amazing. I mean, I'm a little flustered, I mustadmit, because I'm seeing three players of the community ina way that have kept me busy with very fun stuff to do with OrgMode, and it's really amazing to see three giants of thecommunity being able to maintain Org Mode for so long andcontribute so much to it. So, again, thanks to all of youthree. I must also admit that it's really amazing for methat all of you three stress the importance of the communitya whole lot, and I know that Bastien, you've talked aboutmaintaining software last year at Emacs Confs, and eventoday, during the one-minute little chat that you did inIhor's chat, you stressed the importance of maintenance and tobe future-oriented about it. I'm kind of wondering, why doyou think community is so important to Org Mode in general?Like, obviously we've talked about maintainers and we'vetalked about volunteers, but don't you think there'ssomething more about community in general, about Org Modeand the fact that we are all taking notesand doing so much with it? Yeah, are you asking me?I remember Carsten made his point during the Google talk aboutthe core idea of Org Mode, about mixing note taking and to-domanager. It was really powerful. And also in the samepresentation that 98%of the features were organically developed as ideasby the community. And Ihor just said the same todayin the presentation, like most of the features,not only the ideas, but also the code came fromthe communities. So that's why the community is so rich.And another thing isalso that I do remember. Now everyone is having kind of an opensource fatigue and questions about how is it okay to bemaintainer? How do you keep open source projectsustainable? And I'm saying open source on purpose withthis audience to see beyond just the small GNU project andthe small free software community. So at large, there issome sense of fatigue. I remember that the Org communityright from the beginning had a reputation of being anamazing community and I think itcontinues to be one and I'm amazed that sometimes when I'm,you know, sometimes I'm, I have this fatigue of moderatingemails from the mailing list, for example, and filteringout spam. And then I go on the list and I read some emails and Ifeel like, okay, this is still there. And it's reallya boost of energy. I wish that this repetition outside Org Mode,outside Emacs, of being a nice welcoming,community of knowledgeable people talking of thingsand learning from each other that we cankeep up with this pace. Yeah, maybe if Ican just add to this, I think you're making an extremelyimportant point, Pascal. I think that was really, from thebeginning, something that was really special. And I thinkthe reason why we all community still works is that first me,but in particular also the two of you and more people havebeen able to keep up the friendly spirit in this community.Because we had very few fights on the mailing list. Therewere a few at some point, we had a few contributors with alittle bit of fights. And I remember that I, for example, hadto invest a lot of time to keep that one under control, but Ithink it was totally worth it because as a group, as a whole, Ithink it was really fantastic. Our friendly peoplealways were, and I think that has spurred all thecontributions that we had. Becauseif you are in a toxic environment, you willnot be willing to stay and to invest all their time. And if youare in an appreciative environment where people supporteach other, it's a completely different game. So I reallythink that Org Mode is a great example for open sourceprojects that many other communities can learn from.If I may just interject for a second, because we need to gointo the next chat for the live stream. But as usual, I inviteyou, if you're interested with the discussion, we arestaying on BBB, asking questions to Bastien, to Ihor andto Carsten. So feel free to join on BBB and chat with themlive. The stream will be moving on to the next chat, but wewill be recording the Q&A and posting it afterwards onemacsconf. So, I'll use the opportunity to thank you again,all three, for taking part in this EmacsConf, and enjoy thediscussion, and we'll see you later! Thank you, bye bye! So,yeah, what I was starting to say actually is I feel that theOrg Mode community and to the big extent the Emacs communityis a bit like research in the early days when there was a bunchof enthusiasts who just exchanged mails together and triedto find out something new. And there was like no feeling ofcompetition or too much competition at that time. Unlikenow when we like we all rise for funding and stuff. So it's,it's really, it's really nice to, to, to have communitiesthat has the spirit and they hope it can keep the spirit infuture as well.Yeah. Yeah. I thought I'm very optimistic after. So I mean,actually had not been reading the mailing list for quite awhile, but I started to read it again a little while ago and Icould just see you also working on it and see how everythingwas going. That made me extremely happy to see that and mademe very proud that this is still ongoing.I was interested about your point about the tables withmulti-lines. My unsolicited advice is don't do it, becauseI think it's going to be a mess. Which I think is reflectedalso by you saying that nobody has a good idea on how to dothis. I have certainly thought about it. It is requested sooften. It's requested so often that it feels like it would benice to come out with something. The question is, it is what?Yeah, that's a big question. Because I don't always askeDocs, for example, and they do have multi line cells intables, but that syntax is so ugly. Yes. Yeah, no, exactly. Ithink this is a problem and the question is, how far do youwant to develop or want to be a completely full authoringsystem in the sense that you have all these options therebecause I think to me, the Org Mode tables have a specificapplication. They have this fast way of buildingsomething. And if I would have to go and build a hugelycomplicated table with different numbers of columns andcolumns going away and appearing further down the table, soI would probably go somewhere else. So for me, this seems tobe overkill. So I don't want to curb anybody's enthusiasm.But I think it's really important to keep to keep the kind offunctionality that it has. It's a very easy use and quickability to do something interesting that I think is moreimportant. There could be reasons to not do something. Soagain, the thing is, we don't have a good idea. But what I know100% is that we are not going to give up the existing syntax.Yeah, for sure. So even if you come up with something good,the existing syntax will remain working. And if people whoneed to use simple tables, they should remain possible inexactly the same way. But I know many people struggle and tryin LaTeX and other workarounds just to create more complextables. So there's clearly a demand. I think this is relatedto the other question that you asked earlier. I think it'srelated to the question about the different parsers. Andthen, of course, the way the tables are implemented now is bybasically just looking at what's around youand doing the right things withthis regular expression-based part ofthe parser. And you probably would have to fully use theother parts and to do all the changes in the formal structurein order to do something like this. So I have to be honest thatI don't understand this well enough to really have ameaningful idea about it. Not only that, we'll also need torewrite the spreadsheet functionality because it iscompletely using regular expressions. Exactly. Not onlyidea is missing that the roadmap will be very complicated ifyou get there. Yeah. I mean, I do remember. Yeah, go ahead.Yeah, sorry. I do remember Richard Stallman saying thatOrg Mode was doing too much. So my answer was just, coming fromthe inventor of Emacs, I took it as a compliment for Org Mode.But of course, that was just humor. And I agree that thesimple things should keep being simple. And I like thecustom syntax idea of Juan because it goes in the directionof flexibility while keeping things simple.And looking forward to what people will come up with. I likethe idea that you want to formalize the syntax. I think thatis really very good. I'd like to also submit it. I think thatwould be excellent. I'm also... I think it was proposed byTimothy, yeah. Initially. Okay. Yeah, that's reallyhelpful. Pascal, are you still talking, I think? No, yeah, Ijust wanted to say also for the younger Emacs users, there isa lot of new things in Emacs the last five years. It has been soexciting. And I believe it's exciting for Org Mode too, thethings you mentioned about track changes. uh nativecompilation and all that stuff that that's really good likesome some performance problems that we had for org mode forthe agenda and stuff like that were suddenly solved by uh thethe crazy amazing work by Eli and emacs maintainers soit's really exciting for org as well.I don't know how you feel, Ihor, about this,but I know you are reading the Emacsdevelopment mailing list and keeping this is a job initself, but it's really exciting for everyone, I guess. Notonly that, I hope we can upstream org-ql, which will speed upagenda specifically even more.Okay. I need to fly away, but it was really nice connectingand I hope everyone has a great conference. Bye-bye. It wasso good to see you. Thank you again for everything that youhave done. Thanks to you both. Thank you. Bye-bye. Bye-bye.
All right. Is it only the two of us now? I don't really know whoelse. Can you see if there's anybody else in this room? Idon't know. There are like two, four, six people and Sacha isone of them, so probably five people. Oh, Sacha is here.Okay. I haven't heard her say anything, but I see her in thechat. Okay. It's the same room, basically. Hi, Sacha. Oh,okay. They're also at her pad, so we may want to finish otherquestions, maybe, if there are some. This is just a circle.
This is just a historical question, but Carsten, I think youused microemacs back in the day.Did that have any influenceon Org? That is a really interesting question. I usedmicroemacs as my first version of emacs, and then I steppedover to Emacs. I actually did two things at the same time. Ialso was working with so Awk basically, that language. I ranagainst walls with both Micro-Emacs and with Awk, where I hadthe feeling I don't have enough freedom to do everythingthat I wanted, so I switched to Perl on one side and to Emacs onthe other side. That's what it was. Micro-Emacs absolutelyhad the function to pull me into Emacs, But it's not that Ihave specific microemacs features that would havetriggered me to do something for Org Mode. I think that would bethe answer to your question. All right, thanks.Are you a user of microemacs, George? I posted the source toCompSource's Amiga in 86, and I was somewhat responsiblefor it being in the wild. Oh, I'm so sorry that I didn't,wasn't really aware that I made the connection to your name.No, no, no, no. We all moved on and the world is a better place.Yeah. No, I actually did use it for something like, I thinksix years as my only admin at the time before I made theswitch. No, I put it out to the list. David Lawrence ran withit and you know, that was about, that was the end of it. And Iactually implemented something like fly spell formicroemacs. I remember doing that at some point. Yeah, no, Idon't want us to get stuck on that. I don't want us to get stuckon that, so. Yeah, yeah. Good. Thank you. Thank you forOrg Mode. Yeah, you're most welcome.For microemacs, actually, I also tried it once. It feelslike at home after Emacs, of course, the major downside was atthis point is that there is no UTF support. I think that waslike, unfortunately, that that's not going to work. Ithink I'm also going to disconnect now. But it was reallyfantastic to listen to your talk. I wish you all the best. I'msure that is a good answer. Thank you for joining, and nice tomeet you. Yeah, bye. Bye.Okay, so there are still people in the room, so if you want toask questions, feel free to do it. Ithink there's one unanswered question in the etherpadalso. Let me see.It's probably awkward to answer. Okay, I can answer and thenprobably answering the answer for this one. So there's aquestion about, from a person, I spent some time writing alibrary for myself, which involved working with Org files.
[00:29:31.920]Q: Is there/could there be a resource with which to recommend particularly well written codebases for review by others?
One thing I struggled with was finding a good source ofreference code which demonstrated idiomatic usage.particularly well-written code bases for review byothers? That's a good question. We have some wiki pages.I'll put it in the answer later. You can also check Org Mode'scode, but usually in org-element there are good usages, andin Org export.Otherwise, maybe something from Alphapapa, but I need tocheck that and probably reply later.Otherwise, that's all. So I'm going to end this.Bye bye.