Add AFFiNE — privacy-focused knowledge base (notes, docs, whiteboards)#3445
Add AFFiNE — privacy-focused knowledge base (notes, docs, whiteboards)#3445EpicTGuy wants to merge 4 commits intoYunoHost:mainfrom
Conversation
|
Thank you for the AFFIne package. |
|
This is really a nice app ! ...but licensing is "hybrid". @EpicTGuy Did you package the community edition ? |
Urggh.. Indeed, the Community Edition is licensed under MPL-2.0 , but the overall thing is even more complicated: Source: https://github.com/toeverything/AFFiNE/blob/canary/LICENSE Not sure how this is supposed to be added in |
LicensingEvery time I had a look to AFFiNE, I tuned down my enthusiasm due to the licensing matter. (Obligatory "I am not a lawyer".) According to https://affine.pro/pricing, self-hosters only get:
If they opt for the cloud hosting by Toeverything (the company behind AFFiNE), they additionally get:
That last bit seems brought by the code covered in the EE-licensed area of the upstream repo. The EE license is not free and libre software. My opinion: this code should not be included in the YunoHost package. The license in the manifest may then be MPL-2.0. Use of generative AISince you have clearly used generative AI to help you package AFFiNE, though our policy is not yet written, I would like to reiterate eric's message. Our current opinion on the matter is: we tolerate it, as long as its well known verbosity does not hinder the comprehension of the architecture of the package and it uses all the latest packaging standards. My opinion is that you (or heck, feed this list to your LLM) need to:
You may keep an original repository to keep these files, if these informational crutches are needed, but submit a repository that's cleaned up. :) |
|
Thank you all for the thorough review — very helpful feedback! On licensing (@otm33GH @oleole39 @tituspijean): On generative AI / verbosity (@ericgaspar @tituspijean):
The package still relies on the patched Merci pour la revue complète — des retours très utiles ! Sur la licence (@otm33GH @oleole39 @tituspijean) : Sur l'IA générative / verbosité (@ericgaspar @tituspijean) :
Le package utilise toujours le |
Description
AFFiNE is an open-source, local-first knowledge base combining notes,
rich-text documents and collaborative whiteboards in a single app.
It is a self-hostable alternative to Notion, Obsidian or Roam Research.
All 5 package_check tests pass (install, remove, backup/restore, upgrade, change_url).
Notable technical point
AFFiNE's server image is hosted exclusively on ghcr.io (not Docker Hub).
The package uses
format = "docker"with a patcheddocker-image-extractscript that adds OCI multi-registry support (Bearer auth for non-Docker Hub
registries). The patched script is embedded in
conf/as a workaround untilthe following PRs are merged:
Description
AFFiNE est une base de connaissances open source, local-first, combinant
notes, documents rich-text et tableaux blancs collaboratifs dans une seule
application. C'est une alternative auto-hébergeable à Notion, Obsidian ou
Roam Research.
Les 5 tests package_check passent (install, remove, backup/restore, upgrade, change_url).
Point technique notable
L'image serveur d'AFFiNE est hébergée exclusivement sur ghcr.io (pas Docker Hub).
Le package utilise
format = "docker"avec un scriptdocker-image-extractpatché qui ajoute le support des registries OCI non-Docker Hub (authentification
Bearer). Le script patché est embarqué dans
conf/en attendant le merge desPR suivantes :