Anytype – local-first, P2P Notion alternative
anytype.io
anytype.io
The Anytype model is really cool - in a way, they’ve rebuilt Lotus Notes with 21st century E2E encrypted protocols and technology. They’ve built a really solid personal knowledge app with many of Notion’s features - and some clear improvements over Notion.
However they also demonstrate the complexity and tradeoffs of the E2E approach. Anytype has been a work-in-progress since at least 2019. Their docs still state:
> Future versions will allow you to share your work and safely collaborate with others
> There's no browser version of the app. Anytype is a stand-alone software, that works on desktop or mobile devices. There are many points of vulnerability in-browser apps that would compromise our commitment to data security and encryption.
Without these features Anytype is in a much smaller market (PKM) with less distribution than Notion/Coda/Dropbox Paper/Quip/Confluence/…
By the way, and this is just my point of view: we moved from Notion to Confluence because Notion has no free tier for small teams (4 people). We were working on a project for a not-for profit org and their money is always tight.
Since you already give Notion free, have you ever evaluating doing like Atlassian that up to 10 (or 5) people the thing is free?
They do have technical challenges implementing add-on services on top of content - For example, the grammar checker or any content assistance is disabled in E2E encrypted docs, which makes sense.
Surprisingly they support spellcheck: I guess they are shipping dictionaries to browsers and use a local lookup. (Google Docs doesn't rely on browser's dictionary because their editor is not based on `contenteditable`)
Makes no sense every app rolling their own and not using my operating system dictionary with my own corrections.
Extremely frustrating every Electron app just rolls their own rubbish spellcheck, or doesn't have it at all.
To me it makes no sense that software does not interoperate very well. I think most of this is due to the historical evolution of computers and software. A spell checker used to take up an insane amount of memory, a browser is a competitive product, and interfaces for proper interaction have to be standardized worldwide, for which we still lack some kind of governmental body.
Yes, yes, and no.
I mean I have little use for an OS without a web browser so yes. PDF viewer, Preview.app is infinitely better than Acrobat Reader so yes again. Spreadsheet I can give or take.
The idea of multiple teams all rolling spellcheckers to build upon the same input boxes is absurd to me. Should be as integrated into the machine as the cursor and caret imho.
Most electron and web editors that use ContentEditable should be able to use the OS spellcheck. Notion uses OS spell checking on web & Mac electron. I think on Windows there’s some weird issue we had to work around but I think we resumed using the OS dictionary, I’m not up to date on that.
That said, it would be interesting to see more actual OS development that innovated on supporting/encouraging more standards, without getting too proprietary or centralized.
> A spell checker used to take up an insane amount of memory
IMO they still do. At least anecdotally, with free software shipping with spell check that often makes up a hefty chunk of the file size.
And even ignoring that, for every program with its own spell check, you have all of the redundant spell check data, and then your corrections/additions aren't even shared. Nevermind importing them on a freshly installed OS, syncing them between devices, futuristic things like that :)
I would love to edit my textboxes using real emacs somehow, even a popup window would be good.
However, I think it would be difficult to create such an API without leaking information about what words are in a users custom dictionary (which could be used for fingerprinting). And allowing an app to add custom words would probably have some security implications.
Maybe if there was an API to open a spell check popup that was native to the browser and the only info you get is what word (if any) they chose to replace. But, besides having a suboptimal UX, that doesn't help you know which words to highlight as misspelled.
> Multiple collaborators can work on the same file at different times, but you can’t collaborate in real-time in encrypted files
I can tell you that e.g. the whole education market in the EU is waiting for something like AnyType, as soon as they have implemented collaboration, which is very high on their roadmap. As a teacher I just can‘t use Notion or any other US-service based on US cloud services. All claims concerning GDPR are nonsense due to Privacy Shield. I am not allowed to use such services.
Therefore I hope AnyType copies as many good Notion features so that I can leave Notion and its abysmal performance and lack of offline mode for private stuff as well.
I really like Fibery’s plainspoken marketing, but it’s not for everyone. They’ve toned it down a bit on the homepage to be more “professional” now which is a good sign.
I think Fibery’s UX is too complicated for most people. As a programmer I get all the data modeling stuff, but there’s still a lot of complexity in just the UI that I find surprising. Notion gets a lot of feedback that it’s “overwhelming” and I feel the same in Fibery. My impression is that the up-front cost to figure things out in Fibery is still a challenging barrier for the product.
I’m not sure how good Fibery is for writing or on mobile, or if it has any local cache for offline use.
I’m really happy that everyone at Fibery made it through the Ukraine war okay so far.
Asking because I'm currently working on a local-first app that I am gaming out how to sync to non-local networks: The docs state that the app syncs to local P2P networks. Does that mean it doesn't sync across the internet? If so, is that because of the cost of maintaining/renting a TURN server? Or is there a technical limitation? If it does sync across the open internet, are there restrictions to that?
Sorry for the grilling! It's just an area of interest at the right time. In trying to come up with a WebRTC solution, I think I've settled on defeat. The local network syncing works like a charm, but I haven't had any luck in trying to get around a TURN server by using an API endpoint to provide routing data. It would be nice if there were other prebuilts than COTURN (something deployable to a deno/node server would be ideal), but with what we currently have, I think I've settled on just pushing the encrypted data through my api server, letting users encrypt and decrypt with well-known hashing, based on some key they provide in each client (exporting client and importing client; they never exchange keys).
Anyway, my pet projects aside, this thing looks really full-featured! Great work here. I use Notion, daily, and this could easily replace it for me. In fairness, I don't take full advantage of Notion, but I doubt most people do either. Seems like you've covered enough of the bases to provide a real product for all but some edge cases, so that's pretty awesome! I'll echo others in lamenting a web app; that's what will keep me from switching from Notion, because its just not portable enough for the work I do. But, otherwise, I'm happy with it so far. Gonna try to plan some stuff in it and see if there are any creaky wheels!
They currently host their own backup node, so it does sync across the internet, but you only get 1GB of storage (or 10GB if you were in the alpha) on their backup node. Once that's exceeded, additional files are only synced P2P.
They're planning on providing extra storage for a cost and soon anyone will be able to self-host their own backup node.
I meant to ask if the app syncs P2P over the internet, rather than just through their provided storage.
My solution is to have short-lived data so that they can't reach more than a few MBs of memory on my server, but if there's a straightforward way to do P2P across the globe, I'd very much prefer that option. Asking people to believe that I can't look at their (encrypted) data is fine, but preventing me from having their data at all is ideal.
Given what you pointed out, I definitely figure they're not doing WWW P2P syncing, but you'd be surprised the technical stuff you can figure out by just asking someone who spent way too long building it. They're usually happy to tell you all kinds of interesting details (especially when it comes to 'interesting' bugs/workarounds/hacks)!
The bad news is that if you want something that works in all instances, you need a relay of _some_ sort, because p2p isn't possible/feasible in all cases. Bittorrent (for instance) works around that limitation by simply having many-to-many peering and relying on large numbers, to be reliable. But that doesn't work for 1:1.
The good news is that maintaining a relay (or TURN, with WebRTC), need not be expensive. Yes, you need a server, and perhaps some IP-based rate limiting, but that can handle a LOT of connections and small data.
I created https://github.com/betamos/rdv for this purpose, an extremely light-weight alternative to WebRTC, but for TCP only (BYO identity, auth and encryption). The p2p success rate is, anecdotally, very high. However, you cannot use it from a web browser.
Feel free to reach out (see profile), happy to chat about p2p whether or not you use this project.
That all worked fine but it required a token api, and then having to choose between "polling" and "websockets"; not a particularly appealing choice for me. So TURN servers seemed to be like the ticket, but I just couldn't find someone to say "this is what data a TURN server receives; this is how it determines its response; this is what the response data looks like". Without that, I was having a very hard time building my own TURN server. The only option seemed to be "use COTURN", which is not something I'm interested in. Not because I think it doesn't work, but because I haven't ripped it apart to know how to fix it if something goes wrong. As this is a side-project, I have the luxury of forcing myself to deeply learn each part of the data flow, so it doesn't make much sense to offload something I don't totally understand to someone's library (conversely, I've written an IndexedDB handler, so I use the Dexie library because if it completely falls apart in novel ways, I can still troubleshoot it). So I figured I would wait (it's been a couple of years now), and if no one got around to dumbing it down, I would start inspecting the data flow, myself, and try to replicate whatever COTURN is doing.
So if you can shed any light on how to make a TURN server, I am ALL ears! I do think WebRTC is the way to go so, while I appreciate a suggestion for an alternative (and one that you personally use is great, but one that you personally build AND use is pretty much the gold standards for reccs, so I really do appreciate it!), I don't think it's helpful for my intentions. My project is also web-based (first), so while I'm not averse to a wasm library implementation of TCP connections (mad stuff recently with the curl support!), it's a bridge too far, to start with. In the mean time - like you said - I'm not concerned about the cost of a TURN server. I know that most apps can get by on free-tier cloud hosting limits, when you're talking about those little chirps of data. So I'm happy to build and pay for what it takes, I just honestly don't know how to do it.
Yes, then it's a no-go. No excuses needed.
WebRTC is the only way to reasonably do p2p on the web. This is because of the lack of "raw" sockets and their options (just regular TCP/UDP with SO_REUSEPORT).
> So if you can shed any light on how to make a TURN server, I am ALL ears!
You'd know better in a few minutes of reading the docs, sorry. I will say, pay attention to the requirements - for instance, listening on arbitrary ports, getting the "real" port from the client, even stateful connections etc, aren't always possible on cloud services (the more "managed" the marketing, the more restricted).
> Not because I think it doesn't work, but because I haven't ripped it apart to know how to fix it if something goes wrong. As this is a side-project, I have the luxury of forcing myself to deeply learn each part of the data flow, so it doesn't make much sense to offload something I don't totally understand to someone's library
I empathize deeply with this. In fact, that's the main reason why I built rdv. WebRTC in particular is, imo, a nasty piece of over-engineering. It basically throws together a bunch of separate "protocols" into one. It has way, way too many knobs, and many things are stateful. If you do go down the route of reimplementing even a subset of WebRTC I recommend getting an insurance for your keyboard, one that covers physical violence, (but if you do, I would be very curious about your learnings).
Finally, my words of wisdom would be to avoid p2p if you have the luxury of having a small amount of messages. Just running a simple "relay" of encrypted messages is reliable and cheap. Users are still protected by e2ee.
And why do I need to login for an offline app? Where does the data really go? There is some setting remote storage, and some mb already used, so is in reallity an online-app with some offline-mirroring? But it seems there is not a choice to set the local storage-path, and the saved files are just your usual electron-blob-files. Seems there is no way to really access or control my files externally.
This doesn't give much impression to be trustable.
Self-hosting only without a backup node is currently unavailable
The self-hosting-only feature is not released yet. If you don’t want to use Anytype node and instead use p2p sync between your devices, you can block Anytype network traffic (Anytype & Anytype Helper) via your firewall.
From https://doc.anytype.io/d/data-and-security/data-storage-and-...it's one of the key features of the app that most other alternatives lack, it would be weird for them not to mention this
> And why do I need to login for an offline app?
it's not offline only, it can sync to your other devices over the internet
> Where does the data really go? There is some setting remote storage, and some mb already used, so is in reallity an online-app with some offline-mirroring?
it's stays on your devices, unless you pay for dedicated backups of your data
> and the saved files are just your usual electron-blob-files. Seems there is no way to really access or control my files externally.
your data is encrypted, which is why you can't just access it via your file manager
hope this helps :)
That's their claim, but it doesn't hold up much so far.
> it would be weird for them not to mention this
There is a difference between mentioning it, and using it as a selling-point.
> it's not offline only, it can sync to your other devices over the internet
There are many apps who can sync, most of them have it as an option, without a forced login and hidden sync.
> your data is encrypted, which is why you can't just access it via your file manager
So I can't even access my data and must trust in the app to not screw up, and have a well working export. Which considering it takes Notion and its poor export as inspiration, is not really a good sign
> hope this helps :)
Yes, thanks.
are there any arguments?
>There are many apps who can sync, most of them have it as an option, without a forced login and hidden sync.
We don’t have any forced login. It’s just basic keychain that generated on your machine, that only can use, and can use off-line. It’s a way do deal with encryption. Where you see a forced login?
>So I can't even access my data and must trust in the app to not screw up, and have a well working export. Which considering it takes Notion and its poor export as inspiration, is not really a good sign
we have described our data format, so your data is yours, you can write any adaptor to read/write
Then how can I use the app without creating first an account and space which will sync my data without even asking? You talk about trust and offline-first, but the first thing you do is uploading data and don't even talk about it.
> we have described our data format,
Where?
BTW Don't reinvent menus. I just now realized that File->Close does not actually close the app, like in any other app. And for whatever reason, there was no information about the App still running. Kinda sus..
It's not an account you create in a classical way using a server. It's locally generated data wallet ( we need it for encryption and sync). We talk via on-boarding that your wallet will be synced, and that your data is encrypted only with the key generated on your machine. It's for people who don't want to mess with self-hosting. If you want you can make your build from GitHub, disconnect sync, or just self-host yours. This way our promise works.
> we have described our data format
we have a GitHub! here it is https://github.com/anyproto/any-block
> BTW Don't reinvent menus. I just now realized that File->Close does not actually close the app, like in any other app. And for whatever reason, there was no information about the App still running. Kinda sus..
good point!
All your data primarily syncs to the encrypted backup node in the current alpha. For alpha testers, the application is always connected to the backup node and cannot be disconnected.
Their homepage could tell this more clearly. It doesn't look like it's in alpha.[1] https://doc.anytype.io/d/troubleshooting/self-host-your-back...
EDIT: How can I see which nodes are in the network? There's only one ID on https://networks.any.coop/ and I don't know what to do with it.
Regarding the list of nodes: we don't show it in the interface now, but will add more network information in the coming releases with simplified self-hosting. For now, you can see the list of nodes in the code: https://github.com/anyproto/anytype-heart/blob/release/core/...
If you want to dive into the details, information about the underlying protocol and configuration formats can be found there: https://tech.anytype.io
Data-independence may be one aspect that's not transparent. Compared to https://obsidian.md/, I can't just use raw Markdown or CSV file with Anytype. I've paid Obsidian $300+ just because it's data independence with a few obvious strings attached. By the same token, if I pursued a local-version of Notion for my team, I would also want the same freedom that local, open-standard files offer.
If we were to store markdowns only with linking and no advanced tables, do we need any advanced app on top?
Moreover, the statements just meant you don’t have to take our ‘words’ for it, here’s the proof. And in a different context, developers explained their motivations and what they’re inspired by, to work on this kind of software. There’s absolutely no over the top ‘marketing’ to any type as well, as they explained in different post, they don’t want to market, buy built in customer base with VC money and so on.
Please don't advertise anytype as open-source.
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
You are available on Github which doesn't = open-source
Also why only most and not all?
All the kerfuffle related to ‘official’ definitions, did it help open source projects from being copied and commercialised mercilessly by closed source software (essentially legalised spyware) of corporations? I never understand this obsession.
Software should be open sourced and it should have strict copy left clause!
Relevant idea related to problems with copy left explained here https://www.osnews.com/story/25469/richard-stallman-was-righ...
Some things I would like to see would be alternate card previews for objects, and perhaps some options on organising/separating disconnected graphs, but I would be perfectly happy without, the functionality present is wonderfully spartan and I think I'd weep if it became a feature behemoth like Notion.
People want a thing, not an ideal, and they'll sell their soul to get the thing. At this point, it's actually being surprised by this that is the ludicrous position. Philosophies are a differentiator for a very small portion of population.
If you want them to buy into ideals, you've taken on two problems: Make a thing they want with its own differentiators outside of the noble pursuit, _and_ trojan in your principles.
But with Notion in particular, and how heavily they're pushing Notion AI, I could see some c-level exec types being uncomfortable with the idea of Notion (or any managed/hosted service) to store trade secrets, company IP, etc.
When a company is pushing AI features as heavily as Notion is, it raises questions how Notion is planning to (or already using) your private data for fine tuning, model training, potentially scooping up your company's IP in the process.
I wish. "Hacker" news has nothing to do with that.
So, welcome to Hacker News, where the particular esoteric principles discussed here are critically important for many of us. This is very much a selling point in this market.
we agree, we have an internal mantra "people use products, not protocols". This does not diminish the importance of philosophies. The way we design our product and protocols is based on principles, because of the role software started to play in our lives - the second order consequences of the architectural choices lead to the results we get in our social life. We are believers of fundamental digital freedoms (privacy, ability to connect with those we trust) and importance of user and creator autonomy from the software provider (these freedoms to be governed by us not by software companies). We used these principles to guide our architectural decisions.
At the same time, we fully understand that if we want to build something meaningful we need to do the hardest part. Turn our ideals into the UX that would be attractive on its own. We are focusing on that. Hope to show that the p2p protocols can turned into a product that is fun to use. We are just making our baby steps towards this (not there yet)
It seem to focus too much on individual collections and pages and investing time upfront thinking about how to organize and navigate.
Awesome replacement for some things I had in OneNote, thou. Like an easy personal wiki.
But logseq (and as a second choice obsidian) is taking my heart because the activation energy cost is really low to just start writing notes, the flow seems more natural.
It's really an alternative to notion and maybe onenote, but not to whom just want to write more freely and easily finding things later then reorganizing what it's still important with some plugins and keyboard shortcuts (auto/semiauto moving blocks from one md to another).
For instance, daily notes: I don't want to put a title. Just give me the current date, and ability to see previous days in a few keystrokes, some tags for the blocks I'm taking note, that will help me find the related blocks and pages later.
The P2P sync is what made me try the first place. It's working fine, nice!
I did a similar thing with logseq + syncthing, and all my notes are plain files. I can't find the format anytype is using. The local working folder just looks like a standard chrome/electron folder with everything inside. Unusable for my own backup purposes.
Nice to know about in general, ty!
Don't know where to put the idea, note or just a scribble? You have a 2022-05-12 page without the cognitive load or confusion.
At the very least Zim has had the same journal feature dating back over a decade. I'm sure others can't point to similar software stretching back at least another decade before that.
And I still don't have that promised knowledge-tool-of-the-future in my hands, just some hype with note graphs, prolix bloggers and their 'creative mentation', yet none of the implementations (not the concepts themselves) have proven to be any sort of breakthrough, or usable enough, where commercial last-generation notetaking and journaling tools managed better at a certain point.
It's time to get real, folks! If they can't deliver on their promises, they don't deserve our attention. I'll stick with what actually works, even if it's not as flashy. Rant over.
At this stage, having seen so many of these things, I'm comfortable disbelieving them outright WITHOUT reading further.
Questions: Is there a way to get at the underlying documents stored in Anytype? Is there any path to a web accessible version for clients too small to host the full dataset? Use case is to host around 50GB of notes, records, and photos in one place.
Roadmap on GitHub: https://github.com/orgs/anyproto/projects/1/views/1
every time i open the app, which uses electron btw ;(, i catch myself looking at the explainer videos sent out, explaining all the concepts, it's a tool that (for me personally) gets in the way of actually doing anything a lot; maybe there are people for whom this is an optimal setup, but if you're looking for a privacy-friendly google doc alternative, this is not it imo
a libp2p based wysiwyg or even a plaintext app with p2p sync + works offline + encrypted + cross device sync + collaboration with other users would be invaluable
If it really is just a local-first, rich text editor with syncing, searchable documents that you need, there might be something on the horizon. But if you need a full blown document editor, that's a bit of a different story.
Anything more than formatted text and inline images changes the scope in pretty exponential ways.
i do understand it now, it's more like i don't have a use case for a graph structure to my documents/files, and since i sort of went exploring anytype while retaining the initial positioning of the app (p2p google documents), i was somewhat disappointed
Everything gives the impression of being clickable and not even half of it is.
Then I click on "crazy fast loading times" and a slow popups overlay appears.. the slider and the animations are feel deliberately annoying - slow slide.. when a slide is in the center it stops.. takes a deep breath and then is beeing reminded that it has to load it's three arms and bubbles... and all that for explaining in 2 sentence what open source is.
(And the overlay not being dismissable with ESC is annoying)
My main gripe with Evernote now, is that in its effort to be a collaborative app, there is a lot of network latency for edits on my mobile device. By comparison, NotesNook is local-first and super fast.
Local-first architecture allows for better control over what you are storing. For me though, local-first architecture lets me take notes with little latency, and I don’t have to wait for timeouts so that the app realizes it is offline. I just want to get to typing in my note quickly and think about syncs later.
EDIT: Aha, https://github.com/toeverything/OctoBase
That said, AFFiNE also appears to be genuinely open source, while Anytype is only source available.
What about importing Evernote into AFFINE? Do such tools exist?
It would be nice if you would let me opt out of all of your telemetry. I know it's useful for development but I've had to block outbound requests to Sentry, Amplitude, and Graylog already.
I would also like the ability to entirely disable cloud-anything, including backup.
The Apple and Android apps work well too. They've been planning to open source it from the beginning, I'm glad it's finally here.
I'm using it as a very basic note system, nothing fancy like others are doing though.
It sounds like a P2P shared note and document app but it's not clear to me.
One thing that I did with it was make a Recipe type that has any number of Ingredient types in it, takes any number or arbitrary Dietary Restriction tags (e.g. Gluten, Dairy, Vegan), and takes parameters like cooking time and number of servings etc. So not only is a Recipe a note that explains how to make it, but it has a template with the boilerplate information pre-filled so when writing down a new Recipe, it's faster, and it has all that metadata, which allows you to construct Sets from the Recipes.
For example, I can have a document called Quick Vegan Crowd-Pleasers that is a Set of all vegan Recipes with cooking time under 30 minutes and 8+ servings. If I really wanted to go psycho mode with it, I could track every ingredient currently in my kitchen and filter recipes by what I can make with what I have on hand.
You can really do a lot with it. It's just time intensive to set up and also to keep up with entering data.
So, instead of forcing a person to think "which app do I need to start getting some ideas sketched out", the app wants people to use it and then do whatever makes sense to them as a means of dumping all of the disparate knowledge into a bag so that it can be recalled, even if unstructured, later.
In an idealized example: if a writer got an idea, they would whip open the knowledgebase app and then...
- they might begin writing a list of characters and start detailing their relationships.
- they might upload a few photos of their local environment for remembering setting details, later.
- they might open a 'canvas' and put together a rough drawing of a new spaceship design they're mulling over.
- they might start working out the economy of their world by drafting an accounting table and assigning the trade networks.
The idea being that if any one of those tasks leads to any of the others (an inevitability), it's nice to just be able to scroll down the page and start on the new data without having to think "okay, which app do should I put this in"?
So, overall, it's about velocity of data recording. Some people just don't work that fast, or would prefer to consider HOW to think about an idea before they want to consider the idea, itself. So, for them, this may seem a bit like overkill. But there are definitely people whom can be far more productive if they can bounce around storing data as it surfaces in their mind, rather than when they have time to categorize it.
And then it has a ton of more features, almost too many too mention.
Anything apart from simple unformatted text is (in summary) called a component.
It has a wide variety of components. Some of these components have a level of intelligence to them. Some of these components are references and links to information in other notes. Some of them are intelligent components that selectively show information in other notes. Some of them are intelligent components that selectively show information in other components.
Components can be tables, formatted headers, lists, dynamic content, charts, “views” similar to sql views, etc.
That is all I know.
[0] https://github.com/anyproto/anytype-kotlin/blob/main/LICENSE...
"Open Source" already doesn't cover these special licenses, instead, the "source available" is used. Any also acknowledges this actually - the license they are using is called the "Any Source Available License 1.0".
The term "open source" is not referring to software with a free license, but to software whose source code is available to the public irrespective of license [1].
[0] https://www.gnu.org/philosophy/floss-and-foss.en.html
[1] https://www.gnu.org/philosophy/open-source-misses-the-point....
The FSF article directly follow with this, which contradicts your claim: "However, the obvious meaning for the expression “open source software” is “You can look at the source code.” Indeed, most people seem to misunderstand “open source software” that way. (The clear term for that meaning is “source available.”) That criterion is much weaker than the free software definition, much weaker also than the official definition of open source. It includes many programs that are neither free nor open source."
And the OSD also disagrees: "The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software."
Terms that can be summarized as "whose source code is available to the public" are called "source available", even by the FSF.
[0] https://github.com/anyproto/anytype-kotlin/blob/main/LICENSE...
See: https://www.gnu.org/philosophy/open-source-misses-the-point....
I don't blame you, it's a bit schadenfreude on my part because "open source" companies try to dress as free software but aren't
There are broadly two camps: Camp 1 who advocate for free software & free software alone, and Camp 2 who advocate for "open source" being an all-encompassing umbrella term for a few things, including free software. Those in Camp 1 are typically not supportive of the goals of those in Camp 2. Those in Camp 2 do often try and equivocate the two terms.
It really is the whole point of it, define more clearly what criteria must be fulfilled for software to be considered free software.
Is this a typo?
[0]: https://www.gnu.org/bulletins/bull1.txt
[1]: https://news.slashdot.org/comments.pl?sid=1129863&cid=268758...
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
Let's see https://opensource.org/definition-annotated/, _the_ definition for open source, specifically the sections titled "No Discrimination Against Persons or Groups" and "No Discrimination Against Fields of Endeavor":
"The license must not discriminate against any person or group of persons."
"The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research."
So what GP claimed seems to be exactly Open Source's point, no?
DaVinci Resolve is not source available. Anytype does not restrict you from forking the code as long as it is non-commercial. And it also lets you fork the code for commercial use, if you take their permission.
So it is simply a non-commercial open source license, with permission required for commercial use. Sure, not OSI Approved License™, but certainly "open source". If this was not "open source", neither would be GNU GPL, because it isn't permissive enough.
This is no different from Qt's dual license except that GPL allows commercial use too. Or, like Creative Commons NC licenses, but for software.
Open-Source is a generic term. It's the opposite of "closed-source".
The OSI is on the record on this: https://opensource.org/pressreleases/certified-open-source.p...
The only people who want to push the whole "The OSI's version of Free Software" defines "open-source" rather than "OSI Approved License™" are the Anti-Property GPL folks that never liked the term "open source" anyway, the trolls that want to force other people to work for free, and the people at the OSI
Any hacker news link?
This is a highly subjective take - it might be better to stick to objective dictionary definitions.
This project clearly isn't open source, & shouldn't be advertised as such, but on the other hand the intent here is a common/popular one these days, & its not the first of its kind: I'm surprised no-one has yet coined a term for this relatively new breed of "faux-pen source" or whatever it is.
Fwiw I do think it has it's place - it's certainly more than preferable to all rights reserved.
So, my kneejerk reaction to this deceptive use of open source is to just say "no" and move on. However, I read through your philosphy, and I have a question.
> considering the substantial R&D resources required for the application layer, we believe that businesses and networks utilizing our software for commercial purposes should contribute towards its ongoing development, allowing maintainers to support and enhance the platform.
That seems to be the crux of the concern here. I can respect that. So, why do existing open source licenses not suit you? For example, you could release the software under the AGPL, and still dual-license it as you wish.
Rather than assume bad faith, I'm going to give you the chance to correct yourself. At the very least, calling yourself open source at the moment is deceptive, whether you realize it or not.
On top of that, the license itself is actually incredibly restrictive. I’m not a lawyer, but my read of the section on economic value seems very broad:
> does not include uses where the Software facilitates any transaction of economic value other than on Allowed Networks.
My read of “facilitates any transaction of economic value” means that I would be in violation if I used this to keep track of trading cards, made a grocery list, or tried to keep track of what I want to buy my friends for their birthdays. At least it would if I installed this on my home server and accessed it from the couch on mh phone.
If not, you should really talk to a lawyer first about this. Preferably one with knowledge of open source licensing. New software licenses are tricky and should be done by a lawyer and not by random HN comments. (Even if this is an overly well informed set of users on software).
As such, "most repos are open source" (from what I can see: MIT, some forked ones Apache 2.0) is nice, but the end product still isn't open source according to OSD.
There are people who value using "Open Source" for OSD-compliant licenses only (I tend to agree with that notion to keep things clear), but I didn't really want to discuss this: It's your project, after all, license as you wish.
I just wanted to provide a heads-up that the use of "open source" in the header here (and the front page on your site) doesn't match the expectations of a bunch of folks, so they know whether to look closer or not based on that.
I see how making the entire situation transparent muddies the message, but "Everything is Source Available, many parts are Open Source" would already clear things up a lot.
Unmodified, modified, whatever.
I don’t think that was your intent, but that’s exactly how it reads. Or maybe that is your intent?
Why do you think the GPL is not compatible with this?
Plus, they can always offer other licenses in addition to the GPL (or really AGPL would be a better fit for their concerns). It’s their software, so they can license it to anyone with whatever terms they want. (Assuming there aren’t outside contributions, but even that can be dealt with)
Yep, that's exactly what I was thinking. They're clearly offering alternative licenses to the one in the public repository. There is no reason the same tactic couldn't be applied with the GPL.
To prevent paid sync services, you should license your protocols and data formats in AGPL, which requires derivative work (third-party sync services) to be open sourced.
The client app in contrast, should be fine even in permissive licenses.
Our objective is to foster a collaborative atmosphere, co-creating with the community. The size of the community matters to us; when it reaches a significant scale, we want to make collective decisions regarding licensing, reflecting a democratic approach.
Antype, a creation of our non-profit organization, is aimed at sustainability rather than becoming another digital ghost. Our mission isn't simply to exist, but to thrive and make meaningful contributions to the open-source landscape. By intertwining our growth with that of our community, we're setting the stage for a sustainable future.
If a subset of things you do are open source, that's great. Say that.
> Our philosophy surrounding open-source is uncomplicated and clear.
It does not appear to be the case that your philosophy surrounding open-source is clear. You state very clearly, without caveats, that the product is open-source, which strongly implies that the product is, well, open-source without caveats – and this is not the case. That feels rather disingenuous, if not deliberately dishonest.
It is not unlike printer manufactures loudly proclaiming a page-per-minute value without any note about that rate is only attainable feeding entirely blank A6 sheets out of the device.
Your "reserved right" to define what a word means to you... puts the work to somehow figure out what you mean onto the reader. This isn't quite nice. The speakers are the ones that should strive to make themselves understood in the first place.
I don't have any love for "open source" since it is just "the part of Free Software that appeases people in suits", but please, use the thing as it is.
I do think open source business model, especially consumer, is difficult to tackle, while protecting the creator
So congratulations and good luck
> When will VC companies stop *conflating source available with open source*?
*Misrepresenting* "open source" is the problem. "source available" is the correct phrase
However, I strongly support the kind of license (in principle) that this software is released under. Source code is available for anyone to inspect, modify for their own use, contribute to, run locally for their own benefit. The main restriction is so clearly obvious: you can't create a commercial competitor. You can't take their code and with minimal effort or minor changes create a competing app and sell it to others.
This to me seems like a completely sane license. So common in fact that creative commons asks two basic questions when they recommend a license: "Allow adaptations of your work to be shared?" and "Allow commercial uses of your work?". In fact, they differentiate this difference with the moniker "Free cultural works" [1] (those that allow commercial use are termed "free").
I'd like to see the same nuance in software licenses. A difference between "open" and "free". That way, we can avoid this bickering in the comments where those who really want completely free software (free from all restrictions including those against commercial use) won't jump down the throats of those who want to open up their source while protecting themselves from competing commercial use.
1. https://creativecommons.org/share-your-work/public-domain/fr...
You don’t have to pay, and you can see the source code. But, in my quick reading, I don’t think you can make modifications, distribute modifications, distribute unmodified versions, and there is a restriction on how you use the software (non-commercial only).
This is the same type of license Microsoft gave certain large (TLA) customers for Windows, IIRC. I believe they called it “shared source,” as in they shared a copy of the source with you, but you couldn’t use the source for more than review. No one would claim that was open source.
There are differences between free, open, and available. This is only the later. No one cares about what license something is available through. Authors get to do whatever they want. People only care when you try to claim one thing, but it is really something else. In this case, the company is trying to use the term “open source” as a selling point of their software, when it isn’t. This license doesn’t even match the definitions they use on their own site!
I’m happy the authors want to make it possible to audit their software. That’s a laudable goal. If they want to restrict usage of the source code to non-commercial use, that’s fine and up to them. Just don’t call it “open source”.
Just because something is free doesn’t make it open. And just because something is open doesn’t make it free (as in freedom or beer). Similarly, just because something auditable and available, doesn’t make it free or open.
The fact that the authors don’t know the difference (or are potentially misrepresenting the difference) will only make the community mad - especially the part of the community that would care about seeing the source code in the first place. If they instead were marketing the project as “source available” for auditing or non-commercial use, this wouldn’t have been an issue.
> Any Association grants you (“Licensee”) a license to use, modify, and redistribute the Software, but only (a) for Non-Commercial Use, or (b) for Commercial Use in Allowed Networks.
IANAL, but I thought transferring rights was required to redistribute a work. If someone downloads this software from me, I can’t give them a right to use that software. Only the original authors can do that. And even if an earlier clause says that I can redistribute, this cause suggests that I can’t.
As it is, this is a software license that I wouldn’t touch.
But even if I am wrong on this point, the rest of my argument stands. With the restrictions on use, this is neither an open nor free (as in freedom) license.
(Side note: this is why new authors shouldn’t roll their own licenses. Ambiguity is not what you want to see in a license agreement.)
I don't see it. Commercial use there is defined as "where the Software facilitates any transaction of economic value other than on Allowed Networks". As I understand, it means financial application.
I support the use of alternative business models like source available, Business Source License etc. That's fine. But you should accurately describe your licensing. They should have said "source available".
I guess probably an unpopular opinion here, but I don't see why "open source" must imply that anyone should be allowed to fork the repo and sell it.
Because that is the definition of "Open Source"[0]. As was already said, "source available" is the correct term here.
[0] https://en.wikipedia.org/wiki/The_Open_Source_Definition
They are a single organization, that have done a tremendous job at trying to come up with a global and shared legal framework to which people can license code under. They have gone so far to come up with a pretty good definition of "open source", but not the definition.
This would be equivalent to saying that "Freedom" is defined by the US Constitution or the Canadian Charter of Rights & Freedoms. It is not, those are both examples of a legal definition of freedom, but neither are the sole authority for the global and cultural concept of "Freedom"
The idea of freedom existed before both documents. The idea of Open Source was proposed in 1998 [0], and the OSI was created to define it in the same year [1]. This is not at all equivalent.
[0] https://en.wikipedia.org/wiki/History_of_free_and_open-sourc...
Apart from 20+ years of historical use in that way?
MIT license restrict commercialization. Is the MIT license not open source then?
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
https://en.wikipedia.org/wiki/MIT_License
Open source software licenses have always allowed the licensed software to be resold by others. The very first criterion in the Open Source Definition is:
> 1. Free Redistribution
> The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
The "Any Source Available License 1.0" is not an open source software license because it restricts commercial use, but it happens to be correctly named because it is a source-available software license. Source-available software (such as Anytype) is still preferable to proprietary software with little to no source code published (such as Notion), since it is easier to audit software when the source code is available.
Background: https://github.com/n8n-io/n8n/issues/40
It'd be nice if the OSI or the open source community addressed this issue head-on, but so far they refuse and insist nothing is wrong. This refusal leads to a proliferation of almost-open-source licenses that just muddy the waters.
If they continue to refuse I think we'll see more and more of this until the definition of open source becomes hopelessly muddy and the whole community starts to wither.
Obsidian can be made to work like Notion and vice-versa, but I see Obsidian as more of a hypertext environment/wiki creator, and Notion as an integrated environment to interface with different ways of interacting with knowledge-focused objects.
I prefer Obsidian largely due to its simplicity, and the fact that it maps really well to how I think. Notion is also incredible for what it does, but it's too much for my brain, and the app is still a bit too slow for the speed with which my thoughts can escape me.
Anytype purports to be like Notion.
And unlike obsidian, Notion has no direct mechanism for extension, which means there is no way to modify the app, or extend Notion-Documents with new types of data. There is an indirect way, by embedding urls, which comes with some limitations, and ultimatly it means you are depending on other servers, which comes with some more problems.
Not sure how anytype supports extensions.
From the docs on self-hosting. I am not a security expert, does anyone know if this is still considered safe? Feels weird that anyone can download my data, even if it is encrypted
https://devboard.gitsense.com/anyproto
https://reviews.gitsense.com/insights/github?q=pull-age%3A%3...
Looks like Jira is used for issue tracking, so insights for issues and comments will be incomplete. There also appears to be a good mix of seasoned contributors (2+ years) and new (look for the gift icon in the review tool to see how long they have been contributing).
Full Disclosure: This is my tool
Thanks for the feedback.
In response to this, I've developed a "read later" app based on CRDT. The following are my expectations for knowledge management software, as well as the goals I had in mind when designing this application:
1. I want my data to be stored locally so that I can access it anytime and anywhere, thus eliminating the need for expensive hard drives.
2. I hope the software can be purchased for a one-time fee, rather than by subscription. Since all the data is stored locally, this indicates that there are no additional costs for the developers. Therefore, I believe a one-time payment would suffice. At the same time, I'm open to the game DLC model, where enhanced features can be obtained through additional payments.
3. I hope the software can support synchronization so that I can access the most recent data on any device.
Maybe some kind of P2P network support web browser - without someone's server - would be nice but this does require so much more work, I assume.
Also the local first approach here just seems like a local storage on a disk. Not great. Essentially if I move notes from notion to here I am going from a service that has a clear API and understandable storage policies to a model where the data is some binary blob on a p2p network.. Idk this to me seems I would effectively have less control over my data.
We are genuinely implementing a local-first approach. Why do you have doubts? We have a clear description of the data format, which is MIT licensed. Feel free to write and read. We hope that data adaptors will soon be available with the help of the community. You have full control over your data. Compile your version, and that's it.
What does this even mean? How does having a mobile app mean more security than a web app?
Are they worried about browser extensions? Or is this just an excuse not to host on the web?
I see this as a necessity for software like this. It's the one feature that Notion has that the competition doesn't seem to have, and it's absolutely crucial to everyday work for so many people. It seems to be a blind spot for programmer-types, I'm guessing because they see Excel as limited?
The formulas for databases like Notion has is actually the second-most requested feature right now and is tagged as Acknowledged, so hopefully we will get it soon.
They have a pretty good [writeup](https://coda.io/blog/productivity/tables-not-spreadsheets) on why "spreadsheets" were avoided in favor of more traditional "tables" (a la RDBMS).
Made me miss onenote...
Well this release doesn't but it's kind a beta by the look of things. Team wiki/company knowledge is definitely on their roadmap and one of their major selling points.
Moved on to Zotero and text/plain files for my notetaking and journaling needs ever since.
Are there tools for importing from Evernote?
Does this have mobile apps?
And I assume, if I want to back it up somewhere, I can set up a peer that would sync from my devices?
A UI specific for journals is a huge selling point for me. That's like 80% of my use of Evernotes.
Can I do the same here
It can be used to write notes and share them between devices, it can be used in offline mode, it is cross-platform, it has acceptable navigation and more or less good editor with proper code highlighting. Also, you don't have to share your content with server owners.
The UX isn't that nice at this point (especially the graph view which is totally useless if you have at least hundreds of objects) but, again, that's something acceptable and it's free (at least for now).
I did want to echo some of the points already raised regarding licensing.. From the outset, when I heard of the Anytype project some time ago, the whole thing that got me excited about it, and why I've been following it so attentively for so long, was the promise of an "open source, privacy-first, p2p, Notion alternative". While I'm sure we can all respect the licensing model you've settled on from a commercial perspective, and being source-available with select open source components is far more welcome over a fully closed model, it clearly does not make the project as a whole open source. While that's quite disappointing, it's positive to see you're acknowledging this and tweaking how you present the open source nature of the project to accurately reflect!
I did just want to ask however if you might have considered a licensing model similar to a project like Sentry? They also fully open source select components under permissive licences (MIT/Apache), but for key commercial elements they instead adopt the Business Source Licence (https://open.sentry.io/licensing/). This is very similar to the terms of your "Any Source Available License" in allowing personal use but restricting commercial use, with the very key caveat that it only enforces these restrictions for a period of 36 months, after which point the licence for those elements reverts to Apache 2.0.
Such a restriction would in theory protect commercial interests in a similar manner (only code from more than 36 months ago, or whatever delay preferred, is fully open sourced), but make the project far more open in spirit, and critically allay concerns Anytype will otherwise attract as a non open source project. For example - what happens if Anytype go closed in future once people are already bought in / if the organisation or development ceases at some point / if some decision was to be made in future which compromises user privacy or security, etc! A key element of open source is that trust doesn't just come from saying "trust me, honest!", but also from the licensing model - if the project disappears or is somehow compromised, it can be forked. Such a licence would allow this (with a delay!)
Might you have considered such a license, and if so would be curious your thoughts on why that isn't your preferred approach?
Also i found the website to be quite chaotic. I'd prefer something better organized and informative.
it could also signal about a huge gap in the platform that’s not being addressed
is it sync, ux , storage , collaboration
the fact that we are pivoting note taking an productivity trends every couple years is interesting
it could also just be another trend like micro services , nosql, orm , oop– something people do when they need to procrastinate getting work done
Nice to see Ted Nelson getting some recognition.
life is better (TM)
kids: get off my lawn
Stop shipping features until the perf is a joy to your users. It's mind-boggling to me that companies would prio anything over fixing perf outside of fixing bugs.
Notion is the single biggest frustration of any workplace tool I've ever used in my entire software career and it all comes down to its performance.
Even worse than JIRA, or MS Teams? That sounds horrible indeed.
If it's just text, it's faster than JIRA or Teams.
> We adhere to a simple directive for all work we do on WebKit: The way to make a program faster is to never let it get slower.
(also, as slow as it is now, it's MUCH faster than it used to be, if you can imagine that!)
The early notion product was really performant, the mobile apps were ok enough and it had good ideas.
Now my last remaining notion sites sit on my to do list to be migrated to an alternative. The mobile apps are trash. Working with notion is painful.
I still haven't found a replacement for "online thing that anyone can edit easily". Some wiki systems are close but I don't want to give up some of the richer component types like kanban cards.
But I also think a lot of companies in the same stage as Notion have fallen into the trap of shipping features (namely AI features) ahead of fixing perf bugs