- you can fork and adapt to your needs
- should the original authors stop developing it or take a direction you don't like but your started depending on it, someone can take over the development of a fork
- you can study how it works
- you can reuse some of the code to build an alternative product
- you can contribute patches if the project accepts them
- if you have to migrate, even if the format is specific, you can at least check how it works
That thing being open source is a big plus, and Obsidian using a standard format is a big plus.
That's why they're plugins.
I do use the Excalidraw plugin, but nothing much else, and that is why I have an easy time making my Obsidian notes web-accessible (currently, via SilverBullet, but any tool that makes markdown web-editable will work — as long as you don't go nuts with plugins, that is).
Having said that, I think the reason Obsidian "failed" — to the extent that Notion and some others have massively more adoption amongst organizations larger than me and my gray beard – is that they failed to combine their (super awesome) files-and-folders approach with a web editable solution.
They thought - obviously wrongly, in hindsight — that web accessible would be enough.
It's not. It's the 10%, Notion etc cover the 90% (but with fairly bad tradeoffs, they have export and it works, but you can't easily interop with your data where it lives).
But I've had such an easy time making my Obsidian web-editable that I suspect in a few minutes (or months) Obsidian will be like heyyyyy... edit yo vault via web yo — and for free! and then we will all be like woo Obsidian boo Notion!!
But we'll see
Also the UI for search and navigation is much better than just a collection of Markdown files. I rolled my own note system using Markdown before this. Obsidian is way better.
I don't think I would even bother to update a local patch on every releases. I'll just use another foss app without silly "pro" features.
If SiYuan stops being developed, are the files still readable/parse-able?
Obsidian has built-in support for markdown, images, PDFs, canvas (via JSON Canvas which they developed and open sourced https://obsidian.md/canvas), and others.
For databases, you can add fields/properties both in the markdown frontmatter or in the text and query it via very popular plugins:
https://github.com/blacksmithgu/obsidian-dataview
There are tons of community plugins that support all kind of stuff: tasks, kanban, LLM/Copilot, graph analysis of links, charts.
It can also be extended in JS, both writing your own plugins or via a few plugins that allow limited JS support.
---
Obsidian is actually quite good as a NoCode prototyping platform for personal apps :-)
E.g. CRUD:
- Use templates, via Templater: to define the content of your data
- Use links and tags to define relations and connections
- Use dataview or graphs for views
- There are even plugins to define buttons and the actions they perform, if you need commands