Skip to content
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

Open
sandstrom opened this issue Sep 14, 2023 · 7 comments
Open

Open-source TALA #57

sandstrom opened this issue Sep 14, 2023 · 7 comments

Comments

@sandstrom
Copy link

sandstrom commented Sep 14, 2023

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.

@sandstrom sandstrom changed the title Idea Open-source TALA Sep 16, 2023
@alixander
Copy link
Contributor

alixander commented Sep 18, 2023

I appreciate the thoughtful feedback @sandstrom . I've heard and considered these angles before, here's my reasons:

But I'm also hesitant to build all our docs on a semi-closed ecosystem where the primary engine isn't free

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.

Mermaid is natively supported by Github and many others... D2 looks great but has much lower traction than open-source Mermaid.

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.

it's success is still coupled with your firm

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 writing this to be annoying

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.

@sandstrom
Copy link
Author

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.

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.

@ddahan
Copy link

ddahan commented Oct 19, 2023

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.

@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:

image

I loved everything so far with D2.
However, when I found out I'd need TALA to make greats schemas, I felt a little trapped.

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?
I think a win-win could be to offer TALA for free for non-entreprise projects, maybe with a watermark on schemas like "generated by D2/Tala".

Thans for your time

@alixander
Copy link
Contributor

alixander commented Oct 19, 2023

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

@ddahan
Copy link

ddahan commented Oct 19, 2023

Thanks for the detailed answer. Glad to know there is an ongoing work on column to column connection.
In my opinion this feature is absolutely crucial for drawing SQL Tables, especially when you start having multiple foreign keys in the same model. In that case It quickly becomes unreadable if the arrow does not point to the right column.

May I know when do you plan to have this feature in production?
Thanks.

@ddahan
Copy link

ddahan commented Mar 24, 2024

Hi @alixander.
Any news on this? Thanks.

@alixander
Copy link
Contributor

@ddahan It is in production if you use the ELK layout engine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants