WEBVTT

00:00.000 --> 00:23.560
Hello, everyone, let us start the 5 PM panel session. Please take your seats. The topic

00:23.560 --> 00:31.920
of this session is for communities and the real licensing of projects and the impact

00:31.920 --> 00:40.840
on communities it has. So let me hand over the mic to our moderator of this introduced

00:40.840 --> 00:49.840
our panelist. Thank you. Thanks very much, everybody. Good afternoon. Thanks for being here.

00:49.840 --> 00:58.400
My name is Steve Wally. I work for Microsoft. I also teach at Carnegie Mellon University.

00:58.400 --> 01:04.200
So this panel kind of evolved and I'm going to let the panelists seat introduce themselves

01:04.200 --> 01:16.200
and then we'll set up the discussion and I'll start the questions. So, Don, can we start with you?

01:16.200 --> 01:22.200
Hi, I'm Don Foster. I am the Director of Data Science with the Chaos Project. I've been doing

01:22.200 --> 01:28.480
this open source thing for about three decades or so. So I've been in the space for quite

01:28.480 --> 01:29.480
a while.

01:29.480 --> 01:38.440
Hi, my name is Ben Ford. Interestingly, Don was kind of sort of my boss for a very short time

01:38.440 --> 01:45.600
back at Puppet. But I've been with Puppet for about 13 years and which is a very long

01:45.600 --> 01:51.160
time to spend at anyone company. So this year I am no longer there. I'm found in a configuration

01:51.160 --> 01:57.640
management. Interesting community work. If you've been in the Puppet community, probably

01:57.640 --> 02:03.600
recognize me by my hand. I'll have been for 2K.

02:03.600 --> 02:10.160
My name is Brian Puppet. I am a manager within Red Hat's open source program office.

02:10.160 --> 02:17.400
We are team as responsible for community data analytics. We are strong supporters of Project

02:17.400 --> 02:24.840
Chaos and generally doing metrics around determining whether or not a community is healthy

02:24.840 --> 02:31.360
for itself and also for us and our customers and partners. And that's what is why I'm here

02:31.360 --> 02:40.600
today. Yes, that. I like the fact that this is better than the voices that are usually

02:40.600 --> 02:46.640
inside my head. So this is very helpful. Thank you very much.

02:46.640 --> 02:52.880
Thanks. And my name is Steve Walley. And so to set the frame for this discussion, we've

02:52.880 --> 03:00.160
seen releasing happening over the last 10 years and I had opinions and I did some back

03:00.160 --> 03:05.760
at the envelope calculations. But the reality, once I wrote about those things and what

03:05.760 --> 03:10.800
I think the rules of successful forks are, it turns out, it dawns the data scientists

03:10.800 --> 03:16.840
and she actually dug into this. So these relicences in these forks are often presented

03:16.840 --> 03:24.160
as this idea that somehow the company is abandoning the community that made it successful.

03:24.160 --> 03:30.080
And this is one of those things that I think they actually have a business model problem.

03:30.080 --> 03:34.360
They stepped into a trap and they didn't understand the fundamental difference between

03:34.360 --> 03:38.920
their upstream project that they own and the downstream product that they're selling and

03:38.920 --> 03:46.280
that communities and customers are different groups of people. And so we shouldn't be surprised

03:46.280 --> 03:52.800
that a company has relicensed. I've done a number of small companies over my career kind

03:52.800 --> 03:57.800
of thing and you have employees to pay and customers to serve and you do this kind of

03:57.800 --> 04:04.440
relicensing thing. And so when we actually sat around and tried to figure out how many

04:04.440 --> 04:09.640
of these things we've seen, there's just not that many of them when you think about it.

04:09.640 --> 04:17.360
Up until 10 years ago, there was maybe 7 or 8 forks in the entire history of open source

04:17.440 --> 04:22.480
that were big forks, communities split. And a couple of them kind of eased their way

04:22.480 --> 04:28.840
back together. The first one I remember was EGCS and GCC back in the late 90s. So these

04:28.840 --> 04:33.480
are things that don't happen often. And I'm one of these people that makes up rules.

04:33.480 --> 04:40.800
And so I said the two rules that have to be in place for a successful fork, the owner

04:40.880 --> 04:48.160
of the IP has to put the entire community at risk. And then the second rule is a respected

04:48.160 --> 04:53.480
member of the community, he has to put up their hand and say, I'll anchor that fork. And

04:53.480 --> 04:58.080
those are the times we've seen this actually work out. And there's not a lot of them.

04:58.080 --> 05:03.000
And some of them wisely knit the way back together again. And so we end up in this place

05:03.000 --> 05:07.560
where, you know, when I said I did a back at the envelope thing on elastic. So I was at

05:07.560 --> 05:15.280
Microsoft already when they realized. And Microsoft uses elastic search all over the place.

05:15.280 --> 05:20.040
And so we were kind of, you know, worried, are we still allowed to do this through the

05:20.040 --> 05:26.320
license? And so we ended up in a place where, yes, we were. And they're a good partner

05:26.320 --> 05:29.920
and we moved on. And the back of the envelope calculation that I did, you know, you

05:29.920 --> 05:34.680
can basically do a get summary by line and you spend some time cleaning the data. And

05:34.680 --> 05:40.720
98% of the code base was written by employees of elastic. And so that's where this gets

05:40.720 --> 05:45.160
really interesting is like I said, don's the data scientist. She went and did some real

05:45.160 --> 05:49.600
analysis, not my back of the envelope kind of thing. And so actually, I want to turn it over

05:49.600 --> 05:55.000
to Donald. Let me flip forward to this never built a contributor community, right? They had loads

05:55.000 --> 06:01.640
of users. But vast majority of the contributors worked out the company. So when, when they

06:01.720 --> 06:07.960
released, there was really no impact on a contributor community. There was, however, a very

06:07.960 --> 06:13.440
large impact on their user community who then had to decide what to do now that they

06:13.440 --> 06:19.760
released and, you know, a big user and, and frankly, a big reason for the fork was Amazon.

06:19.760 --> 06:25.800
Or a big, yeah, a big reason for the release was Amazon. And so Amazon took it and forked

06:25.800 --> 06:31.080
it and created open search. But they did it as a company. So what we ended up with was we

06:31.080 --> 06:36.520
had elastic search, which was primarily driven by elastic employees. And now we had open

06:36.520 --> 06:41.560
search, which was primarily driven by Amazon employees. So we had a fork, but it was

06:41.560 --> 06:46.840
really, really just another company project. Now they've since actually contributed it

06:46.840 --> 06:51.320
to the Linux Foundation. So I haven't, I haven't done the analysis because that's a relatively

06:51.320 --> 06:55.720
recent change. But I'll be really interested to look at it after they've been there for,

06:55.720 --> 07:00.280
you know, six months or so. But, you know, one of the things with open search, they have

07:00.360 --> 07:04.760
started to build more of a contributor community. So even from the start, they did have some

07:04.760 --> 07:09.480
people outside of Amazon that were contributing. So it is a stronger contributor community than

07:09.480 --> 07:16.840
what we had with elastic search. But it's still fairly dominated by Amazon. And then, you know,

07:16.840 --> 07:21.720
from a terraform perspective, it's very similar to elastic search. The people who were contributing

07:21.720 --> 07:29.320
were Hashtag orphan plays. And they had almost nobody contributing from outside the company.

07:30.520 --> 07:35.320
And then, open tofu, though, on the other hand, is a very different project than open search.

07:35.320 --> 07:40.600
Because it was started under the Linux Foundation. And it wasn't started by one company.

07:41.560 --> 07:45.560
But again, it's a, it's a user fork. So it's not a contributor fork. There were no, no

07:45.560 --> 07:53.000
contributors, really, to be involved in the fork. So it was a bunch of user companies who then

07:53.000 --> 07:58.600
came together under the Linux Foundation to create this fork. So they've had, you know, the first

07:58.920 --> 08:04.280
year they had 31 people at 11 companies contribute to this, uh, to this project, which is pretty

08:04.280 --> 08:10.840
interesting. And then the one that is vastly different from the other two is the Redis Valky example.

08:10.840 --> 08:16.040
Because Redis had said that they were never going to be licensed. They would always remain

08:16.040 --> 08:22.760
under an open source license. They had said that publicly many, many times. But the company on

08:22.760 --> 08:29.000
Project, they can realize instead if they want to. And they, and they did, right? So a year before

08:29.000 --> 08:34.600
the realizedants, there were, you know, about six employees. And they were making, you know, a fair

08:34.600 --> 08:40.760
number of commits. But they had 12 people who didn't work for the company who were also making

08:40.760 --> 08:47.320
a significant number of commits. And so when it came time for the fork, what we ended up with.

08:47.480 --> 08:54.680
So I looked at the six months after the fork. And we had 29 people at 10 companies contributing

08:54.680 --> 09:00.920
to Valky. And 18 of those people previously contributed to Redis. And when I looked at the six

09:00.920 --> 09:07.880
months after Redis, there was, uh, there were no non-employees who had made any kind of significant

09:07.880 --> 09:15.160
number of commits. So they had all sort of moved to the Redis fork. Uh, or sorry, yeah, to the Valky

09:16.040 --> 09:20.680
So, so it's interesting to look at these three projects because these, these three examples,

09:20.680 --> 09:25.640
because they, they are very, very different examples. It's all, all stop talking now.

09:26.440 --> 09:32.520
Thanks, sir. And, and Ben, you've been involved with the fork around the puppet open box

09:34.040 --> 09:38.920
fork. Can, can you talk about that? Like, kind of walk folks through what this looks like on the ground.

09:39.240 --> 09:44.520
Sure. Um, one thing interesting about the, uh, the puppet fork here is that they didn't

09:44.520 --> 09:49.480
actually realize them that, uh, so they are still Apache license. But what they did is they basically

09:49.480 --> 09:55.960
closed the development. So they decided that they were going to stop publishing packages, which is

09:55.960 --> 10:00.920
kind of a big deal. And then they decided that they were going to move, uh, all development to internal

10:00.920 --> 10:06.360
forks. And they've promised that they will periodically push things publicly. But, you know,

10:06.360 --> 10:12.520
that still remains to be seen. Like, the proof is in the pudding, right? But that's not really

10:12.520 --> 10:17.400
like that. That's not how an open source project works. Like, when you can't engage with the

10:17.400 --> 10:23.160
product itself, when you can't, uh, when you can't get the packages for it, uh, like you,

10:23.160 --> 10:29.480
this is not a workable environment for most developers, for more, uh, most users, for most people,

10:29.480 --> 10:36.040
that are wanting to use it. So we felt that there was no other alternative than to build our own.

10:36.840 --> 10:43.160
And we started out by just repackaging. And then, uh, I think within a couple of days or week after

10:43.160 --> 10:49.400
the, uh, the closed off the packaging pipeline, we had replacement packages up. So you could

10:49.400 --> 10:55.160
still get open source puppet, uh, it would just built by, uh, the community rather than, uh,

10:55.160 --> 11:00.280
puppet itself. And then we went from there and it started sort of had conversations about

11:00.920 --> 11:06.120
where are we going? What are we doing? Uh, what is it that we need out of the community?

11:06.120 --> 11:09.720
What is it that we need out of the project? What is it that we need out of the, the company?

11:10.120 --> 11:14.680
And, uh, you did say something earlier. And I'm going to paraphrase it. I'm probably going to get

11:14.680 --> 11:18.680
it at wrong a little bit. You said something about how, uh, the company's kind of loose track

11:18.680 --> 11:23.720
and, uh, don't understand what they're, like, what they're market, what the community,

11:23.720 --> 11:28.760
what they're selling, et cetera. And I do think that that's true to some point. But I also think that

11:28.760 --> 11:34.920
there's a valid reason sometimes for, uh, for companies to diverge from what they, what their

11:34.920 --> 11:39.800
open source users are wanting. And that makes it not necessarily like a hostile kind of

11:39.800 --> 11:44.040
a fork. But, but more like, hey, we're going, we're going different directions. And that's what

11:44.040 --> 11:49.640
we're trying to do with, uh, with puppet is that, uh, we're trying to engage with the company.

11:49.640 --> 11:54.360
We're trying to stay, you know, you know, at a distance, but still best friends. And we're

11:54.440 --> 11:59.000
working with them. We're setting up a standards, uh, committee so that, uh, our fork is not

11:59.000 --> 12:04.680
going to, uh, we hope is not going to diverge too much. It's going to stay pretty much in sync

12:04.680 --> 12:10.120
with the offering from the company. But we're going to be focusing on the things that our, our users,

12:10.920 --> 12:16.280
our needing, the things that, that people are actually trying to do with it, not necessarily

12:16.280 --> 12:23.480
on the things that big enterprise companies are opening their wallets for. And, like you said,

12:23.560 --> 12:29.480
it is primarily, at least at this point, still a user fork. Uh, most of the people involved

12:29.480 --> 12:36.600
are users. Um, I ran a lot of the same stats. And we only have four people who have contributed

12:36.600 --> 12:44.360
more than 5% to the core puppet project, like in its entirety. Um, and that's, that's a thing. That's

12:44.360 --> 12:52.520
like we have to recognize that. Um, but it's also in the place where the product had slowed

12:52.600 --> 12:59.320
down enough to, that even with the fact that most of the people engaged with the, uh, the fork

12:59.320 --> 13:05.320
project now aren't the core developers that the built it originally. Our velocity has already gone

13:05.320 --> 13:10.920
up from what it has been over the last few years. So I think that that's an interesting stat.

13:10.920 --> 13:15.560
It's, uh, it's obviously it's only a couple months long. Like, like, maybe this is like

13:15.560 --> 13:19.880
new relationship energy here. We'll figure it out. We'll see what happens along term.

13:19.960 --> 13:27.880
But it's a start of what we hope is a good threat. Thanks Ben. And, and, you know, Brian,

13:27.880 --> 13:35.480
you, you've got this long experience, uh, almost almost as much gray hair as I have, um, just through

13:35.480 --> 13:39.880
your, through your Apache experience, through your red hat experience. Like, what, what are some

13:39.880 --> 13:46.280
of the pluses and minuses that a community is going to see in this kind of situation when fork

13:46.360 --> 13:51.480
starts happening? And, and you can take it from either direction, you know, from the company

13:51.480 --> 13:57.000
direction or the community direction. Right. Well, and actually, I think I have a pretty good

13:57.000 --> 14:05.400
example of how it affects both sides. The recent forks that we've seen, the, the increasing

14:05.400 --> 14:13.160
acceleration of forks and re-licensing has caused an interesting effect amongst contributors to our

14:13.160 --> 14:19.640
projects and also potential customers. And backing up a step. So one of the things I did early

14:19.640 --> 14:25.080
in my involvement with chaos was, I helped build a metric around corporate diversity. Um,

14:25.080 --> 14:29.560
in corporate diversity, if you're not familiar with the concept is, basically, how many

14:29.560 --> 14:37.320
organizations are involved in a project? And volunteers do fall into organization, um, as a different

14:37.400 --> 14:44.120
entity. But our belief at red hat and our degeneral belief at chaos as well is that, you know,

14:44.120 --> 14:51.160
the more corporately diverse a project is, the, the healthier it is because you have talent coming

14:51.160 --> 14:58.920
in from different avenues and technology sectors potentially, obviously any kind of diversity is

14:58.920 --> 15:07.080
good. Um, but in this sense, in the context of corporate diversity, that's what helps make a community

15:07.160 --> 15:15.560
prosper. And so what we are seeing now of late is a lot of customers and partners come to us and say,

15:15.560 --> 15:21.880
hey, you seem to know how open source works. Help us understand how to do it. We're like, yeah,

15:21.880 --> 15:29.000
sure we've got stuff. We can train you. It's fun. Um, come jump in the water with us. But invariably,

15:29.000 --> 15:33.880
we've gotten a lot of customers and partners of late who are very savvy about this and they're saying,

15:34.840 --> 15:42.920
we don't want to join a project that only has a, you know, one big contributor in terms of an

15:42.920 --> 15:51.640
organization or a contributor that dwarfs all the others. Um, and they're not really even thinking of it

15:51.640 --> 15:57.560
in terms of the help standpoint that I just mentioned. They're actually just straight up thinking,

15:57.640 --> 16:02.520
they don't want to see one of these real licensing things happen. Um, and it's actually,

16:04.200 --> 16:09.880
it's become a little bit of a conversation we've had with people contributing to our projects too,

16:09.880 --> 16:15.560
because it's like, well, Red Hat, you, you have a majority stake at a lot of the projects that you

16:15.560 --> 16:24.120
steward. Yes, we do. We recognize that. We also think that that's not awesome. But they're even

16:24.120 --> 16:33.800
saying to us what if you decide to realize, which, oh, to me is like, you know, a certain place

16:33.800 --> 16:41.880
getting very cold and snowing. Um, but they're, if they're not familiar with who we are more

16:41.880 --> 16:49.800
value system or, you know, they just don't trust us outright. That, that, that's entering the conversation

16:49.880 --> 16:56.360
more often. Um, and it's really interesting to me to see this chilling effect that all of this

16:56.360 --> 17:05.880
activity is having both from a community side and a business side. Yeah, please. Perfect.

17:06.680 --> 17:12.280
No, no, no, you're absolutely right. Um, but, you know, the, the one thing to keep in mind with these

17:12.280 --> 17:19.160
organizational, these organization dominated open source projects is that even if you trust Red Hat

17:19.160 --> 17:24.120
and think Red Hat's great and isn't going to do something damaging. Um, you know, their business

17:24.120 --> 17:30.600
environments, they can get acquired by some, you know, some awful, awful company that hates open

17:30.600 --> 17:34.440
source. I mean, I think, I'll be honest, like, I think this is part of the problem with prep

17:34.440 --> 17:40.040
puppet. They got acquired by purpose and, you know, now we're in the situation that we are. Like,

17:40.040 --> 17:44.200
you could have trusted puppet. I mean, I worked there. I thought it was a pretty great company when

17:44.200 --> 17:48.600
I was there. Um, but you never know when a company's going to get acquired. When the company's

17:48.760 --> 17:52.520
going to go out of business or when they're just going to change their strategy and be like, yeah,

17:52.520 --> 17:56.280
we're not working on that anymore. You know, we're going to put all of our people over into this,

17:56.280 --> 18:01.560
this other thing. And so, so you really have to think about the fact that you, even if you do kind

18:01.560 --> 18:07.320
of trust the company, you're not in control of these many things that can happen out from under the

18:07.320 --> 18:14.200
project. That trust is very much a big thing, especially with the, the puppet community, that's

18:15.080 --> 18:20.760
like, the, the fort honestly kind of has been brewing for many years before the acquisition

18:20.760 --> 18:26.920
happened. But the, the people, the users had that trust in the company that kind of held it together

18:26.920 --> 18:34.040
as, as public started struggling with, with its financials, honestly. And, um, the trust that the,

18:34.040 --> 18:39.640
the users had in the company, it took it so far. And they got, even past the, the acquisition before

18:39.640 --> 18:46.600
it finally snapped, but it really was about trust. Um, I wanted to add something. You said something

18:46.600 --> 18:52.760
about, uh, like corporate diversity and, and like the, the fear of having like one, one company,

18:52.760 --> 18:58.840
or one, one contributor dominating a project. And, uh, also in, in context of the puppet

18:58.840 --> 19:05.720
fork, I found it really, really interesting that very quickly after we announced, uh, quite a few

19:05.720 --> 19:13.160
of puppet customers came to us. And they said that they weren't interested in, uh, canceling

19:13.160 --> 19:17.320
their license. They weren't leaving the, uh, puppet community or say, they, they weren't, they weren't

19:17.320 --> 19:21.880
going to be not puppet customers, but they wanted to make sure that we were successful because of

19:21.880 --> 19:27.320
that exact reason. They, they wanted there to be diversity in the ecosystem and they didn't want

19:27.400 --> 19:34.440
to be, uh, be holding to one, basically, pride at, uh, fork of the project.

19:37.720 --> 19:43.720
There's an audience question. Well, well, we're going to get there, but I'm happy to take

19:43.720 --> 19:49.320
audience questions now. Of course, it's from James. To get the chance,

19:49.320 --> 19:53.800
that's all, ask all of you the question, which is loose in my mind. So I remember when puppet

19:53.880 --> 20:00.280
was GPLV2, and then they released relations to LV2, uh, to Apache V2. And for me, that was when

20:00.280 --> 20:05.560
the writing was on the wall. And so I just kind of want to know your thoughts, because why don't we

20:05.560 --> 20:10.520
start taking this seriously? Why did we go with this permissively licensed valky fork instead of

20:10.520 --> 20:16.280
the lightly copy left fork? When are we going to wonder less and why don't we, when we do forks

20:16.280 --> 20:22.120
make them, you know, even lightly copy left, um, and not accept CLAs because this is the only thing

20:22.200 --> 20:28.760
that really blocks if you have no CLA, no diversity. I mean, it's some diversity of, uh, contributors,

20:28.760 --> 20:35.240
and, uh, and, and some, at least week permissive license, excuse me, we copy left licensing,

20:35.240 --> 20:40.680
then it will just be, well, not just be a solved problem. You can't have these evil proprietary

20:40.680 --> 20:45.800
forks. So, so be it. Well, I can give a little bit of context about that, but I think probably

20:45.880 --> 20:51.880
done might be the, the one to answer the question. Uh, so when, when puppet changed from the GPL to,

20:54.680 --> 21:01.640
oh, that was a very long question to repeat. Uh, basically the, the question was that, uh,

21:03.240 --> 21:08.760
something like a decade, a plus, uh, 14 years ago, I think it was, uh, puppet changed from,

21:08.760 --> 21:15.240
it was originally GPL license and that it changed to the Apache license. Um, and, uh, James wanted

21:15.240 --> 21:19.880
to know why we did that. He thought that that was kind of the writing on the wall. That was when things

21:19.880 --> 21:25.640
started going south and wants to know why we don't as projects, uh, like, hold that off and stay

21:25.640 --> 21:31.240
with a more permissive, uh, uh, uh, more protective license, uh, in the first place because maybe that

21:31.240 --> 21:37.880
could have prevented this from happening in the, the first place. Um, and Valky and other projects and

21:37.880 --> 21:44.760
everything. So, context for, for the reason for that, uh, GPL switch, Luke, the founder of puppet,

21:44.840 --> 21:51.960
had a very strong belief that, uh, companies would not purchase, uh, licenses to a, uh, a product that was

21:51.960 --> 21:58.680
GPL. That is the thing that drove, uh, the, uh, the, the, the, the licensing is, is that he had some

21:58.680 --> 22:04.520
customers that were afraid of the GPL, even though, like, there, there was no binding, there were no,

22:04.520 --> 22:09.320
uh, libraries, and they, they were just running a tool on their infrastructure. They were afraid of using

22:09.400 --> 22:14.920
a GPL, uh, license, uh, tool. And that's what drove the, uh, the, uh, switch.

22:20.920 --> 22:25.640
Now, that, I, I, I know Luke personally, and I was involved in some of those conversations and, uh,

22:25.640 --> 22:31.240
he, while he is very opinionated about a lot of things, he had no opinions about that. He was just,

22:31.240 --> 22:43.800
didn't. So, this is one of those places, uh, that when, uh, when, when you said you were,

22:43.800 --> 22:48.680
you were paraphrasing. Actually, when I was talking earlier about projects versus products,

22:48.680 --> 22:55.080
thought the hard thing there, and, and there was this great quote from, I don't know, it was like

22:55.080 --> 23:05.000
2006 when, uh, Mikos was still CEO at my SQL. And, you know, this, this is the M in lamp. This was a

23:05.000 --> 23:10.760
fundamental piece of the, the architecture that we were all using at the time. And his observation was,

23:11.400 --> 23:17.080
communities have time and no money and customers have money and no time, and he knows who's in his

23:17.160 --> 23:25.160
community and who he sells to. And he kept those discussions really, really separate. And that,

23:25.160 --> 23:30.920
that was kind of a crystallizing statement for a lot of us that are trying to straddle this business

23:30.920 --> 23:36.600
line. And so, I think that's the hard thing you're always up against is, as a company, do you

23:36.600 --> 23:43.960
understand there's that separation between your projects and your products? From that perspective,

23:44.280 --> 23:51.400
as we step into this and, and the motivations, like if I want to start with Don, but it is something

23:51.400 --> 23:56.040
showing up in the data and the analysis. Now that if you were a company right now and you were stuck

23:56.040 --> 24:03.160
with this decision, do I do I relicence or not? Is there, are there indications yetters or more

24:03.160 --> 24:08.360
studying that you want to go do? Yeah, that's a really good question. And this is, this is a really

24:08.440 --> 24:13.960
hard topic to study because you can't really predict the relicensing because it is such, from

24:13.960 --> 24:20.520
us to statistical standpoint, it is such an incredibly rare event. And there are loads of projects

24:20.520 --> 24:26.040
that have all of these exact same characteristics that never relicense and there are way more of

24:26.040 --> 24:31.960
those than the ones that that relicense. So you really, you really can't, you really can't predict it,

24:31.960 --> 24:37.720
which makes it really really kind of hard to study. But what I can say is I was on another panel

24:37.720 --> 24:43.720
on kind of the same topic with James Governor from RedMonk and one of the things that he said

24:43.720 --> 24:51.000
during the talk that we were doing was that he'd had at least one RedMonk customer come to them,

24:51.800 --> 24:56.520
talking about how they were thinking about relicensing and they basically changed their mind

24:56.520 --> 25:01.720
to given what they've seen with in particular the Valky fork and the open to a food fork.

25:01.720 --> 25:07.400
So anecdotally, I've been hearing some things about the fact that the fact that these sports

25:07.480 --> 25:14.200
have so far been pretty successful. And I think it is making companies, I hope, making companies

25:14.200 --> 25:20.920
think twice about, about relicensing. You know, in the, the other piece, the Rachel Stevens from RedMonk

25:20.920 --> 25:26.680
did some analysis on the financial implications for the company that does the relicense.

25:26.680 --> 25:32.920
And basically what she found was that there really wasn't any demonstrable financial benefit

25:33.000 --> 25:37.880
to these companies. So they relicense because they're getting pressure to improve profitability.

25:37.880 --> 25:45.240
But the relicense doesn't seem to actually have that effect. So I also think that companies

25:45.240 --> 25:51.880
will look at some of that data and realize that maybe maybe relicensing isn't going to get them

25:51.880 --> 25:55.720
what they, what they thought it might. So I'm, I'm hoping it makes companies think twice about it.

25:56.280 --> 26:00.280
But one of the things that I'm really interested to see though, you know, you look at these

26:00.280 --> 26:05.480
forks and the forks are we more organisationaly diverse than the original project.

26:06.280 --> 26:09.720
So what happens when some of these vendors continues to struggle? And, you know,

26:10.280 --> 26:14.440
if one of them goes out of business then the fork is going to become more successful because

26:14.440 --> 26:20.440
people will, that will force a switch to the fork in essence. But it'll be really interesting to

26:20.440 --> 26:24.840
watch this data over the next, you know, three to five years and see what happens with these

26:25.000 --> 26:33.240
projects and these the forks that result from the relicensing. Ben, Brian, anything to add in there?

26:36.440 --> 26:41.560
Because I just love the fact, when you said if the company goes out of, out of business,

26:41.560 --> 26:49.560
I'll get right to you. There was this moment, again, when was comp here? 2006, 7?

26:49.560 --> 26:57.080
Yeah. Yeah. I'm looking at somebody who might have worked there. Comp here put their

26:58.040 --> 27:05.560
entire community into a state of existential crisis and they were in that position that a lot of

27:05.560 --> 27:09.720
folks in their community knew how the code base worked and forked into something called a

27:09.720 --> 27:17.400
dump here. Comp here went away within a year or so, but a dump here is still running. I ran

27:17.400 --> 27:24.200
into them just before the pandemic landed and it was like, no, they still had a rich community

27:24.200 --> 27:29.400
of folks and it's a small community. It's not something that, you know, we encounter regularly,

27:29.400 --> 27:34.120
but they're still out there and going strong. Yeah, so Steve and I have been having these conversations

27:34.120 --> 27:43.400
about forks since 2006 when I work for this company. I can't help but think this touches a lot

27:43.400 --> 27:50.600
of the more existential problems that we face in open source. These companies, I don't know what

27:50.600 --> 27:58.280
the original reason for working open source was, is they try to get a community to support them

27:58.280 --> 28:02.680
with the product and if you especially look at a lasting and terraform, that community didn't

28:02.680 --> 28:09.400
manifest. So, couldn't it just be that they considered like a field experiment that just didn't

28:09.400 --> 28:15.800
start, yeah, didn't lift off, but instead when they realized and the community shouldn't

28:15.880 --> 28:24.120
leave us shocked by yet another important project going away and suddenly took action.

28:27.960 --> 28:32.280
Thank you. So, I actually have opinions on this one. Go for it. No, please.

28:35.000 --> 28:41.640
So, so I have two thoughts on that. One, I think that you have an excellent point when you say

28:41.640 --> 28:48.760
that, you know, they're seeing, you know, they're not building the community correctly. They've

28:48.760 --> 28:55.240
stunted the communities growth and it's led to the inevitable fork and you could say that,

28:55.240 --> 29:01.080
yes, there's been some mismanagement there and possibly in some cases, but again, it's a little

29:01.080 --> 29:06.280
bit anecdotal. The other side of that, which has been a little bit interesting and I've talked to

29:06.440 --> 29:12.440
some friends and colleagues about this recently, is that maybe they knew they were going to

29:12.440 --> 29:19.000
realize it's all along, which sounds really paranoid and cynical, but hey, whatever, you know,

29:19.000 --> 29:28.360
it's Saturday. You can make the argument that they are actually kick-starting an open-source project

29:28.440 --> 29:37.640
and building a community on purpose, perhaps with the intent of, you know, building that publicity

29:37.640 --> 29:45.800
and the homegrown nature of that an open-source community enables. Now, I have no evidence of this.

29:45.800 --> 29:51.960
I have no proof of this as a purely speculation, but I think you can go either way and with the

29:51.960 --> 29:58.520
acceleration, I'm concerned that that might be a thing, but as Dawn says, if you sit down and look

29:58.520 --> 30:05.800
at the evidence that she and the folks from Redmunk are doing, it's not really a brilliant plan.

30:06.520 --> 30:11.400
So I can't say for sure if they're doing this on purpose or if they've just accidentally

30:11.400 --> 30:17.880
stumbled into a problem. So, yes, even. Yeah, and so I'm the historian. I have too much

30:17.880 --> 30:24.600
gray hair in this space and I always used what I love that same speech that Mikos gave where he said,

30:24.600 --> 30:29.160
you know, communities have time and no money and marketing to them will only piss them off.

30:29.720 --> 30:38.600
Kind of thing. He also, he uttered a fact. He said, for every customer, I have a thousand people in

30:38.600 --> 30:45.960
community. I was just a fact, but what a lot of folks thought a lot of the VCs that were this was

30:46.040 --> 30:50.520
that first pouring of money into open source companies. A lot of the VCs thought they heard a

30:50.520 --> 30:57.000
conversion ratio and they all thought, oh, we need a thousand people in the community and then

30:57.000 --> 31:02.760
we'll get a customer at the end. But the fun of it was J-Boss was still a separate company at the

31:02.760 --> 31:08.680
time and again, they had their heart and right place. They believed in open source and they said,

31:08.680 --> 31:17.160
well, we have a conversion ratio of one in a hundred. And Red Hat, a much younger company in those

31:17.160 --> 31:24.040
days, not to be a done said, our conversion ratio is one in ten. And it's like, there was no conversion

31:24.040 --> 31:29.720
ratio. That's what I mean. It's like Mikos' original statement was right. There's a discussion you have

31:30.360 --> 31:36.280
upstream with your community in your project and there's a different conversation you have with your

31:36.280 --> 31:42.680
customer downstream or on your product. But going back to your idea there, like I think

31:44.760 --> 31:54.840
this personal opinion, I think the open source, the open search fork, is technically a failure,

31:54.840 --> 32:01.880
but that's why I can't wait for Don's data over this next few years because when you look at the numbers,

32:01.960 --> 32:11.320
98.5% of that codebase was written by elastic and employees. And this is an incredibly valuable

32:11.320 --> 32:16.920
codebase. It's not like there's a lot of competing projects in the space. You know, they took a patchy

32:16.920 --> 32:23.560
loose scene and they turned it into something that mere mortals can use. And the way they

32:23.560 --> 32:29.880
realized it multiple times over a few years, never threatened the rest of their user community,

32:30.840 --> 32:37.720
it just pissed off Amazon. But Amazon is making so much money that it is worth spending a few

32:37.720 --> 32:42.920
million dollars to maintain that fork. That's just the cost of doing business for them.

32:43.640 --> 32:48.200
So I think it's a really interesting place and I can't wait for Don to get to the data the next time round.

32:48.200 --> 32:59.160
I guess related to that. Do you think it was fair for elastic search to blame Amazon's

32:59.160 --> 33:05.160
behavior is the reason they had to realize the motivation for them seems quite different to

33:05.160 --> 33:15.640
some of the other examples? Was that directed at anybody? Or me? I was speaking with that, that's fair.

33:15.640 --> 33:25.560
I think it was fair the way they set it up because Amazon was seemingly the offender saying,

33:25.560 --> 33:34.440
we're just standing up our own service. Microsoft was an elastic partner. So we were actually

33:35.160 --> 33:42.520
working to integrate it into an Azure offering. So they were a partner. And I believe Google was

33:42.520 --> 33:47.960
doing the same thing. So it was only Amazon as one of the three hyper scalers that was actually

33:47.960 --> 33:52.040
saying, yeah, we're just going to grab this open source and stand up a service. Which the license

33:52.040 --> 34:04.200
allows them to do? They weren't doing anything wrong per se. But the license says, this is where

34:04.920 --> 34:10.520
that's what when I was saying the framing. For me, the framing's always been if you walked into

34:10.520 --> 34:18.280
this thinking that open source is great, I'm going to base my primary customer face and value

34:18.280 --> 34:26.440
proposition on a project that anybody can take and do anything with because of my license.

34:27.560 --> 34:33.640
You have to be really, really, really nuanced in making sure your marketing is selling the value of

34:33.640 --> 34:38.600
your product offering, not the value to engineers of your project.

34:46.440 --> 34:50.440
Right.

34:50.440 --> 34:51.800
Yeah, so this is-

34:55.080 --> 35:02.520
So here, I'll give it a go. So to repeat the question, it was Amazon, Amazon has these services.

35:02.520 --> 35:07.000
They have these customers and they can just continue to, they've got contracts, they can continue

35:07.000 --> 35:13.640
to make money off of this. But it really is, if you look at the cloud computing space, the way it

35:13.640 --> 35:19.640
is now, that is why we're seeing all of these releases as all of a sudden. Because right now,

35:19.640 --> 35:25.960
what we have is we have these behemoth cloud providers who can offer these open source products

35:26.760 --> 35:33.080
basically as a service that anybody can just use. I can just go to AWS and spin up an elastic

35:33.080 --> 35:41.240
search. I can just go to Google and spin up whatever. And so what we're seeing is that not only

35:41.240 --> 35:45.960
so companies have always been able to take advantage of open source projects. But with the

35:45.960 --> 35:51.000
rise of cloud computing, they're able to take advantage of open source projects in a way that

35:51.000 --> 35:58.280
pretty easily generates quite a lot of revenue for these gigantic companies. And so the little

35:58.280 --> 36:02.200
companies that are doing all the work on these projects get pretty ticked off that these other

36:02.200 --> 36:07.640
companies are then making all of the money. So we've got this, I think this inequity that's

36:07.640 --> 36:12.600
driving a lot of this. And there's frankly really not a whole lot we can do about it.

36:12.600 --> 36:18.680
Yeah, that was that. The tough thing that night that a group of us sat around at dinner table

36:18.760 --> 36:24.280
thinking like how many forks true big forks can we name and we got to about seven or eight.

36:24.280 --> 36:31.000
Three of them provoked by Oracle buying sun. But you know, we we got into this space and we

36:31.000 --> 36:37.480
were trying to figure it out. And this was all though kind of the hyper scalars were not as big as

36:37.480 --> 36:44.440
they are today. And so we were wrestling with it. And we could only think of one company that had

36:44.520 --> 36:51.720
successfully parked an open source license on the technology that was their core value proposition

36:51.720 --> 37:00.680
to their customer. And was seemingly doing well. And that was my SQL. They were able to

37:02.520 --> 37:09.800
articulate the value to customers versus the value to engineers in the project. But the thing is

37:09.800 --> 37:14.680
we'll never know, I guess, yes, they were seeing the hockey stick. And then sun took them off the

37:14.680 --> 37:20.040
table for a billion dollars. So we'll never know what would have happened to them 10 years later,

37:20.040 --> 37:26.760
kind of thing. So it's a hard question. I'm going to turn me into a runner now, aren't you?

37:29.320 --> 37:39.720
Let me just talk to the show. I want to ask about the product management aspects of open source

37:40.120 --> 37:46.760
versus a more commercial product. Because it seems to me that quite often the forks are not

37:46.760 --> 37:52.920
necessarily driven by a license or something like that. It's driven by the fact that the community

37:52.920 --> 37:57.880
have felt previously that they all had equal contributions to make. And they could come up with

37:57.880 --> 38:04.280
a wildfire idea and we kind of go forwards if they put the effort in. But subsequently, it's been driven

38:04.280 --> 38:10.520
top-dying by more cathedral type approach. Marketing comes up of ideas. We ask our customers,

38:10.520 --> 38:15.000
blah, blah, blah, you develop or go into it. And those two cultures don't mix very well.

38:15.720 --> 38:20.600
And it seems to me that's actually more of the reason why these forks happen than the license.

38:20.600 --> 38:25.320
The license is just, you know, the kind of thing that sort of people fly about. But I don't think

38:25.320 --> 38:29.720
that's really the reason. I think you're talking right at me there, aren't you?

38:30.040 --> 38:37.480
Yeah, I think that that's very much the thing. Matter of fact, when Puppet was acquired,

38:37.480 --> 38:44.840
I have a story that I tell about this. I was leading community and they flew me out to Boston

38:44.840 --> 38:50.760
to give a very long presentation like describing how our community works. Like all the details

38:50.760 --> 38:57.160
of the community to their leadership and about halfway through, they just kind of cut it off. And

38:57.160 --> 39:04.280
they're like, yeah, but how do you make money at it? It's like, that's not the point of community.

39:04.280 --> 39:08.680
The point of community is to build this base that you could build a company on top of, right?

39:09.480 --> 39:13.960
But they didn't understand that. They were all about that conversion ratio that you were talking about.

39:13.960 --> 39:18.520
How many of the conversions open sources can you convert? What's your funnel to get them into

39:18.520 --> 39:25.080
marketing so that they turn into paying customers? And they never did understand that they were building

39:25.080 --> 39:30.200
a company on top of an ecosystem. And then some of the things that they did were very hostile

39:30.200 --> 39:37.000
to that ecosystem, which meant that without a fork, the ecosystem would collapse. And all

39:37.000 --> 39:43.080
like, transitively, the company would end up probably going under without that ecosystem to support it.

39:45.320 --> 39:49.960
But it wasn't just the acquisition. It wasn't just the big private equity company.

39:49.960 --> 39:57.720
Puppet itself had started losing track of that direction for product reasons, just like you

39:57.720 --> 40:04.120
just like you talked about. We started letting things kind of faster, a pull request would sit

40:04.120 --> 40:10.200
unreviewed because it didn't, nobody was assigned that to work on that particular feature in

40:10.200 --> 40:17.160
that sprint. And so the community for several years was already feeling unappreciated, was already

40:17.160 --> 40:24.280
feeling like Puppet had lost track. Like they weren't paying attention to the community's needs

40:24.280 --> 40:28.920
anymore. And that was kind of true because they weren't giving them dollars. And that's what they

40:28.920 --> 40:35.160
that's what they were focused on. So they were already primed for what like the actions that

40:35.160 --> 40:40.920
Perforce took. They were already primed to immediately jump to what we're done with it. And I think

40:40.920 --> 40:45.560
that that's what happened. Yeah, and just one quick thing to add to that. There are lots of

40:45.640 --> 40:50.360
reasons that forks happen and a lot of them are product related. We were specifically looking

40:50.360 --> 40:54.840
at the ones that happened because of the relicence. But there are loads of forks that have happened

40:54.840 --> 40:59.800
for the exact reason that you mentioned. It just didn't happen to be the focus of the study.

40:59.800 --> 41:02.360
But you could certainly look at it the exact same way.

41:05.400 --> 41:11.560
Hello, I wanted to ask about my perspective as a user and the potential contributor to projects.

41:11.560 --> 41:18.920
I haven't started a company. Sorry. I haven't started my own company to try and have an open source

41:18.920 --> 41:23.640
product. So I don't have experience in that and I can't speak of it. But from a potential user

41:23.640 --> 41:28.360
and a potential contributor perspective, in the last years I've learned the hard lesson that

41:28.360 --> 41:33.480
the license for a project isn't really the whole story. The license, the right attribution

41:33.480 --> 41:38.280
and the contributor diversity as a whole matters a lot more when I'm evaluating what projects I'm

41:38.280 --> 41:43.560
looking at and I want to actually invest my time in energy. I was curious from the panel

41:43.560 --> 41:48.920
to hear what are your thoughts about this and how you actually think about this. As a bonus

41:48.920 --> 41:54.200
question, I want to ask, do you see a world in which AGPL could ever be a license that we're using

41:54.200 --> 42:00.120
or is that never happening? I'm sorry. We really can't understand you.

42:00.120 --> 42:07.560
Okay. So she's asking from that user, the developer perspective. You're in community. She's not asking

42:07.560 --> 42:13.560
from the company anymore. How do you think about is the question richer than just the license?

42:13.560 --> 42:19.000
Do you have to as a contributor in community start thinking about things like the CLA and things

42:19.000 --> 42:25.160
like that that goes with it? Yeah. So an example that kind of quoted through my head as we've been

42:25.160 --> 42:32.280
talking this afternoon was the situation with Docker and that wasn't really a real licensing.

42:32.840 --> 42:37.640
They just sort of changed their business model a little bit and closed the code,

42:37.640 --> 42:43.160
like, you know, and the contributor. They didn't really change anything drastically.

42:43.160 --> 42:47.800
But even that was enough to cause a chilling effect amongst, you know, contributors.

42:48.920 --> 42:54.680
And it ended up with, you know, well, Red Hat, we went out and invented podman and other

42:55.640 --> 43:02.680
comparable technologies. Can we have to do that? We know, I guess we could have tried to work with

43:02.680 --> 43:08.040
Docker, but it felt like at the time we were kind of getting a little bit stiff-armed by them.

43:10.040 --> 43:15.400
These things have a chilling effect, and it's not just for business people, it's for contributors.

43:16.600 --> 43:21.320
The thing that I have about, like one of the things I have a problem with about like open core licensing,

43:22.280 --> 43:27.400
which is essentially what these turn into. Even if you start from there,

43:27.400 --> 43:31.480
I've always wondered, well, from a community perspective, what's in it for me?

43:31.480 --> 43:37.480
Because at some point, somebody's going to invent something that's going to be a feature in the

43:37.480 --> 43:44.440
enterprise version of that code, and they're going to be told, no, because we don't, why would the

43:44.440 --> 43:49.400
company want it in there? And then it becomes, well, why would I even want to participate in such a

43:49.400 --> 43:56.520
community? Yeah, and just to add to that, I think that, as a contributor, you're giving them

43:56.520 --> 44:03.080
your very valuable time. And from my perspective, as a contributor, I look at a lot of things,

44:03.080 --> 44:07.640
you know, is there a CLA? Because that's not great. It means they could realize it. Do they have

44:07.640 --> 44:14.600
a robust governance model that, if I do decide to stick around and continue to contribute,

44:14.600 --> 44:20.440
could I move into a leadership position? You know, who makes the decisions and how are those

44:20.440 --> 44:24.600
decisions made? I think there's a lot of stuff that contributors need to think about, well beyond

44:24.600 --> 44:30.600
like licenses and CLAs, to decide where you spend your time. Thanks. So I'm going to take one more

44:30.600 --> 44:34.600
question, and then I'm going to ask the panel to do closing comments, because we're in the last few

44:34.600 --> 44:42.520
minutes. Thank you. Maybe a bit of a dangerous question, please don't kill me.

44:44.520 --> 44:50.680
Wouldn't it be time for a different kind of license that, not trying to sound like unity,

44:50.680 --> 44:58.360
that would be more like a profit sharing license or a requirement to contribute when you're

44:58.360 --> 45:04.440
making a profit out of certain products, just to close the gap of like certain cloud providers.

45:04.680 --> 45:10.280
Baking of a product and baking it, hugely profitable, while the contribute is kind of

45:10.280 --> 45:18.840
getting nothing. Sorry. There's a huge echo from the microphones over here, and we just can't

45:18.840 --> 45:24.760
hear the questions. So the nature of the question is, is it time to start considering

45:25.880 --> 45:34.520
a license that might be more of a profit sharing kind of license? So I have opinions too.

45:34.600 --> 45:46.600
No. And that was my opinion. We'll talk later. But enjoy your beer.

45:46.600 --> 45:52.760
I was going to be friendly or say, that's a fine idea, but it's not an open source license,

45:52.760 --> 46:01.080
but closing comments. Anything that you would like people to walk away with considering either

46:01.080 --> 46:05.960
from a community perspective, a company perspective, a data perspective, where do you want the

46:05.960 --> 46:11.720
research to go? What would you like to say? Real quick. I know there are diverse opinions in this

46:11.720 --> 46:18.120
room about like CLAs and things like that, but I would think in general. When you as a contributor

46:18.120 --> 46:25.480
approach community, definitely look at its governance, look at the composition of its developer

46:25.560 --> 46:33.560
community, and see are their paths to maintain our ship from people outside of the stewarding

46:33.560 --> 46:40.200
company? Those are all signs that this community is healthy and may not be heading in a

46:41.480 --> 46:47.560
re-licensing path. Don is right. There is no predictability here. We have a very small data set,

46:47.560 --> 46:52.600
but anecdotally it couldn't hurt. None of the things I mentioned could hurt.

46:57.800 --> 47:03.640
I have a couple of thoughts. One of them is if you're at a company who may be looking at

47:03.640 --> 47:09.640
something like this, or if you are in a role where you get to influence community or work with

47:09.640 --> 47:15.560
community or something, you mentioned it earlier. What's in it for me? You really do need to pay

47:15.560 --> 47:22.200
attention to why community members get involved. Why they stay involved? What incentivizes them to

47:22.200 --> 47:27.480
keep contributing code? What are they getting back? What are they getting out of it? Sometimes

47:27.480 --> 47:33.320
it's just a sense of attachment, but it really is like you need to give people something back

47:33.320 --> 47:39.480
for this, and if you keep taking it away, eventually this is going to happen. Eventually you're

47:39.480 --> 47:43.240
going to get to the point where your community isn't going to give you anything anymore.

47:45.960 --> 47:53.080
Plus one to what both of them said. I will just add that this was the first step in the research.

47:53.080 --> 48:00.280
We did look at organizational diversity, and we did just look at mostly commits lines of code.

48:00.280 --> 48:05.480
Code contributions. There are loads of other ways to contribute to a project that we haven't looked at yet,

48:05.480 --> 48:10.520
but you were there yet. There are loads of other project health metrics that we're going to look at.

48:10.520 --> 48:15.240
This is phase one of the research. It's not just done. We're not just looking at the company

48:15.240 --> 48:18.440
information and then stopping, so we have a lot more work to do.

48:20.440 --> 48:26.680
Thanks, everybody. I'd like to thank Don Foster and Ford and Brian Profit as our panelists. I want

48:26.680 --> 48:33.720
to thank you all for your questions today. Don pulled together a set of links that are a lot of

48:33.720 --> 48:38.120
articles that cover a lot of what we've talked about and used as a basis for this. So thanks very

48:38.200 --> 48:38.920
much, everybody.

48:48.920 --> 48:51.160
Listen to what the slides already are up.

