is it really FOSS?

Vikunja

A task management application

Issues exist
There's some FOSS code here, but there are licensing, marketing or transparency issues.

Details

The majority of the project is provided under the AGPL-3.0 license, with the desktop app licensed under the GPL-3.0. The project uses imagery under the Unsplash license, which permits free use, including for commercial purposes, but is not a FOSS license due to limiting use & distribution. This applies only to media assets, not code.

At a wider level, the project follows an open-core approach although currently the only component that’s non-FOSS and licensed separately is the admin panel, which is built as a plugin separate from Vikunja’s codebase.

Project maintainers have openly discussed future licensing direction & plans on the project’s forum, which reflects intent to continue on the path of open core.

The project does not appear to currently make use of a CLA, which raises questions in regard to their open-core approach and the use/distribution of their non-FOSS admin panel plugin. The use of a CLA has been mentioned by the founder, albeit in a way which may not fully consider licensing obligations:

The new paid-for features would be source-available, but under a different licence than the rest. I won’t do a relicensing of existing code. It would even be possible for people to contribute to the enterprise stuff, but would require a CLA.

The project advertises as open source in prominent locations such as their website homepage, and other top-level pages, although they don’t appear to be advertising the non-FOSS elements in same areas.

The project appears to be primarily funded from providing its software as a service via “Vikunja Cloud”, in addition to accepting donations via GitHub, KoFi and Open Collective.

Details last reviewed 2025-10-14. Our reviews are performed manually, without legal expertise, and therefore may be inaccurate or missing detail relevant for your use. Please don't treat this as legal guidance or assurance of any kind.

Found mistakes or outdated information? Let us know by opening an issue on Codeberg.