> Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint!
Emacs Lisp code is under GPLv3 license, is it OK to rewrite it in another language (using original code as blueprint) and publish it under MIT?
> is it OK to rewrite it in another language (using original code as blueprint)
No. However if you just take a specification of the code’s expected behavior (in this case a description of the markup language), and do a “clean-room” reimplementation where you never look at the original code, you should be in the clear from what I understand.
I love org-mode as a format and as a literate / notebook programming environment. And I love emacs.
But, I think it’s great that more people are looking at org-mode outside emacs. I’d love to see alternative tool chains that push the capabilities and open more people to its magic.
It's great to have more options, but people might be interested in the org-mode support of pandoc: https://pandoc.org/org.html
This enables .e.g. transformation of org-mode files with latex templates, to html slides or even into .odt files and customization via filters over pandocs AST. These filters can be not only written in haskell but in pretty much any language.
As someone who only reads about the love of Org, could you breakdown what features you see as improvements over markdown, specially CommonMark?
I often see Org and OrgMode conflated, where OrgMode seems to provide much more of an experience with the way Emacs has integrated it into the editor. Could markdown be as integrated and provide similar experience?
I've been using org and org-mode for literate programming for the past few months. org-mode provides a really nice interactive environment suitable for literate programming, but tangling code is hilariously slow, to the point where several people [0] (including myself [1]), have written org tanglers. It'd be interesting to see benchmarks against the original org-mode implementation.
This is great to see. I started my own org-mode library for Rust at the end of last year (https://github.com/iBelieve/orgmode-rs), with the goal of building a desktop or web app for org-mode, but haven't had much time to work on it.
You may want to take a look at this issue https://github.com/ngortheone/org-rs/issues/1 and perhaps join in - it seems that there are in fact a number of projects at a similar stage of development (or lack thereof, perhaps) so it makes sense to try and coalesce efforts.
I was excited, but the fact that this is (well, WAS) violating the GPL by being MIT licensed was a major downer. I'd be very interested in an org-mode parser which is NOT GPL-licensed, specifically because it is effectively impossible to integrate GPL code as a plugin (unless your editor is also GPL), which was one of the stated goals of this project.
Hence, someone would have to properly clean-room reverse-engineer org-mode in order to achieve 100% compatibility, or make a somewhat-incompatible implementation based on the reference docs instead.
As I understand it, Markdown has significant limitations which org-mode doesn't have, but is under a 3BSD-style license. (It also has issues of x+1 slightly incompatible implementations)
Org Mode is a dayplanner/TODO list + time tracker + notetaking app + spreadsheet + interactive notebook (Jupyter style) + literate programming tool + publishing platform, all glued into one. It stores all its data in plaintext files that are actually human-readable, and is built on one of the most flexible software platforms that ever existed - Emacs.
The awesomeness of Org Mode comes from how all the little pieces come together to support each other, and how the incremental the learning curve is. You can use any subset of features you like, and you don't pay (in terms of noise in your files) for the features you don't need. When you start, it's just a Markdown with superb editor support. Step by step, you may eventually find yourself organizing your life in plain text.
As the documentation says, Org is a toolbox[0]. You use only what you need, but you can do a lot with it, and everything interoperates to create a whole much greater than the sum of parts (which ordinarily would each be a different application). This is a common theme for Emacs itself too, and the reason some people (myself included) increasingly live in it - there are great benefits coming with thorough interoperability, as every small new thing you learn or add improves almost every kind of task you do in Emacs (org mode included).
As for introductions, there are things that'll show up under "introduction to org mode" search query. I guess you could read[1] to get an overview, play around, and then see what interests you. There's plenty of demonstrations and guides for specific use cases of Org Mode on-line[2], and you can always ask Org users to share their workflow (and config files) :).
I think, the major appeal of it is that it does everything.
Lots of "productivity"-applications are either TODO-lists or meant for note-taking or good for writing down concepts or are knowledge bases.
But you can't really separate these. Often I'll write something down and later realize that I need to do xyx for that. Or that I want to schedule a reminder for this note.
Other times I write something down just to have it written down somewhere and I won't want to see it again until months later. But if I just write it into a random .txt-file, I'll probably never see it again. With it being in the same place as my other notes, todos etc., I will actually find it again.
And other times, you might have this dumb idea for a thing. And then you add some more ideas to this idea. And before you know it, you've written down the entire concept for your next software project in your notes-application.
When this happens to me with OrgMode, I really don't mind. Its plaintext-format is just as readable as MarkDown for this use-case. I might very well stick this OrgMode-file into the software repository.
Also, sometimes I will find an article to something in my software project concept and want to note it down there with a reminder to actually look at it. OrgMode allows me to do that.
Eventually this becomes a lot of information in one place, but OrgMode itself has lots of tools to organize that: tags, priorities (from A to whichever letter you like), notebooks (=different files), states (e.g. TODO, DONE, NOTE, and again whatever you like), scheduled times, deadlines, recurring tasks etc.
And then there's obviously also parsers like the one in this post. They can do whatever they want with the plaintext you have there.
Personally, I mostly use the Android-app Orgzly. It has a widget with a simple DONE-button for my TODO-usage. It can throw notifications at me. And it has a really powerful search-feature, allowing to save specific searches and for example select them as the listing to display in the widget. E.g. I only want to see notes with the state "TODO" that are scheduled within the next three days.
I will admit that it's a bit of a rabbit hole, but task/note management in general usually is and this feels better than my previous solutions.
Especially also the fact that it is just plaintext-files that I can sync and backup easily.
What sense does it make to have org mode outside of emacs? I think the entire power of the system would be that it explicitly lives within emacs. From the repo:
> Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc...
Yes, absolutely.
> Unfortunately Org was originally developed for Emacs and therefore available only inside Emacs. It is a huge limiting factor for Org's development and popularization. Because of that it is not as popular outside of Emacs community as it should be.
"Unfortunately"? It is a dynamic tool, I don't understand what it would mean for it available outside of emacs except for if that were also a dynamic tool. Are you going to create a standalone dynamic org mode application? It seems better to make a "stripped down" emacs that only has org mode and literate programming features so as to not have as steep a learning curve as the entirety of emacs all at once. What other reason is there for this work except for avoiding the learning curve of emacs? Emacs has got to be one of the most configurable pieces of software outside of Operating Systems(maybe?) in existence.
Org mode is powerful because it is a plaintext system that gives hooks for emacs abilities like transformation (faces, folding, tagging/searching, agenda features) and execution of code with literate programming, and passing values around between code blocks and so on.
Why would this want to live outside of emacs?
I do think the recently (and again two years ago) extremely popular post on org mode's markup language absolutely misses this point[1]. This post is also linked to from the repo.
I'd love to learn about what I'm missing here, and would love to get some answers to my questions or responses to my assumptions! I'm very interested in your roadmap and design decisions, I think your external links (except for that article) are fantastic. I will follow the project for sure.
I just think there is some mental disconnect with how org mode is represented and discussed on hn, and those discussions almost all seem to miss the majority of org mode abilities that absolutely depend on living in the style of environment that emacs provides. From reading the top discussions here, one might think org mode is in competition for the same space as markdown while that is not even remotely true [2].
PS: I am trying to do a more thorough review of the discussion about org mode on hn, and I will be taking actual notes and comment links down to better explain my ideas here rather that just general takeaways. Thanks for bearing with me, or letting me know if you disagree.
It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others.
I've been using org-mode for a year, trying to replace a 5 year-old Evernote knowledge base/todo list, which itself inherited from a 12 year-old InfoSelect knowledge base.
For task management, org-mode on spacemacs complemented with beorg on mobile is proving to be the best system I've ever used.
As for the knowledge base features, however, I'm still far from being able to reproduce the speed and precision of recall that I had on InfoSelect, or even Evernote with a solid tag hierarchy. I also use Dynalist to have an outliner on mobile.
On mobile, the KB situations is even worse, since beorg is optimized for the task management use-case and does not provide proper search.
I would also love to be able to browse connections in my knowledge base, TheBrain-style, but that will always be clunky to unusable on a pure-text UI.
It would be awesome if I could get rid of Evernote and Dynalist and just point different apps at the same org file repository.
This is one reason having alternate parsers for the org markup is important.
> I just think there is some mental disconnect with how org mode is represented and discussed on hn, and those discussions almost all seem to miss the majority of org mode abilities that absolutely depend on living in the style of environment that emacs provides.
Honestly, part of it may be just baiting people :). The plaintext markup parts of Org Mode format are really just a Markdown equivalent; the true value comes from the features provided by Org Mode the application itself, and most of these are what they are precisely because of Emacs environment.
These days, with new Emacs users the story usually is "Come for Org Mode and/or Magit, stay for life"; personally, I love to encourage people to take that first step :).
I have just recently found Org (last week) as I stumbled on spacemacs and then fell down that rabbit-hole, which had a branch off into this rabbit hole.
Now I'm having experiencing some Baader-Meinhof phenomenon as I've seen two org-mode articles on the front-page here since and never noticed any before.
Anyways, this seems sort of obvious to me as a total org (and emacs) beginner... the sheer flexibility and power from this being built on top of the emacs system is the real killer feature, though lots of other organization apps would do well to copy some the base features. I really don't understand why repeated tasks is so hard for other task management apps to implement well and is yet easily done by whoever put them into Org:
** TODO Call Father
DEADLINE: <2008-02-10 Sun ++1w>
Marking this DONE shifts the date by at least one week, but also
by as many weeks as it takes to get this date into the future.
However, it stays on a Sunday, even if you called and marked it
done on Saturday.
** TODO Empty kitchen trash
DEADLINE: <2008-02-08 Fri 20:00 ++1d>
Marking this DONE shifts the date by at least one day, and also
by as many days as it takes to get the timestamp into the future.
Since there is a time in the timestamp, the next deadline in the
future will be on today's date if you complete the task before
20:00.
** TODO Check the batteries in the smoke detectors
DEADLINE: <2005-11-01 Tue .+1m>
Marking this DONE will shift the date to one month after today.
amenod|6 years ago
> Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint!
Emacs Lisp code is under GPLv3 license, is it OK to rewrite it in another language (using original code as blueprint) and publish it under MIT?
giancarlostoro|6 years ago
It is not according to their FAQ.
kibwen|6 years ago
jacobolus|6 years ago
No. However if you just take a specification of the code’s expected behavior (in this case a description of the markup language), and do a “clean-room” reimplementation where you never look at the original code, you should be in the clear from what I understand.
gpm|6 years ago
As I understand it copyright doesn't apply to the algorithm. It does apply to things like code organization, variable naming, and comments.
wyldfire|6 years ago
timClicks|6 years ago
dotancohen|6 years ago
peatmoss|6 years ago
But, I think it’s great that more people are looking at org-mode outside emacs. I’d love to see alternative tool chains that push the capabilities and open more people to its magic.
phaer|6 years ago
This enables .e.g. transformation of org-mode files with latex templates, to html slides or even into .odt files and customization via filters over pandocs AST. These filters can be not only written in haskell but in pretty much any language.
bluejekyll|6 years ago
I often see Org and OrgMode conflated, where OrgMode seems to provide much more of an experience with the way Emacs has integrated it into the editor. Could markdown be as integrated and provide similar experience?
kibwen|6 years ago
zebproj|6 years ago
[0] https://github.com/orgtangle
[1] https://github.com/OrgTangle/Worgle
iBelieve|6 years ago
0815test|6 years ago
Lord_Nightmare|6 years ago
Hence, someone would have to properly clean-room reverse-engineer org-mode in order to achieve 100% compatibility, or make a somewhat-incompatible implementation based on the reference docs instead.
As I understand it, Markdown has significant limitations which org-mode doesn't have, but is under a 3BSD-style license. (It also has issues of x+1 slightly incompatible implementations)
juki|6 years ago
[1]: https://github.com/wallyqs/org-ruby
black-tea|6 years ago
westoncb|6 years ago
Anyone have a recommendation for an article or video or something on the subject?
TeMPOraL|6 years ago
The awesomeness of Org Mode comes from how all the little pieces come together to support each other, and how the incremental the learning curve is. You can use any subset of features you like, and you don't pay (in terms of noise in your files) for the features you don't need. When you start, it's just a Markdown with superb editor support. Step by step, you may eventually find yourself organizing your life in plain text.
As the documentation says, Org is a toolbox[0]. You use only what you need, but you can do a lot with it, and everything interoperates to create a whole much greater than the sum of parts (which ordinarily would each be a different application). This is a common theme for Emacs itself too, and the reason some people (myself included) increasingly live in it - there are great benefits coming with thorough interoperability, as every small new thing you learn or add improves almost every kind of task you do in Emacs (org mode included).
As for introductions, there are things that'll show up under "introduction to org mode" search query. I guess you could read[1] to get an overview, play around, and then see what interests you. There's plenty of demonstrations and guides for specific use cases of Org Mode on-line[2], and you can always ask Org users to share their workflow (and config files) :).
--
[0] - https://orgmode.org/manual/Summary.html#Summary
[1] - https://orgmode.org/orgguide.pdf
[2] - Some listed here: https://orgmode.org/worg/org-tutorials/.
Sylos|6 years ago
Lots of "productivity"-applications are either TODO-lists or meant for note-taking or good for writing down concepts or are knowledge bases.
But you can't really separate these. Often I'll write something down and later realize that I need to do xyx for that. Or that I want to schedule a reminder for this note.
Other times I write something down just to have it written down somewhere and I won't want to see it again until months later. But if I just write it into a random .txt-file, I'll probably never see it again. With it being in the same place as my other notes, todos etc., I will actually find it again.
And other times, you might have this dumb idea for a thing. And then you add some more ideas to this idea. And before you know it, you've written down the entire concept for your next software project in your notes-application. When this happens to me with OrgMode, I really don't mind. Its plaintext-format is just as readable as MarkDown for this use-case. I might very well stick this OrgMode-file into the software repository.
Also, sometimes I will find an article to something in my software project concept and want to note it down there with a reminder to actually look at it. OrgMode allows me to do that.
Eventually this becomes a lot of information in one place, but OrgMode itself has lots of tools to organize that: tags, priorities (from A to whichever letter you like), notebooks (=different files), states (e.g. TODO, DONE, NOTE, and again whatever you like), scheduled times, deadlines, recurring tasks etc.
And then there's obviously also parsers like the one in this post. They can do whatever they want with the plaintext you have there.
Personally, I mostly use the Android-app Orgzly. It has a widget with a simple DONE-button for my TODO-usage. It can throw notifications at me. And it has a really powerful search-feature, allowing to save specific searches and for example select them as the listing to display in the widget. E.g. I only want to see notes with the state "TODO" that are scheduled within the next three days.
I will admit that it's a bit of a rabbit hole, but task/note management in general usually is and this feels better than my previous solutions.
Especially also the fact that it is just plaintext-files that I can sync and backup easily.
angleofrepose|6 years ago
> Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc...
Yes, absolutely.
> Unfortunately Org was originally developed for Emacs and therefore available only inside Emacs. It is a huge limiting factor for Org's development and popularization. Because of that it is not as popular outside of Emacs community as it should be.
"Unfortunately"? It is a dynamic tool, I don't understand what it would mean for it available outside of emacs except for if that were also a dynamic tool. Are you going to create a standalone dynamic org mode application? It seems better to make a "stripped down" emacs that only has org mode and literate programming features so as to not have as steep a learning curve as the entirety of emacs all at once. What other reason is there for this work except for avoiding the learning curve of emacs? Emacs has got to be one of the most configurable pieces of software outside of Operating Systems(maybe?) in existence.
Org mode is powerful because it is a plaintext system that gives hooks for emacs abilities like transformation (faces, folding, tagging/searching, agenda features) and execution of code with literate programming, and passing values around between code blocks and so on.
Why would this want to live outside of emacs? I do think the recently (and again two years ago) extremely popular post on org mode's markup language absolutely misses this point[1]. This post is also linked to from the repo.
I'd love to learn about what I'm missing here, and would love to get some answers to my questions or responses to my assumptions! I'm very interested in your roadmap and design decisions, I think your external links (except for that article) are fantastic. I will follow the project for sure.
I just think there is some mental disconnect with how org mode is represented and discussed on hn, and those discussions almost all seem to miss the majority of org mode abilities that absolutely depend on living in the style of environment that emacs provides. From reading the top discussions here, one might think org mode is in competition for the same space as markdown while that is not even remotely true [2].
[1]: https://news.ycombinator.com/item?id=19622019
[2]: https://hn.algolia.com/?query=org%20mode&sort=byPopularity&p...
PS: I am trying to do a more thorough review of the discussion about org mode on hn, and I will be taking actual notes and comment links down to better explain my ideas here rather that just general takeaways. Thanks for bearing with me, or letting me know if you disagree.
rodelrod|6 years ago
It allows us to throw different use-case-optimized GUIs at a sync'ed folder of org-mode files. A clear example are the mobile apps, but there are others.
I've been using org-mode for a year, trying to replace a 5 year-old Evernote knowledge base/todo list, which itself inherited from a 12 year-old InfoSelect knowledge base.
For task management, org-mode on spacemacs complemented with beorg on mobile is proving to be the best system I've ever used.
As for the knowledge base features, however, I'm still far from being able to reproduce the speed and precision of recall that I had on InfoSelect, or even Evernote with a solid tag hierarchy. I also use Dynalist to have an outliner on mobile.
On mobile, the KB situations is even worse, since beorg is optimized for the task management use-case and does not provide proper search.
I would also love to be able to browse connections in my knowledge base, TheBrain-style, but that will always be clunky to unusable on a pure-text UI.
It would be awesome if I could get rid of Evernote and Dynalist and just point different apps at the same org file repository.
This is one reason having alternate parsers for the org markup is important.
TeMPOraL|6 years ago
Honestly, part of it may be just baiting people :). The plaintext markup parts of Org Mode format are really just a Markdown equivalent; the true value comes from the features provided by Org Mode the application itself, and most of these are what they are precisely because of Emacs environment.
These days, with new Emacs users the story usually is "Come for Org Mode and/or Magit, stay for life"; personally, I love to encourage people to take that first step :).
gooseus|6 years ago
Now I'm having experiencing some Baader-Meinhof phenomenon as I've seen two org-mode articles on the front-page here since and never noticed any before.
Anyways, this seems sort of obvious to me as a total org (and emacs) beginner... the sheer flexibility and power from this being built on top of the emacs system is the real killer feature, though lots of other organization apps would do well to copy some the base features. I really don't understand why repeated tasks is so hard for other task management apps to implement well and is yet easily done by whoever put them into Org:
https://orgmode.org/manual/Repeated-tasks.html ...
krackers|6 years ago
Ideabile|6 years ago
And since a couple of days I'm getting more posts about org-mode. I think are nice foundations to continue on.
burtonator|6 years ago
... I think this is the nerdiest title I've ever seen posted to HN :)
eclipseo76|6 years ago
unknown|6 years ago
[deleted]