Open Sourcing of Obsidian

PSA: One of the mods on the discord are claiming that people can actually see the source code of Obsidian within the app - haven’t tried this myself but just want others to know about it

Not sure about mobile

1 Like

The code is minified/obfuscated/packed so most keys and words are replaced by numbers, one letter variables, self-calling functions etc (as it should for production code for performence reasons alone). So it would be little help to assess anything :wink: at most it can help debug stuff when things go wrong.

1 Like

While I respect the developers decision to make the app closed source I really wished it was better communicated. I first learnt about obsidian in a thread discussing open source note taking apps.

The websites home page talks about how Obsidian is infinity customizable and how plugins are available on Github and tells you to “do it yourself”. Everything from the service model to the about page made me think it was open source and I only learnt it was closed source when I was reading a random reddit thread.

I realize that this was partially my fault for not doing any proper research but considering who obsidian’s target audience is I think it’s closed source nature should be mentioned on the home page.

2 Likes

I once misunderstood an app crediting it’s open source components as meaning that the app itself was open source, so I’ve made a similar mistake, but your assumptions aren’t their responsibility. If it doesn’t say it’s open source and it doesn’t link to its source code, it’s probably not open source.

5 Likes

I have run into an odd issue with Obsidian on Wayland where dragging and dropping panes doesn’t work. My system configuration is pretty niche (Wayland on Linux), so understandably the team can’t devote much time towards an issue like this. Still, it’s a big deal to me, and as a software engineer I’d love to just fix it myself.

I’ve spent several hours debugging the issue in the devtools, but working with the minified code is not easy, even after prettifying it. I’ve narrowed the location of the bug down to an event handler callback, but there is a lot of interdependent logic, making it difficult to figure out exactly what’s going on.

If Obsidian were open source, I’m pretty confident I could diagnose and fix the issue myself.

2 Likes

As I told in the BR, obsidian does not use OS specific code for handling events. I don’t believe this is an Obsidian problem. Nevertheless, you are welcome to join the discord chat and report you accurate findings to devs directly.

2 Likes

Personally, I downloaded the releases from a github repo that contained json files etc., so I (yes, mistakenly, but…) assumed that this WAS open source. I’ve gone on to invest a lot of time and effort into it, and even started developing a plugin for it.

Then it occurred to me that I should maybe create a fork of the code, just in case it’s ever taken down. And there IS NO CODE.

Yes, technically my mistake. Arguably very misleading on Obsidian’s part, though.

2 Likes

@McBob

  • You can just download a copy of the installer… Sure it’s not the source code. But if Obsidian went poof tomorrow, you’d still have full access to all your notes. Because it’s offline by default
  • It’s not misleading on Obsidian’s part. Nowhere does it state on their homepage that they’re opensource. Just because they’re privacy centric and offline first… doesn’t mean they’re open source.
    If they were open source, it would be advertised in big on their homepage or even in the title of their homepage in the Google Search results.
    Logseq does that, because they are open source.
    image
    image

Note that because of the open nature of markdown files. You aren’t limited to Obsidian. A handful of people are using both Logseq and Obsidian at the same time. Because they’re mostly compatible with each other to a certain degree.

I think your reasoning would be more valid if this was a cloud service that could shut down any day and all your data would be gone or inaccessible. That’s not the case with Obsidian. Even if the internet went away, you would still have access to your notes

5 Likes

Could you link the repo? I didn’t try all (there are many), but the download links I tried on Obsidian’s website all link to direct downloads (except one that links to Flathub for the flatpak).

No, you’re conflating data/app access with source access. I agree that the ability to access data via the app itself is important, but even if we had that written in stone, with a signed contract from the company saying that they’d always keep the binary available (or we simply backed up the binary), that gives no guarantees that it will remain an open platform worth investing time and effort in, or even that the app will continue to work on future platforms, like windows 12 or Linux 6. That’s why open source is important, and that’s what people assume when they find a git repo with a bunch of source in it.

Like I said, I was wrong to assume, but it IS misleading to post a non-source repo on github. No amount of protest will change the fact that most people think “github repo” means “source code repo”.

But yes, I’ve found Logseq and tried it out and it looks more promising as a reliably open source solution (and might even have a better fundamental architecture, although it’s more limited right now). Thanks for pointing it out.

1 Like

I’m not conflating, I’m just pointing it out…

  • it’s an electron app, generally those things keep working regardless of platform or are easily sandboxable
  • it’s not misleading. There are sh*t tons of companies that have github repo’s without being open source.
    Obsidian doesn’t mention anywhere on their homepage that it is open source or that it even has repo’s. The homepage mentions Github twice, once to show an example of Markdown usage and a second time to show that community plugins are stored there.

Again, it’s not misleading. You just mislead yourself

11 Likes

I don’t think that. I can link you hundreds of github repos used by closed source app just for issue tracking or documentation. You are ascribing to most people your erroneous assumptions.

14 Likes

I happened across GitHub - obsidianmd/obsidian-releases: Community plugins list, theme list, and releases of Obsidian. while doing something else. If that’s the repo you mean, it’s clearly labeled as not open source. The first 2 paragraphs of the README are:

This repo is used for hosting public releases of Obsidian, as well as our community plugins & themes directories.

Obsidian is not open source software and this repo DOES NOT contain the source code of Obsidian. However, if you wish to contribute to Obsidian, you can easily do so with our extensive plugin system. A plugin guide can be found here: Home - Developer Documentation

10 Likes

I am not like the multiple requesters here who (I assume) inspect every line of code in an open source project and recompile it themselves to ensure it is…what? secure? private? What are you inspecting for, if you are inspecting code? (I’m curious to hear how many people in this thread have actually inspected Logseq?)

But it actually is infinitely customizable, it does feature plugins, it is private, your notes are your own, and it is DIY friendly. So I would ask - on top of these things, what does having access to the source code add?

I am not a developer seeking to join the project, I’m just an end user. So the only purpose in open sourcing a software for me is 1. security, to ensure there’s no security/privacy threat vector, and 2. portability, to ensure that the project doesn’t hold my data hostage in case the project goes under.

I can’t think of any security or privacy concerns with the app. The app doesn’t speak to my network. My sync is achieved through a separate open-source app. I know where all data is going. They are not selling my data.

And I can’t think of any portability concerns. My data is all housed in text files that I own. I freely edit them in other editors already. I would just lose Obsidian’s nice functionality if the ObsidianMD project disappears.

I think the model works really well. I can’t see what open sourcing it adds for the average end user. Open sourcing it adds no features or conceptual improvements.

Open sourcing in this case would only enable other developers to try to join the project, or copy/fork it themselves, neither of which concerns most end users.

5 Likes

But it actually is infinitely customizable…

But without being open source the plugin API is magically unknowable unless we’re told how it works.

Case in point: Plugin.registerExtensions

I’ve been looking for a way to remove items that are registered here. I’m guessing I can use an empty string or null maybe, but without looking at the source I can’t possibly know, and thus obsidian is not infinitely customizable… in fact this lack of clarity prevents me from making a simple plugin that lets you open files that aren’t .md in text editors which should be a simple thing to extend a text editor to do right?.

3 Likes

I’m interested to see the public’s take on privacy as time goes on. It’s a big issue but it’s like climate change - not many people have time to care.

Either way, there are 2 roads we’re heading to and I’m happy to be part of the ride.

I would love obsidian to be open source some day.

What people really do not like is ecosystem binding, Obsidian is an ecosystem, not only about markdown and its editor. Think about those many community plugins and corresponding special format built on top of it. If one day obsidian start to be evil, your many markdown files with special community plugin specific formats will not render correctly in another plain md editor. Plugins are open source, but when you lose main program, those open plugins will have no stage to run by themselves.

The risk here is that, yes obsidian team is working in very agile and responsive manner now, but there is no guarantee that some day, main development team collapsed , and even worse, could be occupied by a big company with evil willing to perform ecosystem binding, like what microsoft bought github , and start to use the code base to train their AI and sell money. In that chance, even you want to open source, you lose the power to make decisions.

Above facts, happened commonly in community, developer knows, user also knows.

True concern of developer is that , developers need to make money, or how they feed themselves? Obviously , close source ecosystem binding is the pretty common and practical money guarantee profiting method, that is the real world contradiction. But when people get used to make money on eco binding, people will lose the sight to a fundamental truth: it is the contribution decided the profit, not binding. It is true value brought to the society brings profit, not robbing.

Personally I think a practical way to keep obsidian long live is to be practical on each stage.

  • in short term, a closed source manner is fit, then do it, but consider and dare to make some promise on the opensource.
  • half open source, in this stage to make source code read only to public through license control, but still grasp tightly the dev power within team.
  • full open source stage.

Maybe my comment in some way looks too arrogant, I would sincerely apologize in advance if words hurt. Wish obsidian has a long live future.

11 Likes

Sounds good and not arrogant to me!

I like your idea personally, seems very flexible and not pressuring to anyone in particular.

2 Likes

I disagree, the plugin ecosystem is separate from your notes. If the plugin ecosystem disappeared, I’d still have my content, which is 99% of what I care about. I would merely be losing convenient ways to sort and add to that content.

I thought the Obsidian team plans to open source the software if the company dissolves.

I’m still seeing mention of this, but can’t find documentation on it. However, if that’s true, most of the arguments in this thread are pretty moot.

1 Like

As has been said by many people, this topic has become somewhat oversaturated, repeated, and in general most likely tiring for the development team. I merely want to add my opinion, and I give my utmost respect for the devs work so far- it’s truly amazing how down to earth and in general not like big tech giants the obsidian team is.

In any case, here’s my two cents:

I’ve been using FOSS software for a while, and I believe I’ve got the chance to see the various benefits and downsides of it. On the one hand, open source projects have the potential to become great things, as is evident with blender, krita, gimp, redhat linux, and a whole lot of other apps which are open source, and still used in professional environments around the globe.
The other benefit which could arguably greatly help the obsidian devs is contributions. Yes, it may be tiring to manage pull requests, issues, and all that, but it opens the doors to allowing the community to contribute their own time into making obsidian better. Again, there are issues that come with this, such as a messy code base, the time it takes to review things, but in the end, I think it would overall be a benefit. Regarding some of the other issues, I have a proposed solution. More on that later.

There are, however, downsides. If the app were to be open sourced in the same way as many otheers, it would become incredibly simple to downright steal the app, simply by rebranding and redistributing it.

One last thing before my proposed solution. I can’t pretend to know everyone’s use case, but I believe that a decent amount of people using obsidian are neurodivergent. I don’t want to go entirely off topic, but I think that making obsidian open source would make it just that much more viable for neurodivergent people to use. Perhaps this is just my bias towards open source, but I can definitely see some very talented neurodivergents contributing to this project.
I have some other ideas about how open sourcing would be beneficial in light of neurodivergence, but to be honest they aren’t really fully formed thoughts, mostly just a gut feeling at this point.

But onto my proposed solution. I think some of the three biggest issues against open sourcing obsidian are as follows:

  • The probability of other projects simply copying source code and using it for their own projects
  • Monetary gain could grind to a halt, eventually making it impossible for obsidian to keep going as a company
  • it requires a lot of work to get started with open source, even for a very small project. If you want to do it right, you have to invest the time to do so.

So here’s my proposed solution:

Keep in mind that this is my very rudimentary first idea, and it is very much more written in the sense of spirit as opposed to the literal, legal sense, and this would need to be subject to refinement if it were to be used.

  • Rather than adopting a fully open source model, as in anyone is free to use the code in any project (so long as credit is given), use a custom (or partly custom) license with a few key points.
    • You are free to contribute PRs, issues, and other contributions to the obsidian source code, but cannot use it in any way shape or form outside of that
    • Code contributed is considered as under the obsidian license, and property of the obsidian team (unless in the case of points two and three, listed below)
      • As far as the concerns about contributors not getting paid for their contributions, I think it would be important to implement a ‘hall of fame’, showing the different contributors. I think that in conjunction with the program people use being improved is payment enough for contributors. I feel the reason contributors contribute is because they want the program to function in such a way that they can use it, rather than for monetary gain or otherwise.
  • Point two: If Obsidian as a company ever abandons their software (as in no longer gives updates, accepts PRs, or some other definition equivalent to stopping development), after a period of time (say, nine months after development stops?), obsidian will become fully open source, the code being available for others to fork and use as they wish.
    • I believe that at this point, it would no longer be an issue for it to be fully open sourced in this way, as if the project has been abandoned, the developers will most likely have moved on, and will no longer rely on obsidian as a means of income.
  • Point three: If obsidian adopts a pay to win model (as in the user must pay for basic functionality of the app) then the last version to continue their current model (the app is free to use with all it’s functionality, with the exception of publish and sync) would be fully open sourced like in the case of point two.
    • I think this is in line with the developers current view on the app, and would allay users fears that the app would be purchased by a big company like microsoft, and would then adopt a pay to win model such as ms office 365
  • The last point: I think a fundraiser as a kickstarter would be a great place to start. This would allow the developers to get a true gauge on how much the community is actually willing to contribute to keep obsidian alive in an open source model. It would also allow the devs to spend the time to properly implement an open source model, since they would be able to get paid for the time and effort they spend making obsidian open source.
    • The last points sub point: I know that I, at least, would be willing to contribute other things (Not just money- which I would happily contribute if the above plan was executed), such as time spent learning the codebase, volunteering and managing issues (while I may not have the skills to solve the issues at the moment, I would be open to looking at issues and figuring out the cause in order to let the developers actually develop, rather than spending time parsing through issues), or even possibly hosting a jenkins/travis/other CI/CD instance for the obsidian team to use. I may not be able to support the team directly with finance on a regular basis, but I am more than willing to give support in other areas to an app that I use on a daily basis.

Again, keep in mind that this is just my first idea, and that there are most likely flaws. I just think that this could have the potential to make obsidian a true standard, easily surpassing any other application.

Miscellaneous notes that I couldn’t fit anywhere else:

  • I think that obsidian has enough of a user base, and in general enough popularity that something like this wouldn’t just fizzle out, but could actually end up working.
4 Likes