Episode

Notes On Work - by Caleb Porzio · Jul 31, 2024

Aaron and Caleb Porzio talk wrappers

Aaron and Caleb Porzio talk wrappers
Show notes

I joined Caleb Porzio to talk about the ethics and morals of building wrapper products.

Transcript
00:00

Caleb

Alright. That's gonna work great. Okay. Aaron Francis, thank you for being maybe the second ever guest on notes on work.

00:10

Aaron

You're welcome. I'm happy to be here.

00:12

Caleb

So, Aaron, this is, for the listener, this is a a total ambush on Aaron. He knows basically nothing about any of this. But here's what happened. So you tweeted this thing about FFmpeg yesterday. I'll explain that in a second.

00:25

And I see it, and, like, rappers is, like, my trigger word. Mhmm. And I'm feeling, like, torn and hot and bothered, and I see see both sides and it's it's not even there's like multiple conversations even going on in that Twitter thread. And all of it is, like, this could be a very interesting conversation for an hour where we go back and forth and talk about nuance or whatever. But I feel like, ultimately, what I just need to do is make a new license, like, a new open source license, and I wanna get your first, I wanna make sure that we agree on on if there is even a problem.

01:02

And then should we create a new license so that I can launch this thing I'm working on and not be, like, stressed out all the time and just, like, start a new world?

01:15

Aaron

So the the I thought you were gonna ambush me about my children's toys, but you already did a full episode on that

01:20

Caleb

one. Exactly.

01:21

Aaron

Yeah. We'll we'll do open source licensing. So,

01:25

Caleb

Yeah. I I let me look up this this tweet here and we can just read the tweet. So this is okay. So somebody named Luna, who I think follows me and might be in the community or something. So, whatever.

01:42

Luna retweets somebody else who does, like, a cool video thing. They made a little online web thing and says, look, ma, I wrapped FFmpeg. So just throw in shade at this guy being, like, okay. You wrapped FFmpeg. And then you retweet that.

01:57

So, like, he introduces negativity. He's being totally not you. He's just being aggressive, and you're, like, you know, throwing some water on the fire. Like, it's okay to build on top of existing technologies. Don't let anyone stop you.

02:09

Do not begrudge small but useful tools. Great

02:13

Aaron

turn of phrase. Right?

02:15

Caleb

What do you mean?

02:17

Aaron

Do not begrudge. Isn't that great? We love that. Yeah.

02:21

Caleb

Do not begrudge You don't like it? No. I do. I I love it. Do not begrudge small but useful tools.

02:27

Absolutely. So what the what Luna's complaining about is that this guy is appearing to be smart and good and cool and do something awesome when in reality, like, he put a cherry on top of, like, an iceberg, you know, it's like Mhmm.

02:44

Aaron

Mhmm.

02:45

Caleb

There's a mountain of work underneath him, and he just goes, doink. You know? Okay. So I have so many different ways of viewing. There's, like, one the the pre pre maintenance Caleb views this and goes, yeah.

03:00

Like, you you know, if somebody built a tool, it's open source. And if they didn't, you know, provide, like, a sleek enough interface that's sexy enough and simple enough, like, it is totally within my right to make that. I wouldn't even think twice.

03:15

Aaron

Yep.

03:16

Caleb

So I was tempted to reply to this, not to you, but to there's many people in these replies saying, like, they started using the word rapper and saying, like, rappers are fine. Everybody was mad at Nuno about pint and, you know, rappers are great. We should wrap things. And for me, I'm just like you guys have never built anything that got wrapped.

03:39

Aaron

You've never been wrapped.

03:40

Caleb

That's that's exactly my feeling is you've never been wrapped. So maybe I'll take a breath so that you can get a word in, and then I told you where I kinda wanna take this. But, yeah, give me your thoughts.

03:52

Aaron

Okay. I agree it's probably different for the wrapped versus the wrapper. I don't know that I've ever been wrapped. I think, I will be most interested to hear your thoughts on the open source licensing stuff because my opinion slash point of view is that as long as this person is abiding by the terms of the license, that's literally all they're required to do. Right.

04:19

I think there is an argument to be made that it's like bad juju if you rap and don't, like, pay respects to the underlying library. I think you've talked about this a lot before. Like, Livewire owes a lot to Laravel. Laravel owes a lot to Symphony. Symphony owes a lot to PHP, etcetera.

04:36

I think, I think I don't know. I I feel like FFmpeg is interesting because it's like literally decades of work that is completely inscrutable. And so adding a wrapper on top of it to make it inscrutable feels really great to me. So I think there's a we can take it whichever way you want. I would continue to not begrudge tools that are Yeah.

05:07

So because I think everything wraps something.

05:09

Caleb

Well, let me let me give you the heart for the be for the wrapped.

05:15

Aaron

K.

05:15

Caleb

See if I can get you to sympathize. But I think, ultimately, your point is right that, like, what? We're just gonna go around, like, shaming people, but there's, like, there's a light the license says you can do this.

05:31

Aaron

Right.

05:31

Caleb

The people who built this thing say this is okay officially, you know? Mhmm. So you can't be mad about it. And I'm very much caught in this place. And that's why I feel like the only logical conclusion here is for me to make a new license so that I don't go about the world being, like, bitter in, like, and expecting something of somebody without, like, any sort of formal, you know, whatever.

05:56

So, yeah, the wrapping thing, it sucks, obviously. And so something like FFMPIG. Wrap it up. It's so old. It's it's, it's a u it's a, like, a very utility utility.

06:09

It's like, Git or something. You know? It's it's very much like there's no person that you're going to be pissing off, and and the legacy is so giant that your little pipsqueak thing on top isn't a big deal. So there's all this nuance where it's, like, if you make, Snoop Wire, the lightweight, alternative to LiveWire and you just wrap it up. You I don't know.

06:37

You only yeah. Like, it's it's just for, or maybe it's just headless LiveWire, and you call it Snoop Wire or whatever. And then all all the the users that are going to my doc site start going to your doc site. Mhmm. And then slowly, all of the energy and hype and attention drifts away from my project onto your project, but I'm doing all the work.

07:01

And so now I don't have vectors for funding because I can't sell things to people because I don't have their eyeballs anymore. And this is my fundamental problem is just that it's like, I'm fine if you want to capitalize on my tool if you do so in a way that raises all boats, you know. That's great with me. It's, like, do so in a way where people are still on my doc site and they still love LiveWire that I created, and I can sell them a course or a tool or whatever. But if you if you decrease my optionality legitimately pissed off, and I can't see a world where I wouldn't be.

07:40

You know? Mhmm. What do you think about that?

07:48

Aaron

I think that seems reasonable to me. Like, I understand from, like, an emotional level why that would be frustrating. I have to imagine that's a little bit how Symphony feels. I mean

08:04

Caleb

I'm positive they feel that way.

08:06

Aaron

Yeah. I I totally get that from an emotional level that that would be extremely frustrating. I do agree, however, that if you want to change it, it has to be, there has to be like a formal change. Because like saying that the rule is one thing and then people follow the rule, and then it's, like, that doesn't feel good. Well, the the real solution there is to change the rules such that, like, everything that's, like, squishy and gray and, like, hey.

08:33

We all kind of agree on this thing is, like, no. No. No. Let's let's formalize that. Like, if there are norms that you're expecting everyone to abide by, those need to be codified at some point, I would imagine.

08:45

Caleb

Right. For me, it's a it's a code of honor is what it is. Mhmm. It's like Yeah. It's a moral thing that's like Yep.

08:51

If you don't abide by this, you don't have honor. And Yeah. Again, that's a that's a I'm I'm at least, like

08:58

Aaron

know I'm on board with. I love that as, like, a an operating principle. Yeah.

09:03

Caleb

So It must

09:04

Aaron

be honorable.

09:04

Caleb

So how

09:04

Aaron

do we, like,

09:09

Caleb

with creating a license in the past has been, like, I guess, let's just say that we can get the license right so that it's called the, don't wrap me license.

09:19

Aaron

Mhmm. Mhmm.

09:20

Caleb

My fear is that some really, like you know, all the legal folks, all the hardcore open source diehards, the Richard Stallman type people are gonna come out of the woodwork, declare that this is evil in all sorts of ways or fundamentally flawed or say that, like, beware. If you use Caleb's new project, your thing could be whatever then, you know, and then it's like, well, nobody uses the thing. It's like a total flop and because I whatever. And that that's why it's like, there's such a carved path for just MIT. Just slap MIT on it.

09:58

It's like we're all just doing this, and that's why I have to have an honor code because I I am trying to remove barriers by just doing the happy path. But Right. If we were to make a license, I guess, like, first, I want to know genuinely, like, obviously, this is a charged subject for me and this is unfair if you, but I I hope you have the hookspa to come at me if you disagree. Do you agree that there is a need for this? Like, I'll I'll give you an example.

10:28

The project I'm working on right now is eligible for rapping. I wanna build it, and I want everybody who's writing applications to benefit from it. I want you to go make And you go And you go to my docs and you love the tool and I sell you an expansion pack and you happily give me your money because it further increases your life. This is the the beautiful place that I wanna live in where an independent developer can remain funded long term. But if I release this MIT, I run a serious risk Mhmm.

11:12

Of somebody creating a lightweight rapper, a UI kit on top of it. You know, all of these things that's like that will be the surface and the target of dollars and commerce and attention, and I will not be. And when I think about that world, it's like I'd rather not even build it because it's just gonna waste my time and cause me stress. So You have

11:36

Aaron

to do all the underlying work of, like, making sure that the thing always works and so you don't have time to create the wrapper because you're making sure that the thing always works and somebody else comes along and it's just like, hey, the thing always works. I can count on that. So let me build on

11:52

Caleb

top of it. That's it. It's the thing always why wouldn't somebody do that? The thing always works. Like, use that thing.

11:59

And and my attitude is not like, I hate you if you create something that's competing. It's like, no, just meet me toe to toe, do the work yourself, Like, you know, go like invest what I've invested and then compete with me. Don't just start a race with me. Don't meet me, you know, 10 miles into the marathon and then start sprinting. You know?

12:26

So is is there a need for this? Is or is this a, this is not realistic. Don't have your hopes up about this, like, honestly, like, blue ocean, open source, let people wrap you, like, it'll be better in the long run or something. You know?

12:45

Aaron

There's a lot of different questions there. Is it gonna happen I don't know. You could just make it happen. I think the hard part's gonna be coming up with the construct for enforcing or like even for communicating what the vibes are. So like if you're codifying vibes or like honor, how do you do that?

13:07

Right? So like, I'm thinking of another example, Radix. So I've started using ShadCN View which is obviously a view version of Shad cn. And every time I go to one of these components, like under the hood, it's it's like, well, if you wanna read the real docs, go to the Radix docs. And I'm like, what what I didn't even know Radix was a Radix was a part of this.

13:29

I thought Shadcian Vue was just like a full thing. And so, like, how do you codify what is a rapper and what is a UI kit?

13:39

Caleb

Right. Right. Right.

13:40

Aaron

That seems tricky to me, first of all. So let's use Radix and Shad.

13:45

Caleb

K. Radix does.

13:46

Aaron

Let me address let me address Stallman first.

13:49

Caleb

Yeah.

13:49

Aaron

To to the people that are like, this is not pure open source. I say, I don't care. I do not care even one little bit. Because the problem is like, people are like, oh, this is not pure open source. And then every other week on Hacker News it's like, how do we make open source sustainable?

14:05

Caleb

Right.

14:06

Aaron

Maybe don't make it pure open source. Like, maybe have a license that says Amazon can't turn this into a hosted service and make a $1,000,000,000. Like, why don't we just do that for once? So I think the Stalmans of the world, are fighting a losing battle that I don't really have a lot of sympathy for. So back to Radix and Shad.

14:24

Caleb

And I think my whole track record is, like, this whole time I've been trying to make open source sustainable by, like, charging money for parts of the sub you know, I mean, there's, like Right. Like, get up sponsors and its whole mission is anti open source in in that sense. Anti pure open. It's muddying the waters. And and personally, yeah, it's like it's in everybody's best interest if I can work on this thing long term, you know.

14:48

Totally. So anyway, yes, that was a quick interruption. Continue.

14:53

Aaron

Yes. So you were gonna take you were gonna pick up the Shad cn, Radix. Yeah.

14:58

Caleb

Shad cn and Radix are a great example. And let me just say that I'm not, like, launching an attack on those tools because I don't know the story. I don't know, like Me either. Radix. I don't think Rad I think Radix is done by a company, and I heard that so the person who was maintaining the company owns the project and then hires employees to maintain it.

15:17

And there was, like, this one person who's at the company mostly maintaining it and then they left. And now it's like kind of influx with, you know, who's maintaining it. But that to me is just so different. It's like it's not the company's driver of profit. It's, like, you know, Facebook with React.

15:34

It's, like, a company that's doing an open source thing and hires a person maintain it. It's such a different story. I don't think they're mad that Shad is rapping them, you know.

15:44

Aaron

Yeah. Let's let's imagine though that you own Radix. Yeah.

15:48

Caleb

That I wrote Radix.

15:49

Aaron

Yeah. Then what do you do? Like, how do you

15:53

Caleb

So I don't care about enforcing it because as long as I have the license that obviously is the big question of what's in that license. But as long as I have it, I don't need to worry about, like, how I can police it It it tech like, mechanically with the law, it's like they would be in violation. And I think there's enough, like, Internet people that would Yeah. Be like, you're invited. Like, you can't do that, you know?

16:17

And and then, you know? And if they really push it and got really popular, that it's, like, I'm not worried about that part. It's more how it's more creating a license that well, one, I think this is a hard thing to do because so many people who aren't creators don't understand why I would do this. You know? Correct.

16:46

Yeah. I think they would go, like, this is weird or greedy or small or something. It's, like, where I mean, obviously, I fundamentally don't believe that because I could have just created a piece of software and sold it instead and you would be fine with it. You would go, oh, cool. His he made a new thing and sold it.

17:05

Or if I made, like, some design thing or some video kit, it's so dumb to me that there would even be that air of, you know, whatever. But okay. So let's forget that too because they probably won't understand, but that's on them. Hopefully, you know, I could plead my case enough, but I don't know. There's really no one else out there saying the things that I feel.

17:25

That's another problem.

17:28

Aaron

Yeah. That is a problem. That's gonna be, that's gonna make your life hard. That you would be the only one out there fighting, I think, would make that difficult. But, like, anybody, I mean, again yeah.

17:41

Like, if the thing is, everybody's scared

17:43

Caleb

to talk about it. That symphony guy, he's not gonna say anything, Adam, when people scoop tailwind and make, like, windy and stuff like this, I have no problem saying that Adam is furious. I would be furious. I was furious at lowland or whatever with Alpine. Evan Yu was furious at me with with Alpine to and made Petite View.

18:09

You know? Although at least in that case, I did the work myself. That's a that's sort

18:14

Aaron

of a a different That's true. That's different.

18:16

Caleb

Yeah. But anyway yeah. So I think everybody is secretly furious about this.

18:23

Aaron

Yeah. And I don't know what to do about that because, like, like let's go back to Tailwind. Like there are a 1000000 Tailwind UI kits And that is arguably quite good for Tailwind. Even though they sell a UI kit. Right?

18:42

But, like, every Tailwind becoming the defacto, like, the standard is good for tailwind. But you can imagine it's bad for radix because I didn't even know radix existed. And I don't I still don't care because I'm just using shad cn. You know? So there's there's, like, even a a degree or, like, a characterization of what the wrapping software is as to whether it's good or bad.

19:06

You know?

19:07

Caleb

Yeah. Radix or I guess Tailwind is an interesting example because when you're using a Tailwind UI kit, you're using Tailwind for the most part. Yeah. You're using Tailwind, so you still are on the Tailwind doc.

19:20

Aaron

From you.

19:21

Caleb

Yeah. To me, that's my thing. It's, like, it really doesn't matter to me as long as you're on my docks, and I have a vector to plead my to offer you something of value. You know? But anyway, so I yeah.

19:34

I feel like that's slightly different, but I wonder about, like, maybe, like, Daisy UI is much different, but it still is like, we are a tailwind that it's it all is tail like the best example I think would maybe be maybe windy CSS or something that is like, you know, like a completely different compiler, a completely different project. Dude, it's hard because there's rappers and then hard. And then they're stealing people's APIs. But I think Radix and Shadd is the best.

20:05

Aaron

And then there's open source, and it's like I could today take Tailwind. I haven't actually looked at the license, but assuming it's MIT, I could take Tailwind and fork it and call it Erinwind, and that would be completely legal. Nobody would get on board with it. And I think, does that matter? Does that matter if, like, like, let's take Nuno's Pent and Lint or whatever it was, Pint and what's the thing that it wraps?

20:31

CS sniffer or something like that?

20:32

Caleb

Huge PCS fixer, I think. Yeah. PCS fixer.

20:35

Aaron

Yeah. So he wraps he wraps CS fixer with like a new maybe Pest and PHPUnit is better. Like Pest wraps up PHPUnit, and it adds some sort of layer of accessibility on top, which is arguably good, but he's also totally wrapped up 20 years of PHP unit work. Yeah. And people are stopping like, people, like, are looking at the pest stocks now instead of PHP unit probably.

21:04

Caleb

Yeah. Right. And so I don't wanna bring Nuno into this because, I which is what we've done on the podcast too, which is, like, let's pick on someone else because Yeah. I I like Nuno and he's a friend. So it's like my principles happen to not align with his in this regard.

21:21

Aaron

Mhmm.

21:21

Caleb

But I'd rather pick on I wanna I, like, I wish Torchlight was a good example. Mhmm. But I'm not sure it's a good example.

21:30

Aaron

Yeah. I mean, it raps Sheikki.

21:35

Caleb

Yeah. There you go. So you're you are so Sheikki is the thing that does the hard work.

21:41

Aaron

That does much of the hard work. Yeah. But again, Shiki wraps other stuff, which is like the, you know, the text mate grammars and the Versus Code stuff. And so, like, you know, it's kinda rappers all the way down on the Shiki side.

21:54

Caleb

Yeah. Okay. So the let's say let's say that I'm building Radix, and I go, I don't wanna be scooped up. So I'm going to charge money for this and make it closed source. Now it's annoying to use and it's hard to just get started and it penalizes like people just tinkering, you know?

22:17

Yeah. So it's like, you know, I'm going to be a better person and I'm going to like make this paid thing. I'm gonna open source, you know, the code for it so that you can just try it and whatever, but it's still a pit. I don't like statemic. Like nobody's gonna rap statemic cause I'm not even sure it's open source.

22:34

Maybe it is. I don't know. I don't know. I don't wanna make something that somebody's just gonna use in their competing app and make my life harder.

22:45

Aaron

Right. So is the question, is is the question, is there a structural fix for this? Is that the question?

22:55

Caleb

That's yeah. The question Instead of, like,

22:56

Aaron

a vibe slash community fix for it? Yeah. Because that that would that is just, you know,

23:00

Caleb

obvious. I mean, it's my life. You it's a lot of just disagreeing with people. Right. Yeah.

23:08

So I think, yes, the the whole the interesting thing, the thing that I am here to talk to you about is, is there a structural thing and what would it look like? Yeah. But part of it is like, you would have to want it and I'm not convinced that you would want it. So it probably isn't even worth talking about, Aaron Francis. You'd I

23:28

Aaron

would have to want what?

23:30

Caleb

You don't want the license. I don't want

23:32

Aaron

the license. No. I want it to be MIT.

23:36

Caleb

So let's talk about that, because we can't talk about the license if you don't want the license.

23:40

Aaron

Right. Yeah. As a consumer, as someone who would potentially do the wrapping or even the using, I don't want the I don't want those encumbrances.

23:50

Caleb

Aaron, so we have a fundamental disagreement on rapping.

23:54

Aaron

K.

23:55

Caleb

And maybe that's just that. But, like, I am okay with somebody rapping FFmpeg and doing that thing, but going out there and telling people to that it's okay to rap stuff

24:11

Aaron

Mhmm.

24:12

Caleb

I don't believe that.

24:14

Aaron

So how do you square it's okay to rap FFmpeg, but it's not okay to rap stuff?

24:19

Caleb

So I guess I guess maybe I don't even maybe I would, like, leave up of the it's just that there's degrees of it.

24:26

Aaron

I agree I agree with that.

24:28

Caleb

Yeah. So, yeah, I'll I wanna find something that you would be bitter about somebody rapping. Like, what about your videos? What if I took your, dialogue and just repeated it, you know, on my own platform? Your script or something.

24:46

Aaron

Well, that's tricky because that would be stealing. Right? Because, 1, my videos are not free and open source. And 2, like, doing it word for word is not

25:00

Caleb

it's like not adding anything on top. So I would add visualizations. It would be, like, better than than yours. It would be truncated. I would take your long form videos that who can sit there 10 minutes, and I would make them minute long shorts.

25:17

And I would I mean, let's say even that. Let's say that I make a YouTube channel called I don't even use your name. Mhmm. And like people do on on freaking Twitter. How they how they take other people's videos

25:31

Aaron

Mhmm.

25:32

Caleb

And they either shorten them or just put them in full form and don't reference the original creator at all. So, like, what if I started doing that? How would you feel about that?

25:42

Aaron

That's interesting. I don't like react videos. I think that's easy it's an easier thing for me to to emotionally get

25:49

Caleb

Oh, reaction videos. That's an interesting example. Yeah. Okay.

25:52

Aaron

So, like, that is maybe the video equivalent of rapping where somebody watches your video on their video and does little herms and 's along the way, and it's like, well, it's a new video now. I think that I think that sucks.

26:06

Caleb

You know what's so interesting, Aaron? I really like reaction videos, and I watch a lot of them.

26:12

Aaron

See? We have we have arrived at the, the flip side of the coin.

26:17

Caleb

Yes. But I totally I

26:19

Aaron

don't know. Like, if I were to reacted the only time I've ever been reacted is when the primogen did it. And he first DM'd me and said, can I do this? And to me, the answer was an immediate yes because he's massive.

26:33

Caleb

Yes. He's benefiting you.

26:34

Aaron

He could send people my direction.

26:36

Caleb

Yeah. Yeah.

26:36

Aaron

But, like, let's say someone else did it without asking, I would I would be mad. I would not like that. I would be like, dude, this is my video. I didn't give you permission to do that.

26:48

Caleb

Yeah. So well, at least there's some amount of at least you can empathize in the smallest way with what it would be like to do something hard, and then somebody take all of the spoils of the hard thing you did.

27:03

Aaron

Oh, yeah. I no. I totally

27:05

Caleb

get that. Thing on top.

27:06

Aaron

That is not I don't think that is, if there's a disagreement, that is not it. I I can emotionally arrive at that point quite easily. I think your question was from the consuming side, do you want this license? My answer is no. I don't.

27:20

Right.

27:20

Caleb

You don't. But if you don't I'm not

27:22

Aaron

in your shoes. Then the

27:23

Caleb

thing is just gonna, like okay. One one argument that that is, like, not emotional is, and I don't, I can't prove this or whatever, but a project that gets wrapped loses its optionality and it's funding. If that's its source of funding is that that surfacing, you know, and then the project suffers and then your project suffers and then everybody suffers, you know, where it's like, man, if you want like this thing, if you massively benefit from this thing, like if you expose it, then it, you know, gets it the funding that it needs. And then your project can be even healthier for longer. Yeah.

28:10

I don't know. It's a hard thing and nobody feels many people feel the way that I do behind closed doors, but many others don't. And it is so easy to wrap something and make a simplified some a more niche offering. A simp that's it's like and as a creator of something like LiveWire, for example, it's hard for me to make a niche version of it because I don't wanna fork the experience for my users. I don't want them to think, oh, there's Livewire.

28:38

Now there's Livewire Lite. What next? There's so but if, like, Joe Schmo comes along and goes like, a more slim refined, you know, Livewire. It's called Slimwire. And people are like, oh, SlimWire.

28:50

Nobody's complaining about, like, there being too many things. So, yeah, I'm just fine I'm trying to find a way out of this. And I guess, ultimately, if I decide that I truly would rather not do something than deal with the rapping life, then, then it's just who cares? I do the thing. But,

29:13

Aaron

yeah. Okay. So let's, maybe we should we should just we should build up from the bottom and see what we agree with and what we disagree with. I'll start. It is good for open source library authors to have a source of income.

29:34

Caleb

Yes.

29:35

Aaron

I agree. Most traditionally, that source of income comes from eyeballs in one way or another. Yep. K. There can be bad ways for people to wrap underlying libraries.

29:57

Caleb

Okay. Is that something we agree on?

30:00

Aaron

I agree. I I agree with that.

30:02

Caleb

Okay. Okay. Do you agree with that? Oh, for me, that's my premise. Yeah.

30:08

I mean, for right. There can be good ways. We just have different thresholds. Yeah.

30:11

Aaron

There can be good ways for people to wrap underlying libraries.

30:15

Caleb

Okay. That's right. Great. Let's think let's agree on that because I don't. Okay.

30:19

Aaron

Let's go. Yeah.

30:20

Caleb

Or I at least want an I want to get to that point. Like, what Yeah. Is a good way, you know, to wrap something.

30:26

Aaron

We're like Yeah. Laravel

30:28

Caleb

and Symphony is, like, obviously, I'm the biggest Laravel fanboy in the world.

30:32

Aaron

I know.

30:33

Caleb

So let's use that.

30:35

Aaron

Well, let's keep going.

30:36

Caleb

Okay.

30:37

Aaron

Let's keep let's keep going on fundamental truths. So so far we agree on all of that. I think the, point at which we draw the good bad line is up for is up for interpretation or discussion. Yes. So there are good ways.

30:49

There are bad ways. Let's see. What else? Wrapping in a bad way wrapping in a bad way is not prohibited by any or or or by is not prohibited by the MIT license.

31:06

Caleb

Yes. Right.

31:08

Aaron

Rapping in a bad way is primarily enforced by community.

31:13

Caleb

Yeah.

31:14

Aaron

K.

31:16

Caleb

Yep.

31:19

Aaron

Okay. So we agree on all of that. Is there any other open question besides where do you draw the line between good and bad?

31:29

Caleb

Yeah. Is right now. I think it, I think it all lies in that. Yeah. It all lies in the good, bad,

31:39

Aaron

The good, bad, great

31:40

Caleb

question. An important point that you made is that, like, the thing here is that MIT doesn't prohibit

31:46

Aaron

Mhmm.

31:46

Caleb

Any form of rapping, including the bad forms. And the biggest question is, should there be a license that prohibits some degree of bad rapping? You know?

32:03

Aaron

Yes. So should there be a license that prohibits bad rapping with bad being squishy at this point?

32:12

Caleb

Let's can we identify an example that we both completely agree is bad rapping?

32:18

Aaron

Yes. That would be good. Do you have one? There's some

32:21

Caleb

So, like, Radix Shad, you don't agree. Right? And I'm not sure that, that's a bad one. That's a bad one. Oh, god.

32:29

Do what do you think about Radix and Shad?

32:32

Aaron

I I feel like I don't have enough intel to know if it's good or bad. Like, I don't know if Radix is thriving. You know what I mean? Yeah. I I just don't know.

32:47

Caleb

Like, I'd love to not do a hypothetical, but we could make a hypothetical extreme example if we needed to.

32:56

Aaron

Alright. What about this? Let me ask you this. One. Okay.

32:59

Tell me.

33:02

Caleb

I was gonna give a hypothetical. If LiveWire offered a if LiveWire became the framework and you typed LiveWire new and it was all my scaffolding Mhmm. And you basically didn't see basically, Laravel became Symphony level. And all of my models have my it's all LiveWire mod extends LiveWire model.

33:26

Aaron

Mhmm.

33:26

Caleb

It's a slightly different I call it, like, a refined directory structure. It's tailored for single file LiveWire components. It's very sleek. It's very minimal. There's no double experience of, like, also being, potentially an SP or whatever.

33:39

And it's just Yeah. LiveWire. You know?

33:42

Aaron

It's no good. I'm not getting there because Laravel is so big and has so much money that I don't feel sorry for Laravel at all if you do that.

33:52

Caleb

Yeah. So I guess there you have to feel sorry.

33:55

Aaron

You have to feel, like, some sort of like, there has to

33:58

Caleb

be bad.

33:59

Aaron

What's the legal like, there has to be some sort of, like, you have to be injured. And and there, I feel like there's no injury, you

34:07

Caleb

know? Yeah.

34:09

Aaron

So it's something where like the wrapper subsumes the underlying library. And like the only, you know, rounding to 0, the only way that people interact with the underlying library is through the wrapper. Or even let's say it doesn't have to be all the way to 0. Let's say 50% of your previous users are now users of wrapper.

34:32

Caleb

Yeah. It's I mean, it's like the best heuristic. I don't know if where this helps, and I've said it 12 times already. The best heuristic for this is, are they on your docs, or are they on the wrapper docs? That's what it is.

34:42

Aaron

Because that's There's gotta be something in the JavaScript world. They're they they wrap everything all the time. There's gotta be something over there.

34:47

Caleb

They wrap stuff. What if there is there, like, a terminal thing? Like, what's that terminal thing that I don't know?

34:56

Aaron

Like like, Iterm? That kind of terminal thing?

34:58

Caleb

No. No. No. No. Like, I mean, not even as low level as I mean, there's, like, choceter and just choceter choceter or whatever.

35:06

Like, tons of stuff is built right on top of choceter, but whatever. That's that's kind of, like

35:11

Aaron

I've never heard that out loud. That's insane.

35:12

Caleb

I know. I've never said it out loud. I don't know.

35:15

Aaron

It's crazy.

35:15

Caleb

But there's a there's a terminal, like, the TUI library that Mhmm. That people like Joe Tanenbaum use.

35:26

Aaron

Right.

35:27

Caleb

And I'm positive if even maybe he has even wrapped it up, but, like, I don't know that that that kind of stuff is ripe for it. It's like somebody does like some really insane technical feat

35:39

Aaron

Right.

35:39

Caleb

On the terminal, and then it's like you just freaking hop right on top of it. But I don't know. I can't think of an exact example. So

35:45

Aaron

No. I can't either.

35:48

Caleb

Yeah. I don't know.

35:49

Aaron

So what are we trying to we're trying to find something that we both agree is bad.

35:52

Caleb

Yeah. We're trying to find something we both agree is bad. And I I give you talking

35:55

Aaron

about any of our friends.

35:57

Caleb

Which is right. And those are all my examples is personal ones from my own life. Right. You know, and there, I think there are at least so I was really pissed off about lowland a while ago. And I think we can talk about this one because there's, like, a statute of limitations on how long ago this was and how small and nobody cares.

36:20

It's nothing. Somebody wrapped so somebody took Alpine, and I don't know how if they used any of my source code or not, but they made a more limited feature set. But it was basically Alpine.

36:34

Aaron

L o w l a n d? D? I can't find anything about this.

36:37

Caleb

Oh, I'm sure it's gone. It's I don't think it's even I don't think it even exists because I told them that I was royally pissed, and they were fine about I mean, like, at the time we were actually friends and they listened to what I said and were, like like, didn't understand it, but were, like, okay. I I guess I won't pursue this. They didn't understand why I wouldn't want it to exist, but it it's essentially like Alpine. You would install this thing and you would use XData and X on and all these things.

37:06

It's just it was just a slightly more limited feature set. It was lighter weight, like, so it didn't have as much of a footprint. It probably made its own reactivity library in there to be even more lightweight or something, whatever. And it was called lowland. And it was very clearly like a like a pre act, you know?

37:23

Mhmm. Very clearly a pre act. And I think under what we're talking about, I just wanna establish that I don't think any of what I'm trying to do would prohibit that even now because you're taking all the ideas, but you are at least doing the work, you know, which is sort of my definition of, like, good competition. Yeah. I feel like that one is just it's a secondary And how do you even police that?

37:48

Aaron

Yeah. Right. It's like I was inspired by your thing, and so I reimplemented it my way. Yep. Yeah.

37:56

That's not that's that's no good. That's not what we're talking about.

37:59

Caleb

Yeah. Which is the windy

38:02

Aaron

of the wall.

38:03

Caleb

I'm yeah.

38:03

Aaron

Yeah. Headless UI is meant to be wrapped, so there's nothing good there.

38:07

Caleb

It is meant to be wrapped. Yeah. They're and and they're so much of it is is, like, are they making their money from this thing? You know?

38:16

Aaron

Yeah.

38:17

Caleb

Like, Adam's not making his money from headless UI. He doesn't care if somebody else uses like, wraps it up and calls it Fredless UI. It doesn't impact his bottom line. And I think that's that's, like, the core thing behind this. Like, we I don't know.

38:32

I I know it doesn't help us answer these questions, but it's so important that, like, is visibility how you make money, you know?

38:40

Aaron

Right. Is there is there damage done? Right.

38:43

Caleb

It yes. And and the mechanism by which that happens, of course, is then are they not on your docs? Mhmm. So, yeah. And may maybe I mean, maybe because this question is so hard to answer and because I've we've already listed, like, things that are completely in different,

39:01

Aaron

you know that.

39:03

Caleb

It's just, like, impossible to do.

39:05

Aaron

Because, like so going back to the original FFmpeg rapper, that's just in my mind, pretty far on the good side of rappers. FFmpeg is Yeah. Enormous, to use, especially for a normie. Yeah. And they made a wrapper around it that does one specific thing in a good way.

39:27

Yeah. That feels good to me. And FFmpeg is not gonna be damaged by that. Right.

39:35

Caleb

It's FFmpeg is a great example of a good one that I similarly would be like, well, yeah, it's FFmpeg. FFmpeg. And, like, me me and Daniel were making that, the podcast editor thing or whatever. Right. Of course, using FFmpeg.

39:49

You know? Of course.

39:50

Aaron

Okay. So we agree that that's a good one.

39:52

Caleb

Yes.

39:53

Aaron

That's clearly on the good side of the spectrum for both of us. The bad side of the spectrum. Oh, man.

40:01

Caleb

I mean, it's Yeah. I mean, it would be

40:08

Aaron

anything that Amazon has wrapped? Like, any of their, like, Elastic or Elasticsearch or anything like that? Or, like, does MileySearch wrap anything? I feel like they've probably implemented it all from scratch. SQLite is from scratch.

40:22

MySQL.

40:24

Caleb

What do you mean SQLite is from oh, like, the an alternative to MySQL, but from scratch?

40:28

Aaron

Yeah. I'm trying to think of somebody that uses, like, something big as its engine and then adds some sort of flavor on top of it, but SQLite is its own thing. All the databases are their own thing except for no. Nope. Nope.

40:45

Caleb

Yeah. It and it's like

40:47

Aaron

This is tough.

40:48

Caleb

Iterating is, like, an important thing. And if I if I had never been, like, burned by this, I would not have this moral, I don't think, and I would feel just, you know, like, well, we need to move forward. It's all about progress. Like, it's all about making the best thing and why would we want that hit. All of this feels like old stuffy, like, you

41:12

Aaron

know, capitalist anti IBM. Yeah.

41:15

Caleb

Yeah. Like, anti competitive Microsofty crap. You know?

41:19

Aaron

I think part of the hard part is, you have been burned, and we're dancing around that, and that makes it difficult. It makes it difficult to, like, nail down specifics because we're trying to come up with examples that we can talk about freely and having a hard time. Because I think the point is we're trying to find where the gradient changes from bad to good, and you're gonna be much you're gonna draw it much further out in that there will be a much bigger portion of bad on the because you are the underlying tool creator in many cases, and you have been burned by this before. And so that changes the way in which you draw the gradient.

42:06

Caleb

So if I had made FFmpeg Uh-huh. And yeah. It that's a tricky example because it's such a niched down little tool. It's not a total wrapper on FFmpeg. But if I had made Radix, like, I let's just use that.

42:23

If I had made Radix and Shad cn and Shad cn actually, like, does a decent job of you still end up on the Radix docs and stuff. Like, when you because you own these components now, and you gotta, like, manipulate them and you do you use Radix to do that. So it's not even the best example, but let's say that Radix has its or, like, React Aria. They have React Spectrum, which is their component, like, on top. So React Aria is, like, the bare metal headless stuff.

42:54

Aaron

Okay.

42:54

Caleb

And then I think React Spectrum or whatever, there's a layer on top now that's, like, here are styled components or, like, shoelace or something like that. Yeah. That that clearly they're, like, sort of, let's just say that I did this, and I'm sick of, like, people making these UI kits on all of my hard work by just throwing a few tailwind classes on it and calling it a day. Yeah. And then nobody goes to my doc site.

43:20

I can't make money off my thing because the only people using me directly are really niche hardcore elite, you know, designers and developers. Yeah. But the masses like,

43:28

Aaron

the 4 the 4 people that are writing wrapper libraries are the people that go go to your docs.

43:34

Caleb

Exactly. Right. The people who give you the feature requests and send you the bug reports are the people harming you most. It's all the people, like, just leeching off your work. So if I had done that, like, and my income is based on that, do I have can is that bad?

43:55

Like, is that bad rapping? If I had made Radix and I depend on, you know, people being on my docs and using my button and accordion, And I just happen to open source the course so that people can easy more easily fix bugs and support from the community. Mhmm. But then somebody just takes all that that work and then makes a wrapper on it. Is that bad?

44:17

Yes. So let's agree that if I had made Radix Mhmm. And all of my income depended on people buying my buttons and accordions and selects Mhmm. That ShadCN, with their thin wrapping, sprinkling in of different styles, different tailwind classes

44:32

Aaron

Yep.

44:32

Caleb

And now AI generation or whatever

44:34

Aaron

Mhmm.

44:35

Caleb

Is bad for me. It's bad. It's bad rapping. Yes. Agreed.

44:38

Yes. Is there a world it what could a license be that prohibits that? And I also wanna, like it we're at 47 minutes, I think, and I told you 20 minutes. So

44:52

Aaron

Yeah. That's okay. Well, let's both just pretend as if we're open source license experts, and I think maybe something like redistribution, like drawing a line between distributing it as an app. So, like, anyone can distribute it as a part of a SaaS app or Right. Open source app or whatever.

45:18

But you cannot redistribute it as a library.

45:23

Caleb

Yeah. Is that anything? Right. I mean, that's yeah. That it's can you classify library?

45:30

But, yeah, like, you cannot re because everybody knows what a rapper is. It's like Yeah. Yeah. Yeah. You know, how do you define rapper?

45:38

And, yeah, it's like Mhmm. But redistribution is an important word. I think it's like preventing redistribution as, you know, does and it the thing is is it doesn't have to just prevent being paid for because the free stuff is just as harmful, You know, if not more harmful.

45:57

Aaron

Get Vercel throwing a $1,000,000 at Shad and, like, how are you gonna compete with a free open source fully funded wrapper when you're just the guy alone trying to compete? Like Yeah. You you can't.

46:13

Caleb

Yes. I wanna like make this license and call it the, like, scrappers license or something. Like it's for people who are trying to, like, honestly, like do a hard day's work and make, you know, and be a sustainable, developer who aren't funded in other ways. The software is the way. Mhmm.

46:32

So yeah.

46:33

Aaron

I I like that. We'll workshop the name, but I I like the idea. Scrappers. It doesn't move

46:39

Caleb

me. Redistribution prevention clause

46:42

Aaron

that says The working man's license.

46:45

Caleb

It's the working man's license. Yeah. I think that's right. Like, who is this license for? It's for projects that are funded by the software.

46:55

Mhmm. Not elsewhere, you know? And Gosh.

47:01

Aaron

Yeah. Yeah. That's just oh, man.

47:05

Caleb

If I make Radix, are you upset that I put this clause on it? Like, why would you care? You're only gonna use, like you have free access to it. You know? You can Correct.

47:14

Aaron

At that point, I'm not upset. Yeah. If if your open source license says you can use this for free in paid software and in open source software. However, you cannot redistribute it, and I'm sure there's some sort of legal technical stuff.

47:31

Caleb

Right. Right.

47:31

Aaron

But you can't redistribute it as a library. I think I'm okay unless I'm like I don't know. I feel like it could get murky around, like, themes. Like, if I made a theme with Radix

47:48

Caleb

Like an app starter kit. You know?

47:50

Aaron

Right. Yeah. Is that good or bad? Yeah. That Or, like, allowed or disallowed?

47:54

Caleb

Is gray area. Yeah. And I think it should be disallowed, but that's right. It's, like, I guess, it's what is the core it I mean, this doesn't add any clarity to it, but a nuance is like it's what are you selling? Alright.

48:15

Dude, it's the docs, man.

48:17

Aaron

Just the docs. You want people on your doc.

48:19

Caleb

And in with the starter kit thing, that can go both ways. It can be like it it can there could be there are 2 different starter kits. There's one that is, like, this is the the app kit. You know? Mhmm.

48:35

And you go here to learn how to change all the different button variants, whatever, and then we're just back to it being a library again. You know what I mean? But if it's like, here is an ecommerce SaaS app that's turnkey and out of the box, yes, it can totally use this. And maybe it's best to start really conservative and just, like, find something defined to cut out even if it you know, making it more conservative so that it's, like, less dangerous. You know?

49:05

Aaron

Didn't you have an episode at some point recently? It's like about solving the problem or, like, eliminating the prob eliminate the problem, don't solve the problem. Right?

49:17

Caleb

Yes.

49:18

Aaron

Didn't you do an episode?

49:19

Caleb

I did.

49:19

Aaron

Is there a way to just eliminate this problem? I would. Yeah. Just be rich, and then it doesn't matter? Does that eliminate the problem?

49:27

Caleb

Yeah. It's just hard to sit eliminate I mean, totally. There are ways around this problem. Like, if I am creating Shad and Radix, I could I could not open source the radix part. It could just be shad, and I could charge for it.

49:50

And now it is a app UI kit that you pay for, and you download this code in your project. Now nobody's gonna wrap me. I'm not worried about it at all. You.

50:00

Aaron

You don't have you you honestly don't even care if people come to your docs because they're paying you for it.

50:04

Caleb

They're paying me for it. Who cares what you do with it? But, yeah, it's like, wouldn't it's just the worst world. The much better world is that it's, like, totally free, and you can frolic and play with it. And then if you wanna buy an extra template, you give me a $100, and then I I make money.

50:23

But, yeah, I mean, a way to remove the problem is just charge for the freaking software, you know.

50:28

Aaron

Yeah. And, you know, that's not crazy. I think I think the hard part is, wanting to have it all, which is, trust me, is the hard part. But I think, like, wanting to have it all in terms of it being open source and you get the benefit of people helping and you get free built in distribution, because it's like, everybody go use it. It's free.

50:52

But also wanting, like, trying to use it as your stream of income. That feels like trying to have it all. Like, you could have it open source and have a ton of people use it and potentially rep you, or you could charge and it be closed source and potentially make money with less distribution. And maybe, like, maybe Catalyst maybe Tailwind's Catalyst is, like That's

51:13

Caleb

a great example. To that. Right. It's, like, everybody uses shad. Nobody's using Catalyst.

51:17

Aaron

Nobody's using Catalyst.

51:19

Caleb

Because they they charge for it. So Because they charge for it. Exactly. So it's like okay. Where if Catalyst was free and open source

51:28

Aaron

Mhmm.

51:29

Caleb

And better than shad Mhmm. Which design wise, I think, hands down, Catalyst is gorgeous. And there's so many things about Catalyst that are just premium compared to shad. Right. So doesn't matter.

51:43

Right. Let's just say let's just say that it is an equal footing, like, free open source wise. Now it's super popular and tailwind. Right. I mean, they could, in theory, make money off of extra things.

51:59

You know, they are the Vercel now benefiting from this thing. Right. So why don't they make it free and open source? Probably because it takes so much work to maintain that it's, like, why would

52:10

Aaron

they

52:11

Caleb

Yeah. Did I say anything?

52:14

Aaron

You said everything. I don't know if we got anywhere. But, yeah, I I agree that that is, like, that is potentially what you're facing if you make it closed and paid Is you'll have a niche group of people that are potentially very excited. Yeah. And then you'll have somebody, with way more time than you that doesn't need money, and that's the hard part is there are people out there that don't need money Totally.

52:42

That's gonna look at your thing and be like, oh, that's a great idea. We should do an open source first. And then it's kinda like game over. Even even post hoc. Like, you know, Catalyst came out after Shad, and so it was fighting an uphill battle from the beginning.

52:56

Right. But if somebody looks at your thing and then goes and makes an open source version

52:59

Caleb

of Nova and Filament.

53:00

Aaron

You could still you could still lose. It's Nova

53:03

Caleb

and Filament. Yeah. Nova and Filament is a great example. So is this just the the game? And it's like

53:10

Aaron

That is the question. Yeah.

53:11

Caleb

And it's like, man and I always come back to this that it's like, if this is the game and I don't want to do that Right. Does that mean that I have to stop playing the game, or can't I just set a bunch of rules for myself to play in even if you hate them? So what?

53:26

Aaron

Like 100% can and should set your own rules even if people hate them.

53:31

Caleb

Right. Yeah. And I'm always flip flopping back and forth on because it is so much easier to just be, like, here's something that's free and open. Use it. Love it.

53:39

Buy my stuff. You know?

53:41

Aaron

Yeah. And, like, it'll come back to me somehow. Exactly. But yeah. If if it never comes back because everybody's like, oh, I'm not using Caleb's thing.

53:48

I'm using Caleb Prime. And you're like, no. No. Caleb Prime uses Caleb under the hood. Yeah.

53:53

Yeah. You lose. It's game over.

53:55

Caleb

Yeah. Really tough. So, yeah, maybe I should you know, content is nice in that way. Although you do have, you know, you have reaction videos to deal with, but content is is nice.

54:08

Aaron

It's much easier. It's much it's much easier.

54:10

Caleb

Even the content that I make and sell, it's like and I have no worries if somebody makes similar content. Like, I don't know. It's like people like my content and they buy my content. They can buy 2 people's content in the same day, and they're they're happy to do it. The more the merrier.

54:25

But this freaking software, man, it's not that way.

54:28

Aaron

I wonder I don't know if it's tenable because you are but one man. Taking the air out of the room is is a viable strategy. So you come out with the thing and the wrapper for the thing.

54:42

Caleb

Right. That's yeah. That yes. Yeah. So if I'm creating a better shad and Radix

54:57

Aaron

Mhmm.

54:58

Caleb

And launch it, now, you know, we're cooking. It's just hard to make a better shad out of gate. You know?

55:08

Aaron

Yes. But if you give the community the place where they can apply their effort, then, potentially, you become the coalescing point.

55:18

Caleb

Yeah. You have to that's so huge. You have to provide the space for people, and this is that community aspect that I kinda suck at because I'm not one to spend time in Discord and stuff. Mhmm. But and I've I've just it's been my experience that if the leader's not in on the community, nobody's in the community.

55:38

Aaron

Right.

55:39

Caleb

But, yeah, if there was, like let's say I launch something and it's like, I start a Discord or whatever, and it's just come on, come all this excitement around it. And it's like, we'll build your thing here. And you know what I mean? Yes. Community is huge.

55:54

That's a way

55:55

Aaron

to Or or even scale it scale it down. And let's say, you're launching you're launching, you're you're launching headless UI, or I I just don't know enough about Radix to speak intelligently to it. You're you're launching headless essentially. Is it headless UI? Okay.

56:13

So you're launching you're launching, Radix. And then maybe the tanstack guy, maybe he's a good example of this. Like, he's got tan table or whatever it's called. Who knows? It's all tan.

56:25

And then he's got tan table view, tan table react, tan table whatever the other ones are. Who can say? But, like, even if you come out of the gate with repos for Caleb and, Caleb Prime Vue, Caleb Prime React, if this applies, I don't know, Caleb prime, Astro. Then you have like a place where people can look at it and say, oh I wanna use Caleb's new thing in view. Oh, there exists a repo.

56:53

It doesn't even have to be a Discord. There exists a repo where that has begun. I will push my efforts there instead of saying, hey, all the Vue guys, let's get together and wrap Caleb's thing for our library.

57:03

Caleb

Yeah. Right. It that is it. It's very tricky. It's tricky to do because it's sort of a land grab and nobody likes it when, like, when somebody grabs land and doesn't do anything with it.

57:16

That's where it's hard. It's like, because those tan the tan sack guy has to now be invested in that view thing and has to decide what PRs to merge and what not to care about it. And potentially it's a better world where somebody makes their own thing called tanstack view. And they can that's all they care about. You know, it's better for the end user.

57:37

But it's, yeah. So that's a tricky thing. But you're right. Like that is sort of a way to do it. It's like the tan stack or like, you know, whatever you come out of the gate with the stuff that is gonna be competing with you.

57:53

Yeah. So I don't know. I I I wish, this is all on a search to have an easy it's all about having an easy life. And if could just find a a principle to have that even if I felt bad about some of the effects of it, if I could point back to it and remind myself that this is your like, with the content creation, I used to, like, be a little weird about content creation and even things like like Jeffrey out of honor didn't do anything livewire related and let me do what I wanted or related on Laracast. He didn't publish any Laracast content because he knew that that was a way and shout out to Jeffree Man.

58:26

Like, he is somebody who thinks that way and understands those things and has principles. Like, that is a man with principles. And I felt that way. But then I realized that, like, truthfully, it raises all boats. If like people aren't gonna stop buying my thing, they're just gonna be using Livewire more.

58:47

And that benefits me in other ways too. So like, right. So there was a defined shift where I realized that, and now it's, like, everybody go make Livewire content. I will retweet you over and over. Team code course, you're making, you know, projects that I'm literally making and selling to.

59:05

I'm retweeting you and shouting you out, and it has made my life so much better. I just want to feel good. And I haven't come to that same conclusion with rappers, because they're exclusive. You're not using 2 frameworks. Yeah.

59:22

You know?

59:22

Aaron

Yeah. Yeah. I think I I think the crux of the argument comes down to damages. And so if, like, you, not to diminish, rap Laravel. Right?

59:41

That's a good analogy.

59:42

Caleb

I don't rap Laravel.

59:44

Aaron

You do you you live on top of Laravel.

59:47

Caleb

From your Laravel app no. I do not rap Laravel, Aaron. From your Laravel app, you install LiveWire. The yeah. You use Blade.

59:56

It's not a proprietary or custom template engine at all. It's completely a Laravel plug in. Yep. You use models. You know, in every way, you are in a Laravel app.

1:00:12

You go to Laracon. Your it adds to your excitement about Laravel.

1:00:19

Aaron

So let's let's say this then. Imagine because I'm I think I think moving so I think we have been talking about it as if the problem is at the wrapper stage, but I think the problem's at the income stage. Do you care if you get wrapped if you're still making a ton of money off your projects?

1:00:42

Caleb

Interesting. I mean, well, it's it's hard because it's always relative. It's like, yeah, I'm making a ton of money, but because I'm making that money, I'm hiring people and scaling up, and now I could be making much more and scaling up even further or something. You know what I mean? I don't think it's as, like, simple as as that.

1:00:59

Aaron

I don't follow that. Say that again.

1:01:01

Caleb

So, like, there's no there's no turning point where now you're making a ton of money and you don't care. Because, like, if I made more money, I would hire people so that I could do less and do more. Like, whatever. I could I would hire people so that Okay. The LiveWear ship could do even more.

1:01:16

You know what I mean?

1:01:18

Aaron

Okay. I I agree with that. I don't know that that is I don't know if

1:01:23

Caleb

that is wrong. Think there's a scale where I stop being pissed off if somebody reduces my income and optionality, you know, off of my work.

1:01:36

Aaron

Right. And I'm saying, what if that what if those things weren't correlated? So let's say you make x now

1:01:44

Caleb

Yeah.

1:01:44

Aaron

Which is objectively true. You make x. Let's say that somebody wraps you completely up tomorrow Yeah. And somehow you make 2 x off of that. Are you happy?

1:01:57

Caleb

Oh, yes. Totally. Okay.

1:01:59

Aaron

So it's not the rapping. It's the it's the damage.

1:02:02

Caleb

Yeah. I guess I mean, I'd have to think about it and make sure that, like, I wouldn't care about, like, showing up at a conference and people, like, being, like like, oh, wow. You have, like, a high pedigree. Like, you you did this good thing where in the other world, it's like, who are you? But yeah, no.

1:02:16

It's you're right to say that it is it is much more about income.

1:02:21

Aaron

So this is this is that's solve the problem. Remove remove the problem. Like

1:02:25

Caleb

And I make the best product and the most money.

1:02:27

Aaron

If the income was removed from the eyeballs, then you don't care about the eyeballs, in which case you don't care about being wrapped.

1:02:36

Caleb

No. It it's tricky because let's just say when I was, like before I even started putting my sights on money for this stuff Mhmm. It was about exposure. You know? Mhmm.

1:02:46

You know?

1:02:46

Aaron

Which is pre money.

1:02:49

Caleb

Yeah. It's opportunity. Yeah. Yep. It's yeah.

1:02:53

So, yeah, money is a tricky thing to say in this realm because there are plenty of worlds where the money doesn't matter, but exposure is the same thing as money. And that's why I like the word optionality that you use. That's like because it encompasses, you can convert that into money. Yeah. Or you can convert it into Goodwill or you can convert it into, fame.

1:03:24

Aaron

So here's here's something. Tell me how you would feel. I'm gonna lay out a scenario. Tell me how you would feel. This is, you are now the creator of SQLite.

1:03:32

Your name is Richard d Hipp. You created SQLite in early 2000, and you've been working on it ever since.

1:03:39

Caleb

Yeah.

1:03:40

Aaron

AT and T, previously Motorola, Apple, they pay your company, totaling $10,000,000 a year in revenue to SQLite Inc.

1:03:53

Caleb

Yep.

1:03:54

Aaron

There are 3 people who work on it. You personally take home 3, 4, $5,000,000. Then, Terso comes around and says, hey. We're gonna put SQLite in the cloud. Yeah.

1:04:08

Caleb

How do you feel, Richard? I make less money. Right? Because everybody will start using Terso and stop using the people that are forwarding me money. Right?

1:04:22

Aaron

Maybe. I doubt Apple, Google, Nokia, Motorola. Like, these people that are using SQLite, I doubt that they're gonna use SQLite.

1:04:29

Caleb

Right. Right. Right. Okay. Right.

1:04:30

I I got that, the premise. So yeah. Sure. Love it. Especially Love it.

1:04:37

Aaron

Right?

1:04:37

Caleb

They're saying the word SQLite. That matters a ton.

1:04:40

Aaron

Like, do you just keep coming back to that? So maybe that is the problem. Yes. Maybe you're saying

1:04:45

Caleb

It's brand

1:04:46

Aaron

wrapping. Maybe you're saying that maybe I'm saying that you're saying that money is the problem, but you're saying obscurity is the problem.

1:04:59

Caleb

Obscurity is the problem. Yes. So it

1:05:02

Aaron

was a it was a false line of, reasoning I was going down. Obscurity is the problem.

1:05:07

Caleb

Yes. Obscurity is the problem.

1:05:11

Aaron

So if Apple, Microsoft, Nokia, Motorola, Palm Pilot all paid you $5,000,000 a year and you were a nobody and nobody ever knew the name Richard DeHipp Yeah. That wouldn't feel great.

1:05:23

Caleb

Oh, no. That's fine. That's a different that's a different that feels great because you're selling somebody's software. You're getting all the

1:05:34

Aaron

money. Right. But then, Terso still exists. So the scenarios still is entire, but they don't say the light and turned it into Lib SQL. They don't use SQLite.

1:05:43

Caleb

They use Lib SQL. Right. So they let's say, right, this totally tangential arrangement where they're wrapping me and calling it Lib sequel or whatever. I'm already making a great wage selling the software, which is interesting because now that they forked it, whatever it that means it would be like open source where Apple wouldn't have to pay me. So it's, like, kind of

1:06:05

Aaron

seem is already open source. I think that's part of the point. Is SQLite is already open source.

1:06:09

Caleb

Why would Apple pay

1:06:11

Aaron

exactly for SQLite? They pay him for support, but they also pay him for private test cases. They pay him, like, selling the selling the SQLite test suite is actually a big portion of their income. It's a private thing that they sell to other people who are implementing the SQL standard, which is really interesting.

1:06:30

Caleb

That's cool.

1:06:31

Aaron

But, yeah, they they pay him for consulting. They pay him for maybe specific licensing. That I don't know.

1:06:39

Caleb

Yeah. So this is, slightly different. But I, I don't think I want somebody to fork my project because it is a potential path to them getting so big and ubiquitous in their freeness, and they already are stepping on my shoulders, so they have all of my goodness. And then eventually, it's so ubiquitous, The new employee is getting hired up. Wait.

1:07:04

Why are we using sequel that antiquated SQLite? Like, everybody's using Lib SQL. You know? Mhmm. And then word gets out, and then eventually, it's like and we don't have to pay them for that.

1:07:12

Or or they have their own test suite offering. Let's use that. So, yes, it's a it's an attack vector that does not I do not approve of.

1:07:20

Aaron

You do not approve of.

1:07:21

Caleb

It's a leak. Do you know what I'm saying? I would feel bad about that. Even if Apple was paying me 10 mil, somebody wrapped it because it that just means it's like I'm temporarily the king, but Mhmm. I will be dethroned, eventually.

1:07:37

Aaron

yeah. So this is instructive because I don't think that figuring out how to make money in spite of rappers is that important anymore because it's not necessarily the money that you care about.

1:07:53

Caleb

Yeah. Right. It's it's the optionality. It's the representation. You know, that's what it is.

1:08:01

It's like, is my project being represented for the work and the contribution that it made? Right. Then I'm good.

1:08:10

Aaron

Yeah. So Then I think you have to institute rules that are gonna make you happy because you can't, like, you can't eliminate the problem by just making more money regardless of who wraps it because that's not what you want. That's not what you're after.

1:08:23

Caleb

Yep. Yep. It's true. But it's so silly because it's like, I want everything that it is. I want 99% of what open source has been for me, which is sharing software, community contributions, people using software and benefiting from it for free and making more money than they and then occasionally supporting me independently.

1:08:45

And it's this wonderful harmony land that so far is how open source feels to me. Yep. But there are there's these gaps, these, exceptions that are technically possible, these loopholes per se. They're not loopholes, but these things that are allowed that take that bring all that to its knees. And it's like, well, if this isn't even how we're all using open source anyway, then can we just plug up that leak so that I don't do something that's not beneficial for everybody, like charge for the software?

1:09:22

You know? Mhmm. It's like

1:09:24

Aaron

Okay. So here's my ruling.

1:09:26

Caleb

Yeah. I think charging for

1:09:28

Aaron

the software is a bad move. I agree.

1:09:29

Caleb

Yeah. It's I

1:09:30

Aaron

think you're you're gonna you're gonna hamstring yourself out of the gate. Somebody's gonna look at it, say, neat idea. Let me get me and my dumb friends together and spend all of our one wild lives building this for

1:09:42

Caleb

free just to take you out. Yeah. You can.

1:09:44

Aaron

So I think that's a nonstarter. I think we have, landed on the reality that you want to preserve optionality. And in a concrete sense, that means the, the Caleb brand being forefront slash, the eyeballs landing on a Caleb Porzio property. Yep. Does all that seem right so far?

1:10:11

Caleb

Yep. Gotta be. And it and it has nothing to do I mean, my name doesn't, but I know you're using that as a thing.

1:10:18

Aaron

Don't know the name. Oh, actually, we do know the name. Flux. Yeah. You you tweeted the name.

1:10:22

So, you want, you want the Flux brand to be visible and you want, eyeballs landing on you have many brands. So in this case a Caleb Porzio property, whether that's Flux or Livewire or Alpine. That's where you want the eyeballs to end up. Yeah. Okay?

1:10:42

So no paid. You want the eyeballs on something you own, and you want the brand to be a brand and not just an implementation. This to me, here's here's what I think. I think you need to have, a different license because vibes are not enforceable. As much as as much as you and I, you know, men of duty and honor, as much as we want, like, everyone does the right thing, it's just not gonna happen.

1:11:19

And so that's reality. So I think you need a new and different license. And here's here's what I think could be really interesting is, sanctioned rappers where the docs live on, okay, La Porteo property. So, like, to prevent the fact that you don't wanna get into Astro or Svelte or or not even want to. You don't have enough time.

1:11:44

Right. You don't have enough time to get into all of those things. Is it possible that you you sanction one implementation and all of those docs still live on your site. Like, it's a free open source thing, this this wrapper, and other people can work on it, but all of the optionality still accrues to you.

1:12:11

Caleb

Yeah. I mean, that's a tricky one. It's tricky. And and more what I'm concerned with is, like like, if if I was Taylor and flux is Laravel and then there's symphony, like, if he wrote both of those and then, you know, like statimec and all these other, like, framework type things. If he launched both of those and all these other frameworks

1:12:33

Aaron

Which ones? He's launched launching Laravel

1:12:37

Caleb

and Symphony at the same time. Okay.

1:12:38

Aaron

Mhmm.

1:12:39

Caleb

And if it was just if Symphony was just part of Laravel, then everything would be fine. You know? I would maybe, like, Nova is a good I just I wish we could use the freaking examples. But it what I'm saying is I don't care so much about Flux. I care about what's under its hood.

1:13:03

I want it to be open source. What's under Flux's hood? So that we can Is Flux a wrapper around the thing that you really care about?

1:13:11

Aaron

Yes. Like, flex is using the engine that you really care about.

1:13:16

Caleb

Yes. It is. Boy. And it's thin enough. Like, most of the work that I've done, at least 50% in the last 8 months, is for the engine.

1:13:31

And I am just nervous that if I open source this engine independently that I so want to, that, direct competition will just use the engine, and it will propel them even all of the things that I show, like, when I show Flux and I go, it can do this, and everybody goes, and it's, like, totally a leg up on direct competitors.

1:13:57

Aaron

Mhmm.

1:13:58

Caleb

That part is open source. I put all that hard stuff in this thing, so they can just take that thing and go, oh, inversion schmeckle, we have that now too. It's like, oh, freaking great. You know? So I don't know, Aaron.

1:14:17

What if I put a, a vibes clause? What if I put a vibe a vibe since in

1:14:25

Aaron

it's like nobody's ever going to use it in real projects?

1:14:29

Caleb

Like what if it literally totally MIT license, but in the read me there's, like, literally a a vibes document. And it just says just says, like Unenforceable. Totally. Completely unenforceable.

1:14:45

Aaron

Then it's moot.

1:14:46

Caleb

No. We'll entertain this. That I literally I

1:14:49

Aaron

will entertain. I will steal manna. Go on. I pitch.

1:14:52

Caleb

I just give a pitch. Totally unenforceable. You can ignore it. But it is me expressing that it is me expressing what I would have you do, and that is use it and enjoy it, create tools around it, but don't wrap it. Mhmm.

1:15:10

And that's it. And then if somebody does, they there's at least something that exists that somebody can say, hey, this kind of violates Caleb's wishes, you know? Mhmm. I don't know. Is it worse than nothing?

1:15:25

Yep. Really? It is. I really do. Bad.

1:15:28

Aaron

Because I I real here's what I think is gonna happen. You're gonna get tons of questions.

1:15:33

Caleb

Yeah. Right.

1:15:34

Aaron

So you're gonna be inundated with support of, like, hey. I know it says don't wrap it, but I wanna wrap it. And you're like, well, so you're gonna get a bunch of support from the good guys. And then the not so good guys are just gonna be like, it's not really a rapper. I've added so much on top.

1:15:52

Right.

1:15:53

Caleb

That is

1:15:53

Aaron

And it's like, well, dude, it's still a rapper. And they're gonna be like, no. It's not a rapper. So nobody I don't think anybody's gonna be dumb enough to say, I read the vibes clause, and I'm just gonna I'm gonna go against I think everyone is gonna say, I read the vibes clause and it doesn't apply to me for this particular reason. And it's like, well, now we're just, like, now we're just mad at each other.

1:16:13

Because now I'm holding you to an unenforceable standard. And I'm asking you to see it my way. And you're telling me I do see it your way. We just disagree on what this text says. It's like,

1:16:24

Caleb

what do we do? Yeah.

1:16:25

Aaron

Yeah. That feels bad.

1:16:27

Caleb

Yeah. Well, I at least I like your point about removing the problem, I think, because, I mean, if there's anything to take away from this, it's that it's not an easy thing to solve because you can't define any of this

1:16:37

Aaron

because nobody agrees on any of it, and you can't

1:16:37

Caleb

define any of it clearly. Agrees on any of it and you can't define any of it clearly. I do believe I can do whatever I want. And I, so there is a world where I do something dumb, but it at least saves me from it at least solves this problem, but introduces 10 other ones. Yeah.

1:16:55

And, Yeah. Ideally, I remove the problem altogether. This is not an easy thing to do, but I just don't wanna live in a world I want to live in the world where I go wrap it up. It's in the license. Or I say, like, how could I feel bad?

1:17:12

All the stuff I didn't want wrapped up, I put in the other license.

1:17:15

Aaron

Mhmm.

1:17:15

Caleb

It's just that world doesn't exist right now. So if that can exist, I'm still gonna look for it.

1:17:21

Aaron

I think we need to figure out the first thing about open source licenses. I know nothing. And so this might, you know, this might already exist in some shape or form.

1:17:32

Caleb

I mean, there's copy left, which is, like, something that is like, it's kinda bizarre actually that MIT exists. Like, copy left, I forget what, what it's called, but copy left is, like, when if this thing this thing is open source and you can use it freely in your thing, but your thing is open source, which I think Linux is copy left or what it's but UNIX is cut maybe UNIX can't be copy left, but whatever. This is a unlike old days thing. Right. And it just means that this license will propagate through every work

1:18:09

Aaron

Yeah. That uses it. Poisons everything.

1:18:11

Caleb

It poisons everything, and the poison is that your thing has to be free and open source.

1:18:17

Aaron

Doesn't help that doesn't help you because you'll just get crushed by some free open source thing Right. That's

1:18:22

Caleb

so the reason that this so I guess this I am copy left in spirit, maybe.

1:18:28

Aaron

Mhmm.

1:18:29

Caleb

But they're talking about money, and I'm talking about optionality Right. Right. Right. Which is bigger concept than money. But I'm looking for something like copy left that's like, I have a spirit of openness.

1:18:43

I'm trying to share this with you for free and create the best thing that we can create. I just don't want

1:18:50

Aaron

you you to stab me in the face.

1:18:51

Caleb

I don't want you to stab me in the face. That's what it is. But, man, with MIT, it's, like, crazy. It's, like, it's so funny that we all default to this thing Mhmm. Where, like I will stab you in

1:19:02

Aaron

the face, and you will like it. Yeah.

1:19:03

Caleb

Take my work and charge for it. Take my work and just put a credit card processor in front of it. Yeah. And don't even say my name. You know?

1:19:16

Aaron

Yeah. And I'm I'm like, I don't know if this makes me like a a a robber baron or like a ruthless capitalist, but when I see, like, AWS taking Redis and being like, well, it's open source. Now we're gonna do a hosted version of it and make a ton of money. I'm, like, what did you guys expect? You made

1:19:33

Caleb

it open source.

1:19:34

Aaron

Yeah. Right. What did you expect?

1:19:36

Caleb

You

1:19:36

Aaron

can't be mad. Like, those are the rules. You made the rules. They played by it, and they outboxed you. And I'm like, yeah.

1:19:45

Well, it sucks. So that makes

1:19:47

Caleb

me Okay. So maybe the ultimate no. No. No. It's everything's on the table.

1:19:51

The ultimate is the problem with the outfoxing, Erin. The the all these problems arise because I I feel bad when somebody it takes the winds out of my sails when I put hard work into something and I have something an innovation. That's why I don't share that much stuff. Mhmm. Because when I have innovations, I don't even wanna share them because they're just gonna get scooped, which is whatever.

1:20:17

That mentality, because I have that mentality, I've developed these principles, and because I have these principles, I will not violate them even though everybody else violates them. Mhmm.

1:20:27

Aaron

So it's a bummer because You're playing from behind.

1:20:31

Caleb

Exactly. So I can't be the outfox where if I want to be the the AWS and just, like, whatever, that's the game, Redis. You should've known. You should've had your own, you know, thing and be like Redis it I don't know. Okay.

1:20:46

What I'm saying is maybe a solution here is to just go, we can scoop each other. And if you're gonna scoop me, I'll scoop you harder. You know?

1:20:57

Aaron

Which Yeah.

1:20:58

Caleb

Like

1:20:59

Aaron

I mean I mean yeah. Like, there's something right about following the rules that is hard to be it's just hard to be mad about. But, yeah. If I get it that, like, until

1:21:16

Caleb

Well, it's it is and it's not. Like, you have so many principles that you, you know, like, propagate through Twitter and That

1:21:23

Aaron

are not codified. Yes.

1:21:25

Caleb

That are not, you know, codified. And and you're not like, well, we're in the rules. You know? It's like Yeah. You're you're like, no.

1:21:30

Like, you know, what's a what's a core principle of yours that you preach about that you like low key shame other people for?

1:21:37

Aaron

I'm just using that word. It's better to be optimistic than cynical.

1:21:40

Caleb

Yeah. Is there one that that, like, that you're mad at some okay. Like, yeah, people well, I don't know. Is there an act something something that people do on the Internet that didn't I, like, reply to something the other day? I don't know.

1:21:54

You know, something

1:21:55

Aaron

like Oh, you did.

1:21:57

Caleb

Like, you had some

1:21:58

Aaron

memes. Oh, memes.

1:22:00

Caleb

Right. Yes. You're like

1:22:01

Aaron

To annoy the bejeezers.

1:22:02

Caleb

People doing meme ing is bad.

1:22:05

Aaron

You know? Well, that's reductive, but sure. We can go with it.

1:22:07

Caleb

You know what I'm saying?

1:22:09

Aaron

Yeah. My the original statement was corporate accounts using memes as marketing is risky, which is, of course, nobody can pin me down on that because it's so it's so

1:22:19

Caleb

It's evasive. But we all know what you meant, and and we know who you're talking about too, which is

1:22:26

Aaron

so funny. About HDMI and Supabase.

1:22:29

Caleb

He said it, guys. He said it. Yeah. And, yeah. So so there's something that's, like, I don't know.

1:22:37

Whatever. I'm just bringing attention to the, like Right. Like, if even if licenses didn't, there's there's there's ways

1:22:45

Aaron

to be When it comes to I think when it comes to to business, when the norms have been violated, that is, like, that is an affront to the commons. Right? There's there's a commons where it's like, hey. We pick up our trash and we don't do graffiti. And then when somebody does graffiti, and it's like, well, the rules don't say you can't do graffiti.

1:23:08

Then it's game over. Right? You either have to change the rules, or you have to work twice as hard to perform the commons. And it's just like

1:23:16

Caleb

It's petite view. It is. Petite view went, this is what happened. When and when Evan wrapped me, it was such a brain buster for me because I was pissed because he took my innovations.

1:23:29

Aaron

Yep. He took your ethos and reimplemented it.

1:23:33

Caleb

He had v data that didn't exist before Alpine. You know? Mhmm. Mhmm. And throws it out there, and and it's like, wait a second, dude.

1:23:43

But, of course, I'm not an idiot. I'm sitting there going, I took the other attributes from him, you know, it's like, so, so maybe there's at least that It's like if somebody wraps you, take the gloves off, and you punch them in the face.

1:24:01

Aaron

I mean, probably not profitable, but, yeah, like, here here's another here's another maxim that might maybe is analogous to remove the problem. So you could spend all your time fighting with these people. Is there a way to not fight

1:24:21

Caleb

at all and to just beat them? Right. That ultimately to yes. That's this is a loser's mentality.

1:24:28

Aaron

This is. So, like, if Symfony had invented Laravel

1:24:31

Caleb

Yeah.

1:24:31

Aaron

There'd be no problem. Totally. If PHP CS sniffer had made a nice version that was, like, opinionated or whatever Nunos thing is

1:24:40

Caleb

Yeah.

1:24:41

Aaron

Pint wouldn't exist.

1:24:43

Caleb

Yep.

1:24:43

Aaron

Right? If Radex had gone all the way, Shad wouldn't exist. So is there a way to rise out of the muck and the mire and just donkey stomp everybody out of the gate?

1:24:54

Caleb

Just be better.

1:24:55

Aaron

You can do whatever you want. I'm going to win.

1:24:58

Caleb

Yeah. It's just hard.

1:25:01

Aaron

It is hard. Yeah. But, yes, honestly life. But, yeah, it's hard.

1:25:05

Caleb

Honestly, that is right. That is probably the right mentality is like, okay. Like, don't be mad that somebody took your thing and made something slightly better on top of it. You just do that. You know?

1:25:20

Aaron

Just do better. Yeah.

1:25:21

Caleb

Just do right. And so I guess there's 2 things. It's, like, let's say that, so let's say that, like, now we can talk about Nuno because we're back on his side. K. He raps PHP unit.

1:25:32

Like, it's it's a great example because it takes something that is not as I mean, okay. Laravel and symphony is like the best example because we're so sympathetic to Laravel's cause. Mhmm. That's like, oh, I totally would not wanna use symphony. Not at all.

1:25:46

You know? Never. Laravel. Oh, it's just it's beautiful. It's aesthetic.

1:25:50

It's it's everything. So I love that. I wanna use it. Now symphony goes, there's a real demand for this minimal, you know, whatever vibe. We're gonna create chompy.

1:26:04

It's the lightweight alternative to symphony. Whatever. Okay. I mean, I could talk myself back into why that's not a great idea for symphony. I guess it's it's hard.

1:26:16

Mhmm.

1:26:16

Aaron

But yes. Get anywhere. He just ended with it's hard.

1:26:19

Caleb

Really? It's it's but it's there is, there is a path here that is just be the best, be better than everybody. Make be so good that nobody would like something else more than your thing, because your thing is so good.

1:26:36

Aaron

That is the way that you win. That is the way, in my opinion, that Tailwind has won. There's been Piko. There's been UNO, but everybody else is just like, well, Tailwind Tailwind's better.

1:26:47

Caleb

Yeah. Tailwind is better than them. They win because it's better. It's better. Yes.

1:26:52

They and Adam's the perfect guy to do it because Mhmm. But the cost of that is, is extreme, and you have to be willing to it sucks that that and I I I feel like

1:27:06

Aaron

he's fighting all the time on every front.

1:27:08

Caleb

Tooth and nail on every front. And he just has to be better than everybody all the time. Mhmm. Mhmm. And that is a really hard way to live.

1:27:15

It's like, can we just let him have his thing? But, you know, and it eventually is better for the consumer because they have more options and better options. Competition is good for consumers. Yep. So, all right.

1:27:29

Well, there's a few, there's a few good things here. I mean, there's plenty of good things and, you've given me some good perspective. And I guess currently I'm, at least back to square 1. But,

1:27:40

Aaron

but at least hopefully knowing thyself a little bit more. Yeah. That's that's maybe helpful.

1:27:45

Caleb

And I I'd I think I need to explore 2 options, the the way to remove this problem and the way well, this maybe is a way to remove the problem. Outfox, like, how can how can I just be better and win better? You know? Mhmm. But Yeah.

1:28:01

Aaron

I will say regardless of what you do, if you're going to open source the engine, start with the most restrictive license possible and work your way towards lesser restriction.

1:28:15

Caleb

Exactly. I can always just I could even launch a beta and throw some, you know, scrappy license on it that's, like, I invented this. I know it sucks. I'll remove it when it's 1.0 if we don't love it. You know?

1:28:26

Aaron

You can launch it with a source available license. It's like, you can you can look at this,

1:28:30

Caleb

but you

1:28:31

Aaron

can't use it.

1:28:32

Caleb

Yeah. I would like to have people contribute, but but there is, yeah. You know what I should do? I could at least kick the can with a

1:28:40

Aaron

Yes.

1:28:40

Caleb

With a restrictive license at the outset. And honestly, maybe this is the solution is give yourself a head start. Just, just give yourself the headstart that you need to like avoid the unfair competition where you innovate really hard on something and then somebody immediately. Like, let's say they already have this whole thing. And then they just like take in all of your goodness and raise their own bar.

1:29:02

It's like, at least give yourself enough time to get to that bar and then then release the doves.

1:29:09

Aaron

And maybe, you know, maybe that is the mechanism by which you execute this as you make the, you make the engine source available, but not open source at all. And so nobody can use it for anything beyond Flux. And then in the read me of that you say, hey, if you wanna use this, reach out to me. Like if you wanna use this engine in your thing, reach out to me. Yeah.

1:29:33

Because you as the license creator holder, you know, the author can grant arbitrary licenses for whatever you want. So the whole thing can be under a license of, you can't use this. You can look at it, and you can admire it, and maybe you can make prs to it. That's awesome. But you can't use it unless you're using Flux.

1:29:51

And then somebody comes to you and says, hey, I wanna create bucks. And you're like, let's work out a deal. Yeah. Here's here are the rules of the deal for your specific thing. And now you have a I will write it down on a piece of paper.

1:30:05

You have a license to use the flex engine, provided you stick with these terms. We got eyebrow waggle.

1:30:13

Caleb

Aaron, there is a simple solution to this, and it is just don't open source the engine at, like, at the beginning. It's I mean, it's literally just, like, when I picture that world, it's, like, oh, all of then it's like all of the goodness that is in that engine pushes people towards flux. Mhmm. Instead of instead of it being something that yeah. It and it it even communicates, like, this is this project, you know?

1:30:44

Yeah. And then it can be brought out, you know, into day into daylight. But I think I I haven't even really considered just considering it all one code base, you know, because it's completely different code bases that are completely divorced from each other. Mhmm. But I don't know.

1:31:05

I honestly, I think the best thing here is giving yourself. It's innovating and giving your it's okay. Erin, here's the solution. It's not a new license. It's innovate hard and always.

1:31:16

Mhmm. Once you stop innovating and then you're mad at people because they wanna innovate on your innovations and you've stagnated and you're just trying to ride those coat the, you know, whatever, like, that's not a great place to be. So keep innovating. K. But you need help.

1:31:30

Like, you need help through this mechanism of pausing on the cutthroat competition while you, you know, bone up. Like Mhmm. Do the innovate, like because you you can't do it all at the same time, but you can protect a thing from competition for a period of time. You know what I'm saying? Launch Flux, don't open source the core kind of thing Mhmm.

1:31:51

Or put it in a private beta or whatever. Develop this thing of beauty in such a way that it is so obviously not open source nobody would think to use it. You know? Right. Give yourself the time and space to become whatever and then open up the doors, get the ubiquity, and rinse and repeat, whatever.

1:32:09

I don't know. That it feels to me like that is just the way to do

1:32:14

Aaron

it. That feels closest.

1:32:16

Caleb

I don't know. It's catalyst. It's

1:32:18

Aaron

it's Given my limited knowledge of the legal options available to you in terms of open source licenses, that feels closest. Like, just release Flux, and people will have the code to core because regardless of how they install it, they'll be able to go in and look at it. But, yeah, no no serious project is gonna pick up the core that is, explicitly closed source license and try to use it because then that's, like, beyond vibes that's rules, and, like, they broke the

1:32:46

Caleb

Yeah. And there's also just obscurity. Like, I kind of charge for headless Alpine, and it is actually open source and it is freely available, but nobody even because the docs aren't open source. So, like, nobody is reading the docs for it. How whatever.

1:33:01

Anyway, I've taken up plenty of your time, Aaron.

1:33:05

Aaron

Yeah. Was this supposed to be I think your episodes are 10 minutes. So you've got you've got, let's see, 60, 90. You've got 9 episodes. You just chop them up and do 9 back to back episodes.

1:33:15

Caleb

I'm gonna do it. Thank you, Aaron, for your time and attention and energy, Aaron Francis.

1:33:20

Aaron

You're welcome. Thank you for, thank you for ambushing me with this fun open source licensing thing.

1:33:26

Caleb

Anytime.

1:33:27

Aaron

Alright. We'll talk soon.

1:33:28

Caleb

See you, bud.

1:33:29

Aaron

Bye.

Details
Show
Notes On Work - by Caleb Porzio
Date
Jul 31, 2024
Role
Guest
All podcasts
Podcasts
Newsletter

Every week: the best things I've found and what I've been thinking about.