This made me realize that obsidian is *not* opensource, but in a way obsidian made me feel like it was opensource. Obviously now that I researched it, it is quite obvious that it is not, but still it 'feels' like it should be opensource.
Feels like a lot of apps that launch these days have an open source core app and a subscription based platform.
The subscription based platform with automatic cloud hosting and other quality of life features, whatever those are depending on the app.
Although there's a bunch of 100% open source projects and developers that get enough donations to make it their full time job just off of that. Not that it's the way to go if you want to get rich, but it's still very much a real thing.
Given the explosion of open source released projects I've seen over the past six months, I believe developers are getting compensated by the tool they are building for themselves creating real value for them.
I have a problem, I spend a few days building a tool that solves the problem, it works pretty well for me, and I release it to let others get value from it. They make tweaks to it, perhaps improve it, and I get value from those enhancements and bugfixes.
Do you not sponsor projects that you get value out of?
I'm not saying you have to, but you asked how they get compensated and there's nothing stopping you from giving them money.
It's easy to forget that you get a lot of value out of something and not give back. If you end up getting a good paying job with your programming experience just buy your favorite projects "a beer" one a month, or once a year. God knows it's better spent there all the subscriptions we have like Netflix or Spotify. Cheaper too.
Also, if the projects are big enough you can usually get tax credit. If you work at a decently sized company they also usually do some charity matching.
Simple utility stuff I believe should fit in this category. Things like a text editor.
The profit comes from elsewhere, larger more complex systems.
Of course someone can TRY to profit off a text editor, but unless it solves complex enough problems (like a full blown IDE, but even then...).
The issue is there is intense demand for it, and ALSO easy supply. If someone attempts a profit driving rugpull, another will pop up in it's place.
I am still using Dendron because it meets my needs, but I'm always half tempted to replace it, and I'm fairly confident I could come up with something that meets my own needs in a day or two, and it would likely also be valuable to countless others. I just keep assuming that someone else will spend that day or two, and my pain points with Dendron are not that bad for me to spend the time.
The reason is open standard. Obsidian uses markdown, that's it. No proprietary database, no fancy algorithm, no locked in platform, just a convenient way to manage your notes (jesus, that sounded like AI). You can realistically do it yourself, but they've helped you to do it for the low price of an online sync subscription.
That's why I will always hammer on open standards and federation.
To be fair, Obsidian is an Electron app with no obfuscation, so it's pretty easy to get its code. I think I even remember the official Obsidian team telling people to do that on their support forum if they distrusted the app.
I wouldn't show it as an alternative to Obsidian though. It shares MD files with it and both are supposedly about note taking ("supposedly" is for Obsidian, I haven't tried Files.md yet), but Files.md seems to have its own way of making the users work with their thoughts, notes and knowledge altogether.
When I read "an alternative", I assumed feature-parity and API compatibility. But what I found out was entirely different and much more interesting.
I'll give it a try, thanks for sharing your year-old work!
Maybe something like "self-hosted markdown notes you fully own" or "personal knowledge server"? Leans into the ownership angle instead of competing with Obsidian on features.
> Only necessary features, restrictions foster creativity
Interesting. Productivity tools should not force me getting creative to do the simplest things. Ideally, I can make it adapt to my workflow, not the other way around.
This looks awesome, and I've been waffling about moving from Notion to something local/markdown based for a while. My only issue is that I really like using databases, specifically for moving through processes ticket-style, in Notion. Does anyone know if there's something similar elsewhere? I'm not familiar with the knowledge-base/wiki space, I just kinda fell into notion.
Looks really slick!
I've been using Obsidian with git, and am thinking of moving back to the OG solution of simply using a text editor with a git repo. I'm wary of using cloud like google drive or dropbox for sync, especially if I'm using both phone and mobile to edit the same file throughout the day. I doubt using an external cloud really takes care of consistency and there's a possibility of losing data. Me being a developer can take the pain of a button click to git pull and resolve occasional conflicts.
To me this is fully solved solution for note taking with tools I already know and trust. Having said that, I'm gonna try Files.md for some inspiration on what I could be missing.
Gods I love and loath Tiddlywiki. It has some of the most convoluted javascript written before javascript ever actually got all the features that made javascript convoluted. But it did the job!
- scriptable or extendable by lua, rendered in page, eg `${1 + 1}` outputs `2`, but you can do a lot more, such as query pages and tags with a LINQ type query interface.
I've been using TrilliumNext (fork of Trillium project that is archived) and haven't been able to find an alternative I liked more. Only thing I don't really like is that it's not really stored in Markdown and since you have the ability to have notes in multiple trees it can get a bit messy when trying to move to other systems.
I tried moving to Obsidian Notes and found myself missing Trillium. It's nice to be able to just open the web browser and have access to your own self-hosted notes with an editor anywhere. You also can set it up so if you add a sharing tag to a note you can easily share a link to the note. I believe Obsidian allows similar but only if you pay, and it's also not self-hosted.
I've tried a wiki style approach before like Tiddlywiki, but I feel like it is a whole different concept of taking and making notes that often is a bit more cumbersome, but maybe it works better with how some people think.
I use .MD files, helix terminal editor with a markdown LSP called markdown-oxide that replicates the obsidian feature set (like bidirectional links, tags, making new notes automatically, two keys get you from a in-line footnote to the definition and back again, etc), and rumdl which is a super efficient and customizable markdown linter and formatter (semantic line breaks far the win!) . Since it is all helix I can jump around a huge web of interlinked files very quickly with only a few key presses, as well as inside a document and manipulate them en masse or in minute detail all with only a few taps. All of your standard open source terminal tools work with it, difftastic, bat/cat, zoxide/CD, ripgrep, fzf, git, LLMs, encryption, sync, etc etc. I use yazi for a visual filepicker and zellij for tabs. Run it on a server and connect from any computer in the world without downloading a single thing. I sometimes make use of two tools called rucola and tree-md for looking at prettier versions of the texts and seeing stats about how they interact. All open source of course!
There is no better interface for text than a terminal, and we are in the golden age. Despite being extremely powerful, this setup will run on resource constrained machines.
The one thing I need in a solution like this is multi-player mode that includes a simplified review/track-changes system that I can collaborate with my AI on these docs. Proof.sdk from Every Inc has an interesting approach on this. If I had more free time, I'd build it myself!
That markdown mirror is a pretty neat feature. I've been using Trillium for my notes and the way they save/store the notes is actually one of the things I dislike about it even though I love the application itself. I tried at one point exporting everything to markdown and it worked... but Trillium allows you to have notes in multiple places but they exist essentially as just a pointer in the backend to that note. So it made the export a bit wonky as some instances of a note are just an empty shell and don't have the actual contents. So you have to try and move notes around to get their markdown files in the right places.
I've ended up still sticking with Trilium however as I like being able to have notes in multiple locations like this.
1) Very nice implementation 2) Very nice domain! Did you always own "files.md"? 3) Re storing things on your server, what is the security layer around that?
I have been building a slightly different solution to the same problem. So far I’m pretty happy with the results and I have enough returning users that I think others are too (https://sdocs.dev/analytics).
SDocs is cli (`sdoc file.md`) -> instantly rendered Markdown file in the browser
When you install the cli it gives you the option to add a note in your base agent file (`~/.claude/CLAUDE.md`, etc.). This means every agent chat knows about SDocs and you can say “sdoc me the plan when you’re done with it” and the file will pop open instead of you having to find that terminal session to know it’s done.
Going browser first means you’re not required to install anything to get a great experience.
Despite being in the browser, the content of SDocs rendered Markdown files remain entirely local to you. SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`):
The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment.
This also means you can share your .md files privately by sharing the url.
I've enjoyed exploiting the HTML rendering side of things which is possible by displaying Markdown in a browser. I’ve added tagged code blocks that the agent is given documentation on how to use. Eg ```chart or ```mermaid (for mermaid diagrams). These then become interactive elements on the page (mermaid is best example of this currently). See live renderings of these options here - charts gallery: https://sdocs.dev/s/yO3WbxFf#k=arcDBnizla5n437VFAeiQcwlu8kh_..., diagrams gallery: https://sdocs.dev/s/B_Ux11DV#k=KsvheEkiBFai6acnoIJnrOdfVRS5u...
That's the comment that made me check it out in more detail, as that sticks out from all the other projects that were built in a weekend in the past months.
This made me realize that obsidian is *not* opensource, but in a way obsidian made me feel like it was opensource. Obviously now that I researched it, it is quite obvious that it is not, but still it 'feels' like it should be opensource.
That was the reason a few years ago I started this project.
It seems like software in AI-era should be distributed open source.
So that anyone could tweak it however he wants. Not though clunky plugins system.
And the developers get compensated for their work how?
That's yet to be decided :D
For the first time, I put a sponsorship button. Will see if it works.
The same way they do now?
Feels like a lot of apps that launch these days have an open source core app and a subscription based platform.
The subscription based platform with automatic cloud hosting and other quality of life features, whatever those are depending on the app.
Although there's a bunch of 100% open source projects and developers that get enough donations to make it their full time job just off of that. Not that it's the way to go if you want to get rich, but it's still very much a real thing.
Are you asking how the open source ecosystem works in general?
In my experience, if the dev wishes to be compensated in dollars, they also sell a commercial license, cloud services, etc.
get a job
Given the explosion of open source released projects I've seen over the past six months, I believe developers are getting compensated by the tool they are building for themselves creating real value for them.
I have a problem, I spend a few days building a tool that solves the problem, it works pretty well for me, and I release it to let others get value from it. They make tweaks to it, perhaps improve it, and I get value from those enhancements and bugfixes.
Obsidian has a number of full time employees who all want to eat and afford rent
The burden of OSS is dealing with PRs that you don't want to merge. The drive by bug fixes don't compensate for that.
Do you not sponsor projects that you get value out of?
I'm not saying you have to, but you asked how they get compensated and there's nothing stopping you from giving them money.
It's easy to forget that you get a lot of value out of something and not give back. If you end up getting a good paying job with your programming experience just buy your favorite projects "a beer" one a month, or once a year. God knows it's better spent there all the subscriptions we have like Netflix or Spotify. Cheaper too.
Also, if the projects are big enough you can usually get tax credit. If you work at a decently sized company they also usually do some charity matching.
Not all software needs to be for-profit.
Simple utility stuff I believe should fit in this category. Things like a text editor.
The profit comes from elsewhere, larger more complex systems.
Of course someone can TRY to profit off a text editor, but unless it solves complex enough problems (like a full blown IDE, but even then...).
The issue is there is intense demand for it, and ALSO easy supply. If someone attempts a profit driving rugpull, another will pop up in it's place.
I am still using Dendron because it meets my needs, but I'm always half tempted to replace it, and I'm fairly confident I could come up with something that meets my own needs in a day or two, and it would likely also be valuable to countless others. I just keep assuming that someone else will spend that day or two, and my pain points with Dendron are not that bad for me to spend the time.
A text editor with good UX is quite complex, I think it's hard to argue otherwise.
Most text-editors by large corporations don't even pass this bar.
> It seems like software in AI-era should be distributed open source.
That makes it easy for AI to be trained on it.
Yeah, also makes it easy for humans to train on it.
That's the point of open source, sharing the knowledge.
We'll all make the same shit over and over if noone shares.
But if we all share, then the only thing left to make is the unknown.
> So that anyone could tweak it however he wants.
That was true before the "AI era" as well.
Well, yes.
Just now, any regular user can clone the repository and ask an LLM to tune it to his needs.
The reason is open standard. Obsidian uses markdown, that's it. No proprietary database, no fancy algorithm, no locked in platform, just a convenient way to manage your notes (jesus, that sounded like AI). You can realistically do it yourself, but they've helped you to do it for the low price of an online sync subscription.
That's why I will always hammer on open standards and federation.
To be fair, Obsidian is an Electron app with no obfuscation, so it's pretty easy to get its code. I think I even remember the official Obsidian team telling people to do that on their support forum if they distrusted the app.
I always just assumed!
I wouldn't show it as an alternative to Obsidian though. It shares MD files with it and both are supposedly about note taking ("supposedly" is for Obsidian, I haven't tried Files.md yet), but Files.md seems to have its own way of making the users work with their thoughts, notes and knowledge altogether.
When I read "an alternative", I assumed feature-parity and API compatibility. But what I found out was entirely different and much more interesting.
I'll give it a try, thanks for sharing your year-old work!
> When I read "an alternative", I assumed feature-parity and API compatibility
When I read “alternative” I immediately had a rant in my head about people calling things alternatives that are not.
> When I read "an alternative", I assumed feature-parity and API compatibility. But what I found out was entirely different and much more interesting.
Thanks for a good observation! Indeed, I don't position it as Obsidian alternative. I don't know a better pitch for it just yet.
For me that's something about: simplicity, lazy flow of adding things, readiness to use out of the box.
To focus on what works, and not what is fancy.
I would say "open source markdown knowledge-base similar to Obsidian" but I'm not a marketing guy
Maybe something like "self-hosted markdown notes you fully own" or "personal knowledge server"? Leans into the ownership angle instead of competing with Obsidian on features.
This is neat, but I need a non-server-side program for this. I want everything local and running for the next 20+ years.
You can just clone and use offline.
Just open web/index.html file, it absolutely requires no server.
If you want a local server though, it is easy to setup: https://github.com/zakirullin/files.md/blob/main/docs/your-o...
TiddlyWiki?
https://tiddlywiki.com/
> Only necessary features, restrictions foster creativity
Interesting. Productivity tools should not force me getting creative to do the simplest things. Ideally, I can make it adapt to my workflow, not the other way around.
I believe that not only you should own your data in plain files, but also you should own the software that opens those files.
So that your files and tools can grow together, fully under your ownership, through the ages.
The app can be easily tweaked for your own needs via an LLM - code is optimized for that.
P.S. And Golang seems to be great fit for this kind of software.
What makes Golang a great fit in your opinion?
Server setup before the rewrite:
docker + php-fpm + php7 + larvel + nginx + redis + cron + worker + certbot
Server after the rewrite to Golang:
server, a 15MB no-dependencies binary that has everything.
Since I plan to use it for the rest of my life, I need the code and infrastructure to be radically simple and easy to maintain.
Like, I should be able to open it even after a few years, and do some fixes or add some features.
Go's ecosystem seems to share this mindset.
You might like what I made for myself https://github.com/pratikdeoghare/brashtag
This looks awesome, and I've been waffling about moving from Notion to something local/markdown based for a while. My only issue is that I really like using databases, specifically for moving through processes ticket-style, in Notion. Does anyone know if there's something similar elsewhere? I'm not familiar with the knowledge-base/wiki space, I just kinda fell into notion.
> waffling about moving from Notion to something local/markdown based for a while.
Check out Tolaria [1]. Open source, works locally, uses markdown, no-databases. Git client built-in. Even has Notion-style input.
[1]: https://tolaria.md
Looks really slick! I've been using Obsidian with git, and am thinking of moving back to the OG solution of simply using a text editor with a git repo. I'm wary of using cloud like google drive or dropbox for sync, especially if I'm using both phone and mobile to edit the same file throughout the day. I doubt using an external cloud really takes care of consistency and there's a possibility of losing data. Me being a developer can take the pain of a button click to git pull and resolve occasional conflicts. To me this is fully solved solution for note taking with tools I already know and trust. Having said that, I'm gonna try Files.md for some inspiration on what I could be missing.
Thanks for your warm words!
> I'm gonna try Files.md for some inspiration on what I could be missing For the most part I was thinking more about what I can remove :D
This inspires me. What kind of minimal feature set does one need to improve his thinking...
To edit Markdown files I want a nice simple native app.
We had those already more than a decade ago. Personally, I fondly remember Mou.
Obsidian has heavy Electron vibes, and Files.md is several steps more into the wrong direction.
The name is also bad. It feels like it was chosen because someone already had the domain.
Scope out minimal.app (or minimal.app/#beta for anyone who wants to contribute to the roadmap). Opinionated, native-only, extremely focused.
Nice project. People may also want to checkout Tiddlywiki.
Gods I love and loath Tiddlywiki. It has some of the most convoluted javascript written before javascript ever actually got all the features that made javascript convoluted. But it did the job!
> People may also want to checkout Tiddlywiki.
Also Zettlr
> Tiddlywiki
Love Tiddlywiki. It's amazing the amount of functionality it has, even if you use it in "one html file" mode. Great for making a web garden [1].
[1]: https://nesslabs.com/digital-garden-tiddlywiki
I ended up landing on https://silverbullet.md. It checks a lot of boxes for me,
- self hosted
- works offline (mostly)
- "just md" BUT
- scriptable or extendable by lua, rendered in page, eg `${1 + 1}` outputs `2`, but you can do a lot more, such as query pages and tags with a LINQ type query interface.
I've been using TrilliumNext (fork of Trillium project that is archived) and haven't been able to find an alternative I liked more. Only thing I don't really like is that it's not really stored in Markdown and since you have the ability to have notes in multiple trees it can get a bit messy when trying to move to other systems.
I tried moving to Obsidian Notes and found myself missing Trillium. It's nice to be able to just open the web browser and have access to your own self-hosted notes with an editor anywhere. You also can set it up so if you add a sharing tag to a note you can easily share a link to the note. I believe Obsidian allows similar but only if you pay, and it's also not self-hosted.
I've tried a wiki style approach before like Tiddlywiki, but I feel like it is a whole different concept of taking and making notes that often is a bit more cumbersome, but maybe it works better with how some people think.
I want something like this, but completely terminal based
Thank you for actually acquiring the .md domain corresponding to your software and avoiding some security holesof the future :)
I use .MD files, helix terminal editor with a markdown LSP called markdown-oxide that replicates the obsidian feature set (like bidirectional links, tags, making new notes automatically, two keys get you from a in-line footnote to the definition and back again, etc), and rumdl which is a super efficient and customizable markdown linter and formatter (semantic line breaks far the win!) . Since it is all helix I can jump around a huge web of interlinked files very quickly with only a few key presses, as well as inside a document and manipulate them en masse or in minute detail all with only a few taps. All of your standard open source terminal tools work with it, difftastic, bat/cat, zoxide/CD, ripgrep, fzf, git, LLMs, encryption, sync, etc etc. I use yazi for a visual filepicker and zellij for tabs. Run it on a server and connect from any computer in the world without downloading a single thing. I sometimes make use of two tools called rucola and tree-md for looking at prettier versions of the texts and seeing stats about how they interact. All open source of course!
There is no better interface for text than a terminal, and we are in the golden age. Despite being extremely powerful, this setup will run on resource constrained machines.
Right, but most people want to be able to consult their notes on the go, quickly add items from their phone, etc.
> There is no better interface for text than a terminal
It's a personal choice that cannot be imposed on everyone. Not everyone is a developer.
The one thing I need in a solution like this is multi-player mode that includes a simplified review/track-changes system that I can collaborate with my AI on these docs. Proof.sdk from Every Inc has an interesting approach on this. If I had more free time, I'd build it myself!
There's also https://logseq.com/
Or just use LogSeq https://discuss.logseq.com/t/whats-new-with-logseq-db-may-16...
That markdown mirror is a pretty neat feature. I've been using Trillium for my notes and the way they save/store the notes is actually one of the things I dislike about it even though I love the application itself. I tried at one point exporting everything to markdown and it worked... but Trillium allows you to have notes in multiple places but they exist essentially as just a pointer in the backend to that note. So it made the export a bit wonky as some instances of a note are just an empty shell and don't have the actual contents. So you have to try and move notes around to get their markdown files in the right places.
I've ended up still sticking with Trilium however as I like being able to have notes in multiple locations like this.
Same idea, but directly inside your terminal: https://github.com/RivoLink/leaf
I'm missing export in https://textbundle.org/ format.
"TextBundle brings convenience back - by bundling the Markdown text and all referenced images into a single file."
If you want to bundle your images in markdown why don't you just use an HTML section with the image encoded as base64 data?
Is there a way to follow inline links from a mobile device? Doesn’t seem to work for me in mobile Safari.
It is not very well tested on mobiles yet.
People use chatbot on the mobiles - way more convenient.
You can both read/write notes through the chat.
I love the simplicity.
Looks nice but seems overkill to me to run a Go server to sync with a telegram bot to authenticate. Maybe I don't fully understand the use case.
nice, going to point my hermes agent to this instead of obsidian
1) Very nice implementation 2) Very nice domain! Did you always own "files.md"? 3) Re storing things on your server, what is the security layer around that?
I have been building a slightly different solution to the same problem. So far I’m pretty happy with the results and I have enough returning users that I think others are too (https://sdocs.dev/analytics).
I’ve built SmallDocs (https://sdocs.dev; Show HN: https://news.ycombinator.com/item?id=47777633).
SDocs is cli (`sdoc file.md`) -> instantly rendered Markdown file in the browser
When you install the cli it gives you the option to add a note in your base agent file (`~/.claude/CLAUDE.md`, etc.). This means every agent chat knows about SDocs and you can say “sdoc me the plan when you’re done with it” and the file will pop open instead of you having to find that terminal session to know it’s done.
Going browser first means you’re not required to install anything to get a great experience.
Despite being in the browser, the content of SDocs rendered Markdown files remain entirely local to you. SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`):
https://sdocs.dev/#md=GzcFAMT...(this is the contents of your document)...
The url fragment is never sent to the server (see https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...: "The fragment is not sent to the server when the URI is requested; it is processed by the client").
The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment.
This also means you can share your .md files privately by sharing the url.
I've enjoyed exploiting the HTML rendering side of things which is possible by displaying Markdown in a browser. I’ve added tagged code blocks that the agent is given documentation on how to use. Eg ```chart or ```mermaid (for mermaid diagrams). These then become interactive elements on the page (mermaid is best example of this currently). See live renderings of these options here - charts gallery: https://sdocs.dev/s/yO3WbxFf#k=arcDBnizla5n437VFAeiQcwlu8kh_..., diagrams gallery: https://sdocs.dev/s/B_Ux11DV#k=KsvheEkiBFai6acnoIJnrOdfVRS5u...
I really like the look and feel!
Thanks a lot! I've been perfecting things for 5 years. A week ago I decided to open source it finally :)
That's the comment that made me check it out in more detail, as that sticks out from all the other projects that were built in a weekend in the past months.
Thanks! There's a lot to it, and for years me and my friends were using the project.
A lot of us built knowledge bases, and we enjoyed it all quite a bit.
are you still using the project?
This is neat. I dont get how sync works. Is it server side? Or is there some client side oauth flow? I dont see it.
another one in the same space: https://helixnotes.com/
Nice Project, I really like the look!
Thanks! I am glad you enjoyed it. For the past week alone, I made 500+ commits, fixing all sorts of UI/UX fixes to perfect things out.
I believe I put too much time into it during all those years, but I don't regret it. Because I use the project on daily basis.