-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open-source TALA #57
Comments
I appreciate the thoughtful feedback @sandstrom . I've heard and considered these angles before, here's my reasons:
Programmers type on a closed machine into a closed/paid editor running on a closed OS deploying on a closed/paid infra provider etc etc. I don't buy the principle that closed/paid is a blocker. I think it's used as an excuse to not adopt products which aren't good enough compared to free versions, and that's fair. If an open/free product is better than ours, we are not trying to compete by matching openness/cost. If people like Mermaid on product merit, they should use Mermaid. If people are on the fence between us and Mermaid's product merits, then we need to do better. Do I wish my machine/OS were open? I'd prefer it of course, but to me, Mac is so much nicer than all the rickitty open alternatives that it far outweighs that preference. I absolutely think some things should be open though, like a programming language, which is why D2 is. But TALA is licensed such that if you buy it once, it's yours to use forever and you only need to pay for upgrades.
The traction comparison isn't that D2 has an optional closed-source engine in its ecosystem, it's that Mermaid has about a decade more on us. GitHub has started to natively support D2 syntax highlighting and language detection.
This is going to be true open-source or not. Mermaid relies on Dagre, an open-source layout engine that was deprecated in 2014. It was a heroic effort by one guy, and when he decided to pack his bags, no further improvements on layout was made, despite mountain of asks and issues to Mermaid by their users, which in turn I'm sure caused the Mermaid team to want to maintain Dagre. Yet they didn't. The idea of "anyone can fork and continue" is rarely exercised successfully in the history of open-source software. Success of the vast majority of projects is coupled with the original creators/maintainers desire to continue. I publicly state that I intend to support TALA even if the company goes down. (side note that Dagre is "being maintained" again, but it's just trivial stuff like typing and ES6).
Not at all. You care enough about our product to have written this feedback, and I appreciate that, even if you ultimately decide to go with Mermaid. |
Is this the case for us as a company? I could only find a personal license with this option. Regarding closed vs. open, let me clarify. We love paying for great software! But Apple is 30 years old with a trillion dollar market cap. My concern with TALA is that you're a small VC-funded startup, so if you go down there is less chance TALA will survive. If you were an event booking system, we could just try it out for one event, and if you go bust in a year it's fine. But if we're going to write a lot of internal documentation in D2, and the good engine is closely tied to one company, that's a risk. One caveat to the above, is that we try to avoid getting locked into opaque pricing, where it's "renegotiated" every year or something like that. But as long as the pricing is public and predictable, we love to pay. But for you, I still think it's worth thinking about whether closed-source TALA is a growth-maximizing decision? Or if you'd make more money with a paid IDE and TALA more broadly available, under Server Side Public License or BSL. |
@alixander in my specific case, I am building an open source and free tool on my spare time, to help other Django developers see their database schema easily running a single command: I loved everything so far with D2. Generally speaking, I'm totally okay to pay good software. However, in this case, what's the point to pay a tool to help others for free? People generally pay something for a "return on investment". But here it's volunteering only. Do you have alternative models in mind? Thans for your time |
Hey @ddahan, I want to offer TALA for free for open-source projects, but it's possible while keeping it itself closed-source to monetize commercial projects. That being said, D2 should never require the use of TALA. It should offer a competitive advantage to companies that want to have the best looking/clearest docs, but all use cases should be covered by the open-source layout engines. If you can be more specific about areas that the open-source engines are lacking, the team can work towards making it viable for your project. For example, ELK is being worked on to enable column-column connections: terrastruct/d2#1429 |
Thanks for the detailed answer. Glad to know there is an ongoing work on column to column connection. May I know when do you plan to have this feature in production? |
Hi @alixander. |
@ddahan It is in production if you use the ELK layout engine |
1 year later, just checking in to see if you have changed your mind on this? If I were you, I'd just open-source TALA with no restrictions (and no IP restrictions on output), and focus on making money on D2 studio. I think the tool is pretty good (I'm a paying customer) and the more people would adopt D2 + TALA, the greater the need for studio. Right now we don't use D2 for much, because of lock-in. For example, I wouldn't move our internal tech docs over to it. So I'm using it ad-hoc for smaller stuff. It's neat for me, but the whole team isn't using it. But if D2 + TALA were open-source (or BSL etc) it's likely we'd start using it more extensively in source code, internal documentation, etc. because we'd know it'll be around for the long term, even if you shut down, and we wouldn't be locked in. In a scenario where you are successful, I think TALA and D2 will basically just be marketing for the studio product. Or put differently, I think you'll get more profits out of a smaller slice of a bigger pie. 🥧 |
Maybe you should open-source TALA, and try to earn money on the IDE -- which looks great!
We're deciding between D2 and the Mermaid ecosystem, and I like the output of yours (much nicer graphs etc). But I'm also hesitant to build all our docs on a semi-closed ecosystem where the primary engine isn't free, and Mermaid is natively supported by Github and many others.
Any business based on open-source is always going to be in this pinch, give too much away, and you don't earn anything, give too little away, and you won't have any adoption.
I'm not saying it's an easy choice, but from my (very limited) vantage point, D2 looks great but has much lower traction than open-source Mermaid. Maybe selling the canonical IDE for D2 will still be a great business, even if you properly open-source TALA?
(I know D2-lang is open-source, but it's success is still coupled with your firm + TALA not being open-source is still a downside)
Not writing this to be annoying, just want to provide some feedback.
The text was updated successfully, but these errors were encountered: