Dia is a program for drawing diagrams, and is Free Software.
General documentation can be found in the doc/ directory.
If you are thinking of contributing (either code or diagrams), please see HACKING.md.
For compilation and installation instructions please see BUILDING.md.
Upstream Repository: https://gitlab.gnome.org/GNOME/Dia
Report bugs in GitLab https://gitlab.gnome.org/GNOME/dia/issues, check existing issues (open and closed) to check if your bug isn't already known (or indeed fixed!)
If the issue is not there, please report it. Otherwise, give it a "thumbs-up". This will us prioritise them.
This project does not allow contributions generated by large languages models (LLMs) and chatbots. This ban includes tools like ChatGPT, Ollama, Claude, Copilot, DeepSeek, and Devin AI. We are taking these steps as precaution due to the potential negative influence of AI generated content on quality, as well as likely copyright violations.
This ban of AI generated content applies to all parts of the projects, including, but not limited to, code, documentation, issues, and artworks. An exception applies for purely translating texts for issues and comments to English.
AI tools can be used to answer questions and find information. However, we encourage contributors to avoid them in favor of using existing documentation and our chats and forums. Since AI generated information is frequently misleading or false, we cannot supply support on anything referencing AI output.
It's always nice to hear from people still using Dia!
Please feel free to share comments/feedback/questions on Discourse, or you can join the matrix channel #dia-editor:gnome.org.
There is a lot of work to be done in order to bring Dia up to date. Part of the reason why Dia has been around for so long is that it is very stable. We intend to keep it that way.
We would love to have more people on-board helping improve Dia. For that, the only requirement is patience :slight_smile:. Software quality comes not from the code itself, but how people develop that code. As such, we need to be very nitpicky with what we accept into master and when.
Do not be offended: we aren't trying to be mean, control-freaks or in any way belittle your work, it's simply that good things take time and there's no way to rush quality. With that in mind, we welcome all contributions, no matter how tiny so please get in touch.
We currently need somebody to look after the Windows builds and packages. Most of us use Linux as our main operating system, so if you use Windows and would like to program on Dia on Windows, for example, getting it running on Visual Studio + Meson, please get in touch. Note that this involves doing full development on Windows and is not limited to just getting it to compile.
Similarly to the above, we need somebody to ensure Dia builds and runs well on macOS.
Dia is translated over at l10n.gnome.org (module: dia), please submit translations there instead of as merge requests
Much of the documentation in doc/ is outdated. We need somebody to go through the documents, check what is good, update them and then maintain them. If you enjoy or want to practice technical writing or would be interested in helping with the translation we would love to hear from you!
Ideally the docs would be rewritten in Mallard instead of Docbook
One simple way to ensure Dia works well for everybody is to test it on as many machines as possible. This role is simple and is a very good way to get more familiar with the Dia codebase. Plus, the more people Dia works for from source, the easier it is for package maintainers and the easier it is for anybody to contribute patches:
- Obtain a machine (ARM, ARM64, x86_64, SPARC, doesn't matter) in one or more of the following ways:
- Local laptop, desktop, etc
- Premade box from https://www.osboxes.org/ or similar
- Install a virtual machine from ISO
- Follow the compilation & installation instructions for Dia
- See if you can get all the features of Dia running.
- Try various meson options: https://mesonbuild.com/Configuring-a-build-directory.html
- Try to install dependencies in a different order.
- Try a different compiler
- If anything is off and hasn't been reported before, let us know! If it has been reported, give the issue a "+1".
- If you've tried your best and haven't found anything wrong, also give us a shout :-) Let us know what you tried and why you think there aren't any issues on the machine you tested it on.
