I came across Draw.io while looking for diagramming tools for algorithms interviews. While it worked well, I preferred the simplicity (and aesthetic) of Excalidraw: https://excalidraw.com/
I too went from draw.io to Excalidraw. While it was the roughjs aesthetic that caught my eye, it was the business model and true open source license that made me throw money at them and kept me there.
It is an excellent, underrated piece of software. Less surprising when you consider the team behind it.
> draw.io is not open source software. The complete source code required to build the app from scratch is not available. The Apache license allows you to deploy the project and make changes to the source code that is available on the site.
Everything needed to run it locally on your ownmachine or self host it is open source (Apache v2.0); its the integrations with various other services (Google Drive, Atlassian and the like) that are kept proprietary.
We are studying this internally. We are finding out that this might actually not be the case:
> The source code authored by us in this repo is licensed under the Apache v2, however, we do not claim to be an open source project.
> [...]
> Additional minified JavaScript files and Java libraries are used in this project. All of the licenses are deemed compatible with the Apache 2.0, nothing is GPL or AGPL, due dilgence is performed on all third-party code.
Here's an issue that was opened 5 days ago that probably triggered the README rephrasing:
> The file for converting the mermaid code to mxgaph xml is available only in minified version. the unminified version "mermaid2drawio.js" is missing. Please include that.
Answer:
> We do not supply the source to that file.
With such phrasing, for now, I'll consider drawio proprietary with some parts in Apache 2 (even if it's actually the majority of the code).
It might be possible to have a fork with some optional features related to these non provided files removed, if by luck no critical feature is impacted. (or, even better, provide an alternative, open source implementation for these files, of course)
Draw.io has one of the most well-executed open source business models I've ever come across. They have a minimum core product available open-source (which I like because I have confidence I can make changes to SVG files I create years from now), but they keep all of their integration code proprietary (Google Drive, Jira/Confluence, etc) to keep enough of a moat from other companies stealing their SAAS.
Draw.io VS Code plugin is excellent. (Probably it was made by a third party?)
They way you can save a file as <image.drawio.svg> or <image.drawio.png> while simultaneously keeping it editable as well as readily renderable in any other app or browser ... feels like magic! Why don't we see this more often?
Is there a way to create / find custom shapes and frequently used templates in this tool?
I work on AWS and would like to be able to customize the UI a bit (in VSCode) to make it much easier to use frequently.
The tool also has a lot of potential to become even more user friendly and powerful though.
Anyone is working on a LLM interface it it yet? :)
I like this tool quite a bit especially the parts where it takes text files of nodes and edges and creates diagrams of various types - a la Graphviz.
I wonder if there's a forum somewhere to discuss how to use it (and when.) I am one of the many who gave up Stack* for all the reasons. For example, it can ingest and excrete Visio formats with varying degrees of success. I'd like to understand those limits for when I need to work with people who have Visio.
I might be becoming a greybeard but is there any reason to move away from graphviz?
I appreciate text based authoring, open source code base, composability, and the longevity of the project.
In my locked-down corporate environment, I have to get permission to install Graphviz. But, somehow, Mordac allows me to access diagrams.net/draw.io from my browser.
I came up during the WYSIWG/WYSIAYG wars, allying with the latter. But in many cases, it is easier to nudge something into alignment vs. rewriting the base code and "recompiling." That and 99.99% of people I interact with are used to dragging-and-dropping and I can't insist on an entirely different approach and tools.
The fact that you cannot create an arbitrary filled polygon in drawio baffles me.
I seriously tried to use this for documentation at my previous company, but the inability to create these basic custom components really limits this otherwise excellent tool.
Has anyone been able to do custom component libraries in drawio?
I love draw.io but I’m surprised there isn’t a native iPad app. Diagraming apps are few and far in between on the iPad during my quick search last time I needed one. Ended up using lucidchart but I’d for sure use draw.io in the browser if it was more suited to my fat fingers.
When I was looking for an Visio alternative I came to draw.io (diagrams.net) Since then I am using it for everything ER modelling, flow charts and so on. I find the UX very good and intuitive like no other.
Github: https://github.com/excalidraw/excalidraw