WEBVTT

00:00.000 --> 00:11.280
Ladies and gentlemen, I'm very pleased to welcome James Bonnet to stage.

00:11.280 --> 00:15.520
He's going to give you a different perspective looking at strategies for trusting your

00:15.520 --> 00:19.960
employer in open source and I'll let James tell you more.

00:19.960 --> 00:27.880
So, thank you very much for the introduction.

00:27.880 --> 00:33.520
As you said, my name is James Bonnet, I've been working in open source now for it depends

00:33.520 --> 00:39.520
how you count at something like 30 years and now have the gray hairs to prove it.

00:39.520 --> 00:46.840
I began my career as a physicist and a developer, but I got on to business models.

00:46.920 --> 00:52.040
I led the effort to create the technical advisory board of the Linux Foundation and I am

00:52.040 --> 00:53.040
a kernel developer.

00:53.040 --> 00:58.960
I still, I'm listed as a maintainer of the Scuzzy subsystem and the peer-risk subsystem.

00:58.960 --> 01:01.840
But the reason I, oh, yeah, I need to give you a disclaimer.

01:01.840 --> 01:06.880
Obviously, I do work for Microsoft as talk is based on personal observation and you can

01:06.880 --> 01:12.360
attribute anything I say to me, blame me for it, but you can't blame my employer.

01:12.360 --> 01:16.800
So let's begin with a little history.

01:16.800 --> 01:19.880
The Linux began life as a hobby project in 1991.

01:19.880 --> 01:24.640
This is basically the logical canon, everybody knows this.

01:24.640 --> 01:29.880
By 1992, and 1991 it was about 100 lines of codeliness posted to the internet.

01:29.880 --> 01:34.400
By 1992, it was actually a self-hosting operating system.

01:34.400 --> 01:38.680
The first distribution started to be widely installed that basically meant that you could

01:38.680 --> 01:44.680
buy a stack of, in those days it was 10 floppy disks and stored it on your PC in 1993.

01:44.680 --> 01:49.760
And it was as effective as the Unix operating system by that.

01:49.760 --> 01:54.000
What wasn't widely reported at the time was that I was in the math department at university

01:54.000 --> 01:57.440
and I was subversively using Linux to replace Unix.

01:57.440 --> 02:02.200
And the reason I was doing this is money because basically the Unix workstations in those

02:02.200 --> 02:04.200
days cost 10,000 quid.

02:04.200 --> 02:07.880
I could go out and buy 100 quid PC and install Linux on it.

02:07.880 --> 02:14.640
I could get 10 of those for every 1000 quid we'd have spent on a Unix machine.

02:14.960 --> 02:17.400
Unix continued its forward progress march.

02:17.400 --> 02:21.600
By 1997, if you ever heard of it, there was this thing called lamp.

02:21.600 --> 02:25.520
It stood for Unix Apache, my SQL and PHP.

02:25.520 --> 02:28.880
And this was actually what began to penetrate the enterprise.

02:28.880 --> 02:33.800
Because the nascent internet had just come along in 1995, two years ago.

02:33.800 --> 02:38.280
The corporations were all starting to try and get on the internet.

02:38.280 --> 02:41.320
And the way you did that was by a web server that could do stuff.

02:41.400 --> 02:44.720
And this lamp stack was basically a web server that could do stuff.

02:44.720 --> 02:49.120
So everybody in the Unix space and of course Microsoft in the Windows space,

02:49.120 --> 02:53.040
we're rushing to produce web servers, but Linux already had one.

02:53.040 --> 02:58.280
And so the easiest way of actually getting your company onto the internet in those days was to install Linux

02:58.280 --> 03:01.080
and just place the machine there.

03:01.080 --> 03:05.760
Lamp was actually subversively installed by Cisadmin's.

03:05.760 --> 03:10.120
This means there was no corporate decision to actually do this installation.

03:10.200 --> 03:14.080
It was all done by the people in the lowest structure of the corporation.

03:14.080 --> 03:17.560
If you think how a corporation works, that's really not what they do today.

03:17.560 --> 03:22.120
You don't have the boss come in and ask the Cisadmin's what they're doing in your data center

03:22.120 --> 03:26.480
because your customers would be very unhappy about the security implications of that today.

03:26.480 --> 03:31.960
But you know, way back 20 years, this was the Wild West everybody did this.

03:31.960 --> 03:36.120
The executives of the company and sort of the CTOC level C Suite,

03:36.120 --> 03:40.440
even the guy in charge of the data center, were often unaware that this was happening.

03:40.440 --> 03:49.480
So Linux was just quietly seeping into all of these industrial data centers with nobody who was actually paying the money knew what was going on.

03:49.480 --> 03:55.240
But would have mass started spreading and sort of by the end of 1998, 1999,

03:55.240 --> 04:00.240
even the C Suite executives were aware of the fact that they actually had Linux in their organization.

04:00.240 --> 04:06.080
They just didn't know how much, but they were also aware of the reasons why it was actually becoming popular.

04:06.560 --> 04:08.800
And it was the cost benefit and the reliability.

04:08.800 --> 04:13.440
It was basically, you bought any old Claptop PC, the 100-quid argument again.

04:13.440 --> 04:17.920
You have still Linux on it and it just runs as a robust internet web server.

04:17.920 --> 04:22.880
You don't need to buy this expensive Unix workstation for a thousand quid to do the same job.

04:22.880 --> 04:28.560
So this 10-to-one cost saving was what really appealed to the C Suite.

04:28.560 --> 04:36.960
And obviously, in 1998, the Unix was just ended, leaving Carnage and Devastation in their wake.

04:36.960 --> 04:40.160
There was pretty much no inheritor to Unix then.

04:40.160 --> 04:44.240
Some thought it would might be able to pick up on the destruction,

04:44.240 --> 04:47.840
but they were basically all in pieces on the floor,

04:47.840 --> 04:49.440
because they'd competed with each other.

04:49.440 --> 04:53.200
They fragmented the operating system and they'd screwed up their business models.

04:53.200 --> 04:57.680
So Microsoft thought that the data center was ripe for the picking.

04:57.680 --> 05:04.640
It already had Windows MT to do this, and it was coming in with IS, which was internet information server.

05:04.640 --> 05:08.080
And as Microsoft tried to penetrate the data center with this,

05:08.080 --> 05:12.720
it found its path blocked pretty much every turn by this free-up start called Linux.

05:12.720 --> 05:16.640
Because even though Microsoft Windows ran on PCs,

05:16.640 --> 05:18.720
you still had to pay for the operating system.

05:18.720 --> 05:21.840
So it was cheaper than the $1,000 Unix machine.

05:21.840 --> 05:25.040
You could still buy the $100 PC,

05:25.040 --> 05:29.920
but you then had to pay Microsoft a couple of $100 to install IS and everything on it.

05:29.920 --> 05:32.960
Actually, Windows Server was pretty expensive in those days.

05:32.960 --> 05:37.600
And so this is when Microsoft started to see Linux as a real threat to its business model.

05:37.600 --> 05:41.280
This is also the year what was called the Halloween documents were published.

05:41.280 --> 05:43.360
I don't really have time to tell you what they are,

05:43.360 --> 05:45.680
but you can go and look them up on the internet there.

05:45.680 --> 05:48.400
Pretty infamous.

05:48.400 --> 05:50.320
But as this was happening,

05:50.320 --> 05:56.240
especially what makes executives pay attention is not really success its failure.

05:56.240 --> 05:59.600
The fact that Microsoft was failing to penetrate the enterprise

05:59.600 --> 06:05.600
with what looked like such a winning proposition made a load of executives in the American software industry

06:05.600 --> 06:07.600
asked what the hell is going on.

06:07.600 --> 06:11.520
You know, and when they saw that it was being blocked by something, a lot of them,

06:11.520 --> 06:13.280
it's still never heard of Linux.

06:13.280 --> 06:16.080
They wanted to know why, and more importantly,

06:16.160 --> 06:18.480
they wanted to know if they could make money from it.

06:18.480 --> 06:22.480
So this was the beginning of what was called the dot com bubble.

06:22.480 --> 06:24.880
Because by the time 2000 came along,

06:24.880 --> 06:29.920
everybody was trying to invest in Linux because obviously it was this little upstart operating system

06:29.920 --> 06:30.960
that was beating Windows.

06:32.080 --> 06:37.120
Problem was that Linux, the kernel, and most of the tools that we used in the operating system

06:37.120 --> 06:41.040
were all three software at that time, fiercely run by volunteers

06:41.040 --> 06:43.520
who really didn't want to give up their independence.

06:43.520 --> 06:46.240
So Linux had no corporate structure at all.

06:46.240 --> 06:49.440
It was basically just his kernel, his a bunch of tools.

06:49.440 --> 06:52.160
Oh look, there's a few guys over there putting a distribution together,

06:52.160 --> 06:54.480
and there's a few guys over there doing the same thing.

06:54.480 --> 06:57.120
There was basically no corporate organization at all.

06:58.320 --> 07:01.360
So OSDL was formed to try and fix this.

07:01.360 --> 07:04.320
It was the first of the foundations, effectively,

07:04.320 --> 07:07.840
who actually knows what OSDL stands for, raise your hand.

07:07.840 --> 07:09.600
One person, and it's okay.

07:09.600 --> 07:12.160
So it's called the open source development laboratory.

07:12.160 --> 07:15.440
It died about 20 years ago, which is why only one person and the audience

07:15.440 --> 07:19.520
has ever heard of it, but it was the precursor of the Linux Foundation.

07:19.520 --> 07:22.240
And because it was formed in the dot com bubble,

07:22.240 --> 07:26.000
companies were falling over themselves to pay money into this foundation.

07:26.000 --> 07:28.960
It's initial seed capital with some around $10 million.

07:29.520 --> 07:31.680
Well, it was at least $0.5 million.

07:31.680 --> 07:34.080
The exact figures are sort of lost in the accounts.

07:35.840 --> 07:40.400
And its purpose, stated purpose of OSDL was to make Linux business ready.

07:40.480 --> 07:43.760
And the reason they formed it is because the company's realized,

07:43.760 --> 07:46.960
they couldn't just show money on a load of scruffy volunteers who

07:46.960 --> 07:49.440
are sitting around at the kernel summit, figuring out

07:49.440 --> 07:52.640
intricacies of memory management subsystems and regulars,

07:52.640 --> 07:55.520
they actually needed some suits somewhere to talk to.

07:55.520 --> 07:56.720
And we didn't have any.

07:56.720 --> 08:00.160
So they very kindly formed the suits for us in OSDL,

08:00.160 --> 08:03.360
and told us this was the organization that was speaking for kernel developers.

08:04.160 --> 08:07.040
They actually hired Linux in 2003,

08:07.040 --> 08:10.160
and actually a bunch of other kernel developers as well.

08:10.240 --> 08:13.920
OSDL actually had quite a large stable of kernel developers at that time.

08:16.320 --> 08:22.080
But the relationship between the Linux kernel and OSDL was not always a happy one.

08:22.080 --> 08:27.200
The reason was basically that to a bunch of volunteers who were working on our

08:27.200 --> 08:30.080
operating system, OSDL looked like a parachute

08:30.080 --> 08:33.360
to do in management infrastructure that was trying to tell us

08:33.360 --> 08:36.080
what we should actually be doing with our operating system.

08:36.080 --> 08:37.040
And we didn't like that.

08:37.920 --> 08:43.360
OSDL saw themselves, basically, as the grownups in the room,

08:43.360 --> 08:46.640
the guys and suits who knew how to talk to industry,

08:46.640 --> 08:48.400
they'd gathered requirements from industry.

08:48.400 --> 08:50.880
They had a load of projects that they wanted to do,

08:50.880 --> 08:54.240
but they'd hired nowhere near enough kernel developers actually to do them.

08:54.240 --> 08:56.960
So they ended up spending a lot of their time sending

08:56.960 --> 09:00.720
their directs of engineering and people to Linux conferences,

09:00.720 --> 09:04.000
primarily the kernel summit, to tell us how we should be running Linux.

09:04.000 --> 09:06.160
And this did not go down very well.

09:06.160 --> 09:09.920
The friction started to build pretty much as soon as OSDL was formed.

09:09.920 --> 09:14.560
By the time it had hired Linux, it basically thought it had found the winning argument.

09:14.560 --> 09:16.160
And this was in 2003.

09:16.160 --> 09:20.080
A year later, we were really getting ticked off by all the friction.

09:20.080 --> 09:25.280
We did spend a year in 2004 trying to explain to OSDL that

09:25.280 --> 09:29.120
we, the kernel developers, needed them to interact with us in a different way.

09:29.120 --> 09:33.280
I mean, we were interested in what the requirements of industry were,

09:33.280 --> 09:36.560
but we wanted them translated into technical problems that we

09:36.560 --> 09:38.800
would decide whether we're interested in trying to solve.

09:38.800 --> 09:42.880
We didn't want the usual architectural roadmap for an operating system,

09:42.880 --> 09:46.080
dumped on us by a suit, he didn't know what they were talking about.

09:46.080 --> 09:48.480
So this friction was really serious.

09:48.480 --> 09:52.640
And by the end of 2004, talking to OSDL just wasn't working,

09:52.640 --> 09:55.440
because the attitude of their management was, yeah,

09:55.440 --> 09:58.880
but you guys, I mean, remember, this is 20 years ago,

09:58.880 --> 10:00.800
even I was a lot younger than,

10:00.800 --> 10:03.280
but I was one of the oldest Linux kernel developers.

10:03.280 --> 10:06.240
We were going from people who were 16, 17.

10:06.240 --> 10:09.920
I mean, Christoph Helwig was about 17 at the time with red hair,

10:09.920 --> 10:13.200
and these suits used to cow when they saw him coming.

10:13.200 --> 10:17.680
So they thought that we just weren't capable of actually running an operating system

10:17.680 --> 10:20.000
successfully, which is of course what we were doing.

10:20.000 --> 10:22.480
And we knew it.

10:22.480 --> 10:26.800
So we had to have a phase where we learned to get along together.

10:26.800 --> 10:30.160
We needed to cooperate.

10:30.160 --> 10:35.200
And the way we did it is, in 2005, the kernel summit recognized,

10:35.200 --> 10:37.120
this was a problem that wasn't going to go away.

10:37.120 --> 10:40.240
I mean, we'd had a year of massive friction with OSDL.

10:40.240 --> 10:42.560
We really need to do something about it.

10:42.560 --> 10:46.240
The real problem was, basically, that we thought,

10:46.240 --> 10:48.800
if we could just talk to the companies directly,

10:48.800 --> 10:50.560
we'd be able to get along a lot better.

10:50.560 --> 10:52.800
They would actually realize that, you know,

10:52.800 --> 10:55.200
we were actually doing service, and we could negotiate

10:55.200 --> 10:56.560
of more equal terms.

10:56.560 --> 11:00.080
Effectively, we just wanted them to recognize us as co-equals

11:00.080 --> 11:01.520
in the power structure.

11:01.520 --> 11:04.080
But OSDL was getting in the way, and it wouldn't let us

11:04.080 --> 11:07.280
talk to the companies directly, because we were scruffy engineers

11:07.280 --> 11:11.600
and corporate suits didn't really want to know who we are, who we were.

11:11.600 --> 11:15.360
So what we did was, we proposed the formation

11:15.360 --> 11:20.880
of the technical advisory board for OSDL as it then was,

11:20.880 --> 11:23.520
and we demanded the board seat on OSDL.

11:23.520 --> 11:27.760
Now, if you know anything about what goes on in corporate structures,

11:27.760 --> 11:31.520
this is basically a power move.

11:31.520 --> 11:34.240
It's an exercise of extreme power.

11:34.240 --> 11:37.920
You usually, even in a corporation, and I hold the majority shareholder,

11:37.920 --> 11:39.600
you wouldn't expect this maneuver to get off.

11:39.600 --> 11:42.400
Because remember, we felt, talked to all of the executives

11:42.400 --> 11:44.000
in the CEO of OSDL.

11:44.000 --> 11:46.880
So we're going to go over that head and make a proposal

11:46.880 --> 11:49.520
to fix this to the board of directors directly.

11:49.520 --> 11:51.680
And if you know any board on any company,

11:51.680 --> 11:54.880
they're really reluctant to actually get their hands dirty

11:54.880 --> 11:57.520
and go and tell, they have the power to tell a CEO

11:57.520 --> 12:00.240
in the company what to do, but they rarely exercise it.

12:00.240 --> 12:02.720
And we were demanding they exercise it.

12:02.720 --> 12:06.320
Right? So on paper, this move shouldn't have worked,

12:06.320 --> 12:09.440
because it's something like what you see in succession.

12:09.440 --> 12:12.640
Board conversations are almost never structured like this.

12:12.640 --> 12:14.800
Board's like to do everything by consensus,

12:14.800 --> 12:17.120
and they usually don't like to cross the CEO.

12:17.120 --> 12:19.280
And we gave them a proposal that said, pretty much,

12:19.280 --> 12:23.680
across the CEO, talked to us, and we'll help you sort it all out.

12:23.680 --> 12:26.640
But they did like a hoodspot.

12:26.640 --> 12:29.520
They figured out that if we could go up to them

12:29.520 --> 12:32.240
and make these phenomenally outrageous demands.

12:32.240 --> 12:35.120
And then actually, we backed it up with a massive document

12:35.120 --> 12:37.760
explaining why if they did this, it would work.

12:37.760 --> 12:40.480
And they looked at, they all thought that, yeah, actually,

12:40.480 --> 12:43.120
we might as well, I mean, we're failing at this model anyway.

12:43.120 --> 12:45.280
We might as well give these guys a chance.

12:45.280 --> 12:49.520
So it took one round of canvassing and a board vote,

12:49.520 --> 12:51.920
and we had everything we demanded.

12:51.920 --> 12:56.160
And the relationship between the Linux, the kernel,

12:56.160 --> 12:59.440
and the corporations who are interested in using it,

12:59.440 --> 13:01.920
had a sea change of their particular point.

13:01.920 --> 13:06.480
Out of the sea change grew pretty much all of the corporate interactions

13:06.480 --> 13:08.400
you see today in open source.

13:08.400 --> 13:13.760
But this was the point in history where the change began.

13:13.760 --> 13:16.960
And obviously, the document we put together

13:16.960 --> 13:19.200
did not say we have the solutions, you know,

13:19.200 --> 13:20.720
it's sort of a bad document in that sense.

13:20.720 --> 13:23.040
Usually you pretend you know what you're talking about.

13:23.040 --> 13:25.200
What it said is we can set up a structure

13:25.200 --> 13:28.400
where we can both work together mutually to solve the problems.

13:28.400 --> 13:31.040
Because the companies didn't know how to talk to us.

13:31.040 --> 13:32.960
We didn't really know how to talk to them.

13:32.960 --> 13:35.760
But if we establish the direct channel of communication,

13:35.760 --> 13:37.520
our contention was we'd work it out.

13:37.520 --> 13:41.600
And of course, that actually did end up working out pretty well.

13:41.600 --> 13:46.560
And in 2007, OSTL, this is why it doesn't exist anymore,

13:46.560 --> 13:49.840
merge with the free standards group to become the Linux Foundation.

13:49.840 --> 13:53.760
So I imagine everybody now in the room is heard of the Linux Foundation.

13:53.760 --> 13:55.360
This is how it began.

13:55.360 --> 14:00.560
But in recognition of the fact that the power move we did in 2005

14:00.560 --> 14:02.800
by 2007, it was really working.

14:02.800 --> 14:06.160
We were actually establishing some synergy with the company.

14:06.160 --> 14:08.800
And everything was actually going pretty smoothly.

14:08.800 --> 14:12.000
The bylaws of the Linux Foundation, if you read them,

14:12.000 --> 14:14.960
now actually have the technical advisory board

14:14.960 --> 14:17.760
and the board seat dedicated to developers

14:17.760 --> 14:20.640
enshrined sitting in their actual bylaws

14:20.640 --> 14:25.280
as in recognition of the fact that this structure really, really does work.

14:25.280 --> 14:29.120
I have to say that pretty much no other foundation

14:29.120 --> 14:31.680
that's ever been formed has a structure like this.

14:31.680 --> 14:35.120
Because remember, usually, and you saw it in the previous talk,

14:35.120 --> 14:37.760
foundations are formed to manage projects.

14:37.840 --> 14:40.560
The Linux Foundation does not manage Linux.

14:40.560 --> 14:42.800
Linux through the technical advisory board

14:42.800 --> 14:46.320
and its board seat really technically manages the Linux Foundation.

14:46.320 --> 14:48.960
The relationship is entirely inverted.

14:48.960 --> 14:51.280
And this is the way the kernel developers like it.

14:51.280 --> 14:53.520
I realize that now the project runs this way,

14:53.520 --> 14:56.960
but it works very well for us.

14:56.960 --> 15:00.480
Obviously, by 2008, since I'd put the founding,

15:00.480 --> 15:02.160
I basically had the kernel summit.

15:02.160 --> 15:04.080
I was the only person wearing a bow tie.

15:04.080 --> 15:07.520
So I was the one they pushed forwards to try and do all of this.

15:07.520 --> 15:11.520
So I was in the front line as the chair of the technical advisory board

15:11.520 --> 15:14.160
and actually the board member at OSDL

15:14.160 --> 15:18.240
and then the Linux Foundation trying to ensure they did what we told them.

15:18.240 --> 15:20.640
And obviously, then I was also in the front line

15:20.640 --> 15:22.240
of the fight against Microsoft.

15:22.240 --> 15:26.400
Because even ten years later now, the 1998,

15:26.400 --> 15:29.120
where we blocked them from entering the enterprise

15:29.120 --> 15:31.920
and internet information explorer, they still hadn't forgotten.

15:31.920 --> 15:34.000
They still thought the windows was the natural

15:34.000 --> 15:36.320
inheritor of the operating systems.

15:36.320 --> 15:40.400
And so at that time, I can remember getting on stage

15:40.400 --> 15:44.720
with a lot of Microsoft people who came to try and explain their business model.

15:44.720 --> 15:49.040
And in 2008, it was actually monetizing patents against Linux.

15:49.040 --> 15:51.600
And I can remember the open source business conference

15:51.600 --> 15:53.040
that doesn't exist anymore.

15:53.040 --> 15:55.280
Massive conference out in Silicon Valley.

15:55.280 --> 15:59.280
I was on stage with Brad Smith, who's now executive chairman of Microsoft.

15:59.280 --> 16:02.800
But then he was chief corporate counsel going toe to toe

16:02.800 --> 16:06.800
over why the way Microsoft tried to use patents

16:06.800 --> 16:08.560
just wouldn't work for open source.

16:08.560 --> 16:12.400
And it was one of those conversations where the cleaners

16:12.400 --> 16:15.600
mocked the blood off the floor after you finished.

16:15.600 --> 16:18.720
But of course, now I work for Microsoft.

16:18.720 --> 16:22.640
And this is the story of how that came to be in some senses.

16:22.640 --> 16:26.480
The lesson you can get from this story is that there's always scope

16:26.480 --> 16:29.440
for today's enemy to become tomorrow's friend.

16:29.440 --> 16:34.000
And that's actually how you build alliances with industry.

16:34.000 --> 16:39.120
But there's a lot that came out of that initial fracker with OSDL.

16:39.120 --> 16:44.000
One of which was the changing role of engineers in industry entirely.

16:44.000 --> 16:47.200
Not just an open source, but we actually change the statues

16:47.200 --> 16:50.000
at exactly your own engineers, even in proprietary software.

16:50.000 --> 16:51.680
You've heard of this thing called in a source.

16:51.680 --> 16:56.320
It's actually trying to bring open source techniques to proprietary projects.

16:56.320 --> 17:00.560
By 2005, the recent OSDL thought it had to exist,

17:00.560 --> 17:04.640
is that the way corporations talk to each other

17:04.640 --> 17:07.920
is by these things called business development departments.

17:07.920 --> 17:09.680
And obviously, they do a bit of negotiation

17:09.680 --> 17:11.760
at the sales level and the CO level.

17:11.760 --> 17:15.760
But the Linux organization was an unstructured group of volunteers

17:15.760 --> 17:17.600
who just communicated by email.

17:17.600 --> 17:19.520
We had no executive they could talk to.

17:19.520 --> 17:22.240
We had no business development organization.

17:22.240 --> 17:25.280
And without this business development organization,

17:25.280 --> 17:27.280
they just did not know how to talk to us.

17:27.280 --> 17:30.000
We couldn't negotiate corporate to corporate agreements.

17:30.000 --> 17:34.960
We couldn't even send an executive out to sign an agreement on behalf of Linux,

17:34.960 --> 17:37.440
because nobody knew you could speak for Linux.

17:37.440 --> 17:41.520
It was basically what any volunteer had to think at any particular time.

17:41.520 --> 17:46.400
So this was the problem of they didn't really know how they should be communicating with us.

17:46.400 --> 17:50.400
And we didn't really know how we could make promises to them.

17:50.400 --> 17:54.240
But if you think about business development today,

17:54.240 --> 17:56.640
business development has a sort of a dying art.

17:56.640 --> 18:00.240
Engineers in a lot of firms actually fill this role.

18:00.240 --> 18:03.200
You see a lot of people shaking their heads.

18:03.200 --> 18:06.000
But if you think about what you do in open source,

18:06.000 --> 18:09.440
especially open source that shared between a lot of corporations.

18:09.440 --> 18:13.120
Corporations, employee engineers, engineers work on the project.

18:13.120 --> 18:16.960
The engineers pretty much know what their company wants out of this project.

18:16.960 --> 18:22.160
But then negotiate a sort of patch and code level with all of the other engineers.

18:22.160 --> 18:24.480
And you sort of get negotiations to go,

18:24.480 --> 18:26.000
well, my company's interested in this.

18:26.000 --> 18:27.360
We got patches for this.

18:27.360 --> 18:28.000
You want there.

18:28.000 --> 18:28.960
You got patches for that.

18:28.960 --> 18:30.720
How would we combine the patch set?

18:30.720 --> 18:34.960
That's pretty much a business business agreement between two corporations,

18:34.960 --> 18:37.920
except it's just been negotiated by two engineers.

18:37.920 --> 18:44.000
So you, the engineers and the room, act effectively as business development and agreement for your corporations.

18:44.400 --> 18:47.360
You also act as copyright agents.

18:47.360 --> 18:50.240
This has been a seismic shock to the industry.

18:50.240 --> 18:58.640
And it's still today, you'll find a lot of companies who think that intellectual property is the life blood of any software company.

18:58.640 --> 19:07.840
And it's jellously guarded by the legal department who usually appoints one single vice president as the guy who is authorised to buying that intellectual property.

19:07.840 --> 19:11.840
So there's usually one vice president in the company who can sign a contract that says,

19:12.000 --> 19:16.800
you know, we give you a license to our patents, so we give you a license to our copyrights or whatever.

19:16.800 --> 19:22.000
You as open source developers whenever you sign off on the DCO in any open source project,

19:22.000 --> 19:27.840
you are now binding your company to both its copyrights and its patents on behalf of that company.

19:27.840 --> 19:33.760
Effectively, you are all now agents for copyrights and patents in open source.

19:33.760 --> 19:38.880
So the job that used to belong to one person because it was so jellously guarded,

19:38.960 --> 19:42.800
is now spread around all of you lots sitting in this room.

19:42.800 --> 19:48.080
That also means that you've taken over functions of the legal department used to jellously guard.

19:48.080 --> 19:49.760
That's pretty good.

19:49.760 --> 19:56.000
And effectively, in an open source project, you actually act as your company's representative to the project.

19:56.000 --> 20:04.880
People judge your company by the way you behave in that open source project because for some of the time you actually are reflecting the interest of your corporation.

20:04.880 --> 20:09.600
And this is right because an open source, we're looking for the problems we want to solve.

20:09.600 --> 20:14.000
We don't want the corporate corporation telling us through its engineer what to do,

20:14.000 --> 20:20.160
but we do want the corporation to describe its problems to us so we can come with a mutually satisfactory solution.

20:20.160 --> 20:25.280
And use the engineer representing the corporation to the project are describing the problem.

20:26.480 --> 20:33.280
And obviously, you act as the representative of whatever project you're working on inside your company.

20:33.280 --> 20:37.600
Because if your company is so sometimes you describe the problem,

20:37.600 --> 20:42.560
you come back from the negotiation and the community goes, well, it's an interesting problem,

20:42.560 --> 20:46.240
but we did it here and we did it this way. Why do you want to solve it that way?

20:46.240 --> 20:50.080
And you might look at it as an engineer and go, oh gosh, we hadn't thought of that.

20:50.080 --> 20:56.960
And then your job is to go to the back of the company and say, well, the community just told us that we couldn't do it the way we were expecting to do it.

20:56.960 --> 21:02.400
We have to do it a different way instead. And now you have to alter the business plan to accommodate this different way.

21:02.480 --> 21:08.320
So this is how open source projects reflect influence back onto the corporations.

21:08.320 --> 21:13.760
And again, they do it through their engineers. And the statue and influence of their engineers through that project.

21:14.720 --> 21:23.040
So a lot rides on your shoulders. Effectively, you are an ambassador, both from the project to your company and from the company to your project.

21:25.680 --> 21:31.760
Engineers are also no longer fungible. So fungible means that, let's say, the five-year-old note,

21:31.760 --> 21:38.640
I haven't my pocket. I could swap it with any five-year-old note in the audience and it would still retain the same capability of buying stuff.

21:38.640 --> 21:43.520
That's what fungibility is. You can just interchange all these things arbitrarily.

21:44.080 --> 21:53.360
In the early days in proprietary projects, engineers were deemed to be fungible because all I really needed was a set of engineers with a particular skill set.

21:53.360 --> 21:57.200
And it didn't matter who they were. Any old engineers with that skill set would do.

21:58.080 --> 22:05.840
But nowadays, in open source, a lot of you who work on open source, if you change company,

22:05.840 --> 22:09.920
your influence in the open source would go with you and the corporation would lose it.

22:09.920 --> 22:16.560
So the fungibility of engineers is gone because open source makes you different. It means that

22:16.560 --> 22:21.680
the project goes with you when you leave and also the contribution stream.

22:22.320 --> 22:27.200
And the community development of that project continues regardless of what the company did.

22:27.200 --> 22:30.320
I mean, if you were working on a proprietary project and they fired you,

22:30.320 --> 22:34.000
you wouldn't get to work on that project anymore. But if you're working on an open source project,

22:34.000 --> 22:38.560
it can go for a bid they fired you. You can still go to another company and continue working on that project.

22:40.560 --> 22:47.280
And this non-fungibility of engineers results in massive empowerment. So it gives you way more power

22:47.280 --> 22:52.720
than the engineers had 20 years ago when they were just regarded as fungible cogs in the corporate

22:52.720 --> 22:58.480
machinations of building proprietary products. And obviously, to quote Marvel Comics,

22:58.480 --> 23:03.440
with great power comes great responsibility. So part of this talk is how you should use that

23:03.440 --> 23:08.320
power and the responsibility. One of the biggest problems that people have in open source to go

23:08.320 --> 23:14.400
back to the theme that was actually on the previous talk is that a lot of times people are afraid

23:14.400 --> 23:18.560
of using that power. You're afraid that if you stand up and speak in your company they'll

23:18.560 --> 23:23.520
fire you because that's not what they want to do. Corporations actually do try and project

23:23.520 --> 23:28.880
this sort of aura of corporate power to keep you in line. It's not really a one-way street.

23:28.880 --> 23:35.920
It's partly their fault as well. But your job as an open source engineer employed by a company is

23:35.920 --> 23:41.120
to guide that company through its adoption of open source. And there are always problems in the

23:41.120 --> 23:45.840
where corporation adopts open source. And if your company is screwing up, you can't just sit

23:45.840 --> 23:53.280
back and go hard. It's partly your fault. You need to fix it. And obviously, having this greater

23:53.280 --> 24:01.680
power means that you can more easily affect change inside your company because unlike 20 years ago,

24:01.680 --> 24:05.440
they are a bit more afraid of firing you if you say something that they don't like.

24:06.080 --> 24:12.240
So to get on to the meat of the talk with 25 minutes to go, how do you actually trust corporations?

24:14.800 --> 24:19.360
Firstly, you do have to understand how they work. You can't just treat a corporation as a black

24:19.360 --> 24:23.840
box and expect to do what you want. You actually need to understand the mechanics of what it does.

24:26.080 --> 24:31.200
And obviously, the reason for this is if your job as an engineer is to affect change within

24:31.200 --> 24:36.160
your organization when they're screwing up, you have to know how to affect their change.

24:36.160 --> 24:39.840
There are no ifs and buts about this, you have to understand how to do it.

24:42.720 --> 24:47.680
And part of the problem and the reason everybody criticizes it, especially in today's world of

24:47.680 --> 24:53.120
Donald Trump, transactionalism is a dirty word. But corporations, all their relationships are

24:53.120 --> 24:58.480
completely transactional, whether it's with other companies, with our employees, with you,

24:58.480 --> 25:03.120
with open source projects. The question they always ask is, what is the mutual benefit?

25:03.120 --> 25:07.280
You know, if I'm not getting something out of this relationship, this relationship is no good to me,

25:07.280 --> 25:12.640
as far as the corporation sees it. And this is right because corporations' job is to make money.

25:12.640 --> 25:17.520
If a relationship is going bad and I'm not making money from it, it's easier to dump it and not have the

25:17.520 --> 25:23.760
to cost-rain. But the thing that a lot of open source people don't appreciate when you talk about the

25:23.760 --> 25:29.120
ideals and open sources, you can laugh at the companies for being transactional. But you,

25:29.120 --> 25:34.080
as open source developers, are effectively just as transactional as they are. If you think about it,

25:34.800 --> 25:39.040
a corporation only invests in things that's relevant to its mission. And its mission can change.

25:39.040 --> 25:43.600
I mean, if it's screwing up and the board tells it that you need to go into a different segment,

25:43.600 --> 25:48.400
it often will, with particular ruthlessness, it'll fire all its engineers, move into the

25:48.400 --> 25:54.480
new segment, acquire load of new ones, do lots of other stuff. But if that happened and the

25:54.480 --> 25:58.880
corporation stopped investing in your project, you probably leave the corporation going work for

25:58.880 --> 26:04.320
another one that actually would invest in your project. You, therefore, are not faithful to the

26:04.320 --> 26:10.160
company's mission statement, you're faithful to your project. That's actually a relationship transactionalism.

26:10.160 --> 26:15.360
The fact that you'd upstix and leave if they didn't do what you wanted them to do. That's transactionalism

26:15.440 --> 26:22.880
on your behalf. Being transparent about this transactionalism can help. Being willing to leave

26:22.880 --> 26:28.560
a company, being transactional about it, also increases your power as well, because it's your negotiating

26:28.560 --> 26:33.360
strength with the company. Your threat to leave if you want to make it is what they have to take

26:33.360 --> 26:41.120
seriously. But the fact that both of you have the capability of hurting each other and you're

26:41.120 --> 26:46.320
in a position to exercise that capability is the basis for a mutual understanding. It's pretty

26:46.320 --> 26:53.360
much how all peace treaties work and how all contracts between competing companies work in the industry.

26:53.360 --> 26:58.160
This is the basis, this transactionalism is the basis of actually how relationships work in

26:58.160 --> 27:03.040
industry. So the good news is, pretty much, you already understand all of this anyway, because

27:03.040 --> 27:08.400
you've been doing it. It's exactly the same transactionalism as the famous phrase an open source

27:08.400 --> 27:13.200
scratching your own edge. It's basically in order to come to the project and try and do something

27:13.200 --> 27:18.640
with it, you already have to be using the project. And when you try and fix something in a project,

27:18.640 --> 27:22.960
if they really, really told you to go away and go to some other project, effectively you would

27:22.960 --> 27:28.240
give up and go away, stop using that product and start using a different one. This also scratching

27:28.240 --> 27:33.760
your own edge is transactionalism. We practice transactionalism at open source every day.

27:34.480 --> 27:41.840
Obviously, you have to understand that the main corporate driver is revenue. How much revenue

27:41.840 --> 27:46.800
you produce is what the corporation wants to get out of you. There are no ifs and buts about this.

27:46.800 --> 27:51.840
Corporations make lofty statements about their missions, but a base their mission is to make money.

27:52.800 --> 27:57.520
And obviously, if they don't make money, there's very little chance of them paying you,

27:57.520 --> 28:02.240
because you need revenue coming in and profit off that revenue to actually pay your engineers.

28:02.880 --> 28:08.320
Obviously, they do it via some sort of business plan. But the point about business plans,

28:08.320 --> 28:14.080
and this is the dirty secret of all corporations, is pretty much a lot of business plans just

28:14.080 --> 28:18.160
don't work. You've seen a lot of failures in open source. The number of people who tried to

28:18.160 --> 28:23.680
adapt licenses, it's all in pursuit of money. And a lot of the business plans that all the people

28:23.680 --> 28:28.480
you think are executives who know what they're doing come up with simply do not work in the marketplace.

28:29.440 --> 28:34.640
When a corporation finds a plan that actually works, and by working, it's like Mr. Macauber,

28:34.640 --> 28:41.520
where in Charles Dickens he said, if your income is 20 quid and your outgoing is 19 quid and 19

28:41.520 --> 28:46.960
shillings, you're happy you're making a profit. If your outgoing is 20 quid and five and one shilling,

28:46.960 --> 28:52.160
you're unhappy because you're losing money. Just making that extra shilling above your expenses

28:52.160 --> 28:57.760
is enough to keep a company in business. So as far as business plans go, a corporation isn't

28:57.760 --> 29:02.320
a magic quest for the best business plan you could ever have. It's a quest for something that

29:02.320 --> 29:07.920
actually works because most business plans don't. And most executives know this. Once a company

29:07.920 --> 29:12.160
finds a business plan that actually works, they often stick to it for grim death. And it doesn't

29:12.160 --> 29:18.400
matter how inefficient it is, they will fight for that plan. This is the point, it doesn't have to

29:18.400 --> 29:23.440
be optimal. Almost nothing in the where corporation works is optimal and you have to live with that.

29:23.440 --> 29:32.480
And you have to understand how to make that work for you. Obviously also, corporations understand

29:32.480 --> 29:39.200
that decisions have to be made in quick time. You can't do the search for optimisation,

29:39.200 --> 29:43.520
while you're making a business decision. It's rather like, let's say you're in Olympic athlete

29:43.520 --> 29:48.480
on the blocks for a hundred meter race. When the starting gun goes off, you don't sit in the

29:48.560 --> 29:52.720
blocks and think how you're going to win the race. You basically race ahead and try and beat

29:52.720 --> 29:57.200
the competition. Whatever plan you had at that point the gun went off is the one you have to run

29:57.200 --> 30:04.560
with. There's no time to rethink. All corporations are in a race like that. So in order to

30:04.560 --> 30:11.600
influence the corporation, you effectively have to make yourself useful. And to go back, I suppose

30:11.600 --> 30:16.400
the previous talk and present a contrary in position. If a company is just paying you to work

30:16.480 --> 30:21.840
on open source and you're doing nothing but working on that open source project, you are not

30:21.840 --> 30:27.440
being useful to that company. All you are is a figurehead that they like, they employ,

30:27.440 --> 30:32.800
but you're not actually doing anything to sort of move them forward or help them achieve their goals.

30:34.320 --> 30:39.840
And the point for you is you could equally well be paid to do the job you're doing by another company.

30:39.840 --> 30:44.320
You've effectively made yourself completely fungible because they could fire you and you can go

30:44.320 --> 30:48.320
work for another company, take your project with you. But assuming they're benefiting from the

30:48.320 --> 30:52.960
work you were doing on that project, they're just as equally benefit from the work you do with

30:52.960 --> 30:58.320
your paid by another company. Unless you're doing something that makes the work you're doing,

30:58.320 --> 31:03.200
peculiarly relevant to their business plan. That's what you need to find inside the company.

31:03.760 --> 31:11.040
You need to figure out your value and this isn't always easy. But once you have your value add,

31:11.120 --> 31:16.320
that value add is the value you provide to the company over and above actually working on open source.

31:17.040 --> 31:22.160
This means that you're always going to be spending some of your time involved in corporate politics

31:22.160 --> 31:28.480
if you do your job well. No one is going to be paid to work 100% on open source. That doesn't

31:28.480 --> 31:34.080
mean that you can't work on it and you can't get your percentage of time up to 50-70%. But they're

31:34.080 --> 31:39.040
still some percentage of time that you should be spending trying to fix your company because if you're

31:39.040 --> 31:47.520
not, you're not providing value to them. So how do you do this? The key to doing this is to fix

31:47.520 --> 31:54.080
broken stuff first. Like I said, most corporations have a wrong business plan. If you find the wrong

31:54.080 --> 31:58.720
ness in the business plan is often very easy to point it out and suggest how to make it right.

31:58.720 --> 32:03.120
And a wrong business plan is easy to spot for corporations because it's losing the money in some

32:03.120 --> 32:07.440
sense they want to fix it anyway. And so this is the key to actually doing it.

32:09.360 --> 32:14.400
Suggesting improvements is not the way you do it. Remember, corporations always have a

32:14.400 --> 32:20.000
suboptimal business plan but it's having a suboptimal business plan is better than having a business

32:20.000 --> 32:23.760
plan that doesn't work and so they're happy with it and they'll fight tooth and nail against

32:23.760 --> 32:28.880
changing it. So the way you affect changes you fix the broken stuff first and you work on the

32:28.880 --> 32:34.640
feature improvements later. And if this sounds familiar, it should because it's basically the way

32:34.640 --> 32:40.560
that new contributors actually gain trust in an open source project. Amazingly enough,

32:40.560 --> 32:45.920
it's an exact parallel. The way a new contributor gains trust in an open source project is exactly

32:45.920 --> 32:50.560
the same way as you could gain trust within your company. You're just sort of working on different

32:50.560 --> 32:58.640
things than code. Clearly, you have to not be afraid of speaking truth to power. If you see a place

32:58.640 --> 33:03.680
where the company is screwing up, speak up and say so. Tell your manager, they don't respond,

33:03.680 --> 33:08.720
tell his manager and so on. See if you can get all the way up the corporate chain. Ultimately,

33:08.720 --> 33:13.360
you will find somebody as long as you've identified the correct problem. As in, this business

33:13.360 --> 33:18.240
plan is not working. Somebody somewhere will actually listen to that because it's true.

33:18.240 --> 33:22.880
And somebody in the corporate hierarchy has to recognize that truth, pretty much otherwise the

33:22.880 --> 33:26.800
corporation is doomed. If they're never going to recognize the fact they have a failing business

33:26.880 --> 33:30.400
plan, they're going to continue doing it. And that means the company at some point is going

33:30.400 --> 33:35.600
to go under. So they are always very attuned to people coming along and saying this bit's failing,

33:35.600 --> 33:42.080
we should improve it. And that's actually the primary value add of an individual contributor

33:42.080 --> 33:47.040
at a company is finding stuff that doesn't work and making it work. That's pretty much your job.

33:47.040 --> 33:52.880
It's the same description of a job you have in open source often as contributors. And actually,

33:52.960 --> 33:58.000
also, once you're on this ladder, this is the slippery slope. It's also the same ladder that

33:58.000 --> 34:03.120
gets you to promotion. We do need open source engineers to go for promotion. Because the higher

34:03.120 --> 34:08.160
you stand inside your company, the more influence you actually naturally have. And we need you to

34:08.160 --> 34:13.680
expand this influence. The percentage of open source developers who are actually executives with

34:13.680 --> 34:18.800
them, their company is tiny. And it's much smaller than for proprietary engineers. Most of the

34:18.800 --> 34:23.840
corporations you work with are staffed by engineers who are actually working at that corporation

34:23.840 --> 34:28.720
more than 20 years ago before the dawn of open source. Most of them are the people who are now

34:28.720 --> 34:33.520
in the fellow architect, distinguished engineer position. Most of them are the executives.

34:33.520 --> 34:39.040
We need many more open source developers to become executives because the scrubs in the business

34:39.040 --> 34:47.120
plan can only be fixed at the executive level. And obviously open source who really really needs

34:47.120 --> 34:53.360
influence in the C Suite. C Suite means C, O, C, F, O, C, T, O. Anybody with C in front of that title

34:53.360 --> 34:59.920
is often in the C Suite. So you need to do things that individual contributors often do inside

34:59.920 --> 35:05.600
the company in proprietary companies. Architecture reviews, code reviews, that sort of thing. Just

35:05.600 --> 35:10.800
make it look like you're helping your corporation. But as part of this, you can also form alliances

35:10.800 --> 35:16.160
within your company. Because there's always somebody else sitting in the executive chain who would

35:16.160 --> 35:20.240
look at you saying, you know, this business plans broken, who would think, you know, if I could

35:20.240 --> 35:24.800
fix that business plan, the company might promote me as well. And obviously, if they're, if

35:24.800 --> 35:29.120
they're slimy management type promotion is exactly what they're after, you can form an alliance

35:29.120 --> 35:32.560
with them. The alliance will be transactional. At some point they'll stab you in the back,

35:32.560 --> 35:38.960
but it'll work for a while, like all open source things do. Corporate politics is another thing

35:38.960 --> 35:44.480
that you really really need to pay attention to. As I said, corporate corporations often don't

35:44.560 --> 35:49.200
exactly know what the right thing to do is. This leads to a lot of debate internally at the

35:49.200 --> 35:54.480
executive level. And that makes them speak with many in factionalised voices. Corporations

35:54.480 --> 35:58.640
through their marketing departments always try to appear as though they have the same message.

35:58.640 --> 36:02.880
But under the covers behind the scenes, they're usually in a firm end with lots and lots of

36:02.880 --> 36:07.680
different opinions by what they should be doing. The only time that marketing can actually get

36:07.680 --> 36:12.240
corporations to agree to anything is usually when it's announced in the press. Marketing often

36:12.320 --> 36:16.560
tries to drive corporate decisions simply by doing that. You can't get agreement with all

36:16.560 --> 36:20.000
of the executives. You might as well just go out and announce something. And then they'll all

36:20.000 --> 36:26.800
be forced to stick to whatever you announced. And as long as something works, as in it's making

36:26.800 --> 36:32.240
money, the Mr McCorber, five shillings above instead of five shillings below, a corporation is happy.

36:32.800 --> 36:36.640
If you come along with a plan for making more money and they look at it and go,

36:36.640 --> 36:42.000
but it's risky, whatever it failed, you know, they might be unhappy. So once they find something

36:42.000 --> 36:49.600
works, they will often stick to it. But they also care about something that either damages

36:49.600 --> 36:54.880
revenue or reputation. Reputation to a corporation is lifeblood because it's what gets people

36:54.880 --> 37:00.160
to pay for money over for trusting you. And obviously revenue is key to actually making the

37:00.160 --> 37:06.080
corporation function in future. Anything that damages these two functions that you can point to

37:06.080 --> 37:13.760
is something that's broken that you can actually fix. And one of the big problems, especially

37:13.760 --> 37:18.320
in large companies, is that often a lot of the factions within the company just don't get open

37:18.320 --> 37:25.120
source. Usually there is a small faction within a company that's made its reputation by driving

37:25.120 --> 37:30.080
open source forwards. And that's become the dominant faction, but it's not the only factions.

37:30.160 --> 37:36.640
There are many different voices within the company. And so you need to form alliances within

37:36.640 --> 37:40.880
the factions within the corporation. Obviously your natural allies are going to be the people

37:40.880 --> 37:45.600
who are actually doing open source, but don't forget the underdogs. The underdogs are always the

37:45.600 --> 37:51.120
people who are jealous and have been overlooked through promotion. And often if you can give them a plan

37:51.120 --> 37:56.320
which looks like, oh, by the way, if I did this, I might get more influence in the company,

37:56.400 --> 38:00.880
they might actually become your natural allies as well. So don't overlook the fact that non-open

38:00.880 --> 38:06.000
source people can become your allies. Yesterday's enemies can become tomorrow's friends.

38:08.080 --> 38:14.240
And effectively, this job is really like leading a community. This is like hurting cats.

38:14.240 --> 38:18.400
Getting engineers to do stuff that you think they should be doing, except you're trying to get

38:18.400 --> 38:23.840
corporate executives to do stuff you should be doing. You know, it's the same people you're

38:23.920 --> 38:29.200
arguing with, same arguments, they're just wearing suits instead of jeans and trainers. That's it.

38:31.920 --> 38:36.800
So, and I think I'm going to be able to leave about ten minutes for questions. The conclusions of all

38:36.800 --> 38:44.240
of this. Well, understanding the transactional nature of corporations isn't as hard as you think.

38:44.240 --> 38:49.680
Mainly because almost all of your interactions with open source are somewhat transactional in nature.

38:49.680 --> 38:55.280
You already understand how to do this. So embrace the new transactionalism of the modern age because

38:55.280 --> 39:01.920
you'll actually find the most of you are good at it. As a community leader or somebody who

39:01.920 --> 39:06.000
aspires to be a community leader, I know there won't be that many community leaders in the room,

39:06.000 --> 39:10.560
but I imagine a hundred percent of you who work in open source all aspires to be community leaders.

39:11.600 --> 39:16.560
You already possess or are developing most of the skills you need to do this in a corporation.

39:16.560 --> 39:22.320
So, you already know how to make yourself useful in some part to the company you work for.

39:22.320 --> 39:27.360
You just don't often know how to exercise that utility. And you need to get in there and try and

39:27.360 --> 39:33.520
exercise the utility. And now, of course, I've got a vision of my head. When I was at school and

39:33.520 --> 39:38.560
really hated rugby and they used to sort of pick me up by the scruffists. It get into the scrum.

39:38.560 --> 39:41.520
But that's what you need to do in corporations as well.

39:41.600 --> 39:49.520
Every company is always especially a big company that always doing something wrong in open source.

39:49.520 --> 39:55.280
You don't have to look very far to find it. So it's easy to find, go out there and find it and

39:55.280 --> 40:00.720
do something about it. That will make you initially useful to your company. This is what you need to do.

40:03.120 --> 40:07.920
And of course, if once you've found it, you can start proving your worth to them by actually

40:07.920 --> 40:12.880
trying to fix it. And often it's just, you know, adoption of some open source projects,

40:12.880 --> 40:17.600
slight modification in the way the business plan works. There are usually easy fixes to this.

40:17.600 --> 40:22.640
So it's not usually that difficult for you to actually find and fix this stuff on your own.

40:25.360 --> 40:30.640
And of course, if we come back to the original question for me, remember, I used to be

40:30.640 --> 40:36.080
Microsoft's number one enemy. Now, I'm actually working for them. How did this come about?

40:36.080 --> 40:41.520
Well, when I was Microsoft's enemy, Microsoft was actually going about trying to

40:43.120 --> 40:49.600
move Windows into the enterprise. You know, they saw it as a multi-billion dollar market

40:49.600 --> 40:54.080
place that was their natural inheritance. They were effectively an operating system company.

40:54.960 --> 41:00.720
In 2012, Microsoft visited pivoted because the operating system business wasn't doing very well

41:00.800 --> 41:06.880
and they became a cloud company. And part of what happened in that transition from operating

41:06.880 --> 41:12.560
system company to cloud company is that now, most of Microsoft's revenue does not come from selling

41:12.560 --> 41:17.760
operating systems. If you look at our recent quarterly figures, most of the revenue comes from

41:18.400 --> 41:23.920
orchestrating workloads in the Azure cloud. And now, obviously, since Azure is sort of the Windows

41:23.920 --> 41:28.560
cloud, we have a massive amount of Windows workloads still running in the cloud. It's still out there,

41:28.880 --> 41:34.240
some corporations still use it. But we also have a massive amount of Linux workloads.

41:35.040 --> 41:39.680
I'm hoping we've published this figure and it's not proprietary, but I believe the current split in

41:39.680 --> 41:48.960
Azure is 70% Linux 30% Windows. Now, the secret that fortunately is sitting in Microsoft's figures,

41:48.960 --> 41:56.640
they don't often emphasize, is that a cloud company does not depend on its customers remaining static.

41:56.720 --> 42:02.560
It depends on its customers growing. The marketplace only likes Microsoft because we're posting

42:02.560 --> 42:09.200
revenue growth figures at about 30%. Pretty much the entirety of that revenue and 30% of our current

42:09.200 --> 42:16.720
operating profit, which are operating revenue is about $250 billion. 30% of that is we need to

42:16.720 --> 42:23.280
grow at about $75 billion a year. That growth is all coming from orchestrating workloads in the cloud.

42:23.360 --> 42:27.920
There's some slight question about how much of that might be open AI and so on, but we won't get

42:27.920 --> 42:35.040
into that. The point is, if you look at the Windows cloud and the Linux cloud, the entirety of our

42:35.040 --> 42:43.280
revenue growth that Microsoft comes from additional Linux workloads, that's not 80% or 50% that's

42:43.280 --> 42:50.640
about 99.9% of our entire revenue growth comes from Linux clouds. All of Microsoft's future revenue

42:50.720 --> 42:57.280
growth is title Linux. That's a fantastically useful figure for me to use in the boardrooms whenever

42:57.280 --> 43:03.600
I sit there. I'm going to do a talk in the curl track about UFI. One of the things I do to make

43:03.600 --> 43:09.520
myself useful in Microsoft is I end up negotiating with them about what features Windows wants to see

43:09.520 --> 43:15.040
in UFI. I just sat in a meeting two days ago where I got a load of Windows engineers who looked

43:15.040 --> 43:20.480
at this feature proposed for the UFI security sub team to do with secure boot. They looked at it and

43:20.480 --> 43:26.320
said, Windows will not implement this feature if it's done, so we think this feature should not

43:26.320 --> 43:31.760
be implemented. I just stood up in the meeting and I said, well, this feature was proposed by Linux.

43:31.760 --> 43:38.480
Linux is now the majority operating system. It's going to get done. Of course, this is quite a

43:38.480 --> 43:45.840
shock to a lot of Windows engineers, but the fact that I can stand there and they will listen to

43:45.840 --> 43:52.880
me is me proving my value to the company. I'm forcing them to change their attitudes. Effectively,

43:52.880 --> 43:59.120
I'm becoming an agent for change even within the old fashion Windows world of Microsoft. The point

43:59.120 --> 44:06.000
is that you all can become agents for change inside your company as well. That's the way you get success.

44:06.080 --> 44:11.680
That's the way you bind corporations to open source. In fact, to go back to the other talk,

44:11.680 --> 44:17.200
that's the way you make a lot of money. If you actually get yourself promoted to be an executive

44:17.200 --> 44:22.240
at a software company, you'll find money falls out of trees on top of you. This is your mission

44:22.240 --> 44:28.000
in life, you should use to accept it. I should have five minutes left for questions, so I'll

44:28.000 --> 44:32.800
just say that if you enjoy this presentation, it's entirely web-based, so I can't upload a PDF,

44:32.800 --> 44:37.520
but I will post a URL to it. Obviously, that doesn't make me a web developer, which since

44:37.520 --> 44:44.320
I'm a kernel engineer is a really unfortunate thing to have said of you. This is the URL for the

44:44.320 --> 44:49.360
presentation. I've got a funny feeling since I was editing it up front. I need to re-upload it,

44:49.360 --> 44:54.720
but it hasn't changed that much. I will now say thank you and call for questions if there are any.

45:03.280 --> 45:07.440
I thank you James, so Henny's going to run around with the microphone. Can I remind you

45:07.440 --> 45:13.280
it's for questions, not statements?

45:19.520 --> 45:27.520
So can you give any advice if somebody finds himself in a company that already has business

45:27.520 --> 45:31.280
plan that's working, how to gain trust from the company?

45:31.280 --> 45:35.440
Sorry, find some self in a company which has already a working business plan.

45:36.080 --> 45:44.160
Well, like I said, business plan is like a curates egg. A working business plan usually only works

45:44.160 --> 45:49.520
in parts, right? Because there's not one signal business plan that covers everything your company is

45:49.520 --> 45:55.040
doing. Find the parts that aren't working. There is no company on earth today who's business

45:55.120 --> 46:01.360
plan is 100% working. There will always be pieces that are not actually working, that are actually

46:01.360 --> 46:07.200
possible. You just have to find the pieces that are not working. And if on the face of it, it looks

46:07.200 --> 46:11.600
like everything's working, it's probably your job to dig a little deeper and try and find the

46:11.600 --> 46:17.760
bits that work. But I promise you, there are there. No company has 100% optimal business plan.

46:17.760 --> 46:23.120
They all have a business plan which is, you know, it's about 80% optimal, 20% decimal. Just find

46:23.120 --> 46:34.160
the 20% decimal but it's some fixed. Hi. Hi. Thank you for the presentation. Somebody told me

46:34.160 --> 46:40.400
once that technology is always about community. Doesn't matter if it's open source or proprietary.

46:40.400 --> 46:45.600
It's always a community behind the technology itself either through the vendors or the people

46:45.600 --> 46:53.040
buy the users, the contributors. So how do you think that fits with your, that statement fits

46:53.040 --> 46:57.920
with what you just told us? Is it always a community and you can always find yourself a space within

46:57.920 --> 47:03.200
that community, even if you feel your open source and the community you're dealing with is more

47:03.200 --> 47:09.760
close source, you can still somehow contribute to that community. Doesn't violate your code of

47:09.760 --> 47:15.600
conduct of being open source to integrate the close source community? Okay. So the statement was

47:15.600 --> 47:21.760
effectively that all engineers tend to form communities which is true. So you always find communities

47:21.760 --> 47:28.080
even within proprietary companies and communities sort of an open source as well. But the key point

47:28.080 --> 47:34.160
to the message I had here is that communities that form in proprietary projects tend to be

47:34.240 --> 47:38.960
weak communities because they usually only have people within that company. Communities

47:38.960 --> 47:44.080
the form in open source are powerful communities because they're very broad. And the point there

47:44.080 --> 47:50.240
is that the power that comes from being part of an open source community can serve you far better

47:50.240 --> 47:55.920
inside your company than the power that comes from being part of the proprietary project.

47:55.920 --> 48:01.920
And using this power is what you need to do to help move open source forwards inside your company.

48:02.000 --> 48:07.120
Now it is true that the less powerful community has been there a lot longer usually inside a

48:07.120 --> 48:12.160
company if it has loaded proprietary engineers. They usually have a lot of power just because

48:12.160 --> 48:16.560
they accumulate it over time. Like I said, they usually populate the distinguished engineers,

48:16.560 --> 48:21.760
the fellows, they often all come from this. But that doesn't mean that you can't take the power

48:21.760 --> 48:27.760
of an open source project which is 10 to 100 times bigger than the power they have inside their

48:27.840 --> 48:32.720
small community and leverage it to your advantage. Is that sort of roughly answer your question?

48:44.080 --> 48:52.160
In the process you described gaining trust and so on, is there a difference between a small

48:52.160 --> 49:00.480
company like maybe 10 people and Microsoft a big company? Well the difference between a small

49:00.480 --> 49:06.000
and a big company is the number of things that are going on. A small company usually has a fairly

49:06.000 --> 49:11.680
compact and focused mission so it usually has a fairly simple business plan so it doesn't have as many

49:11.680 --> 49:18.640
moving parts as a large company. And this is good and bad because it means that usually a small

49:18.640 --> 49:25.680
company's business plan is so sort of small that it will either succeed or fail and pretty much

49:25.680 --> 49:30.880
at the nascent startup level you're looking at about 70% of them actually do fail. This is about

49:30.880 --> 49:37.120
the percentage of companies that have bad business plans. So usually your job if you're working

49:37.120 --> 49:43.040
for a small company is to tip the entirety of their business plan over from failure to success.

49:43.040 --> 49:47.760
It's actually a very big job and a very difficult one. If you're working in a bigger company

49:47.760 --> 49:52.000
there are many more moving parts. The business plan you can't just write it on the back of a

49:52.000 --> 49:57.200
cigarette packet is probably sitting in a 10-page document somewhere. But that business plan and a

49:57.200 --> 50:02.880
large company has so many moving parts. There are always pieces of that plan that are passable.

50:02.880 --> 50:07.440
And so if you work in a large company you can just find the pieces of that plan and influence

50:07.440 --> 50:13.360
their change. So actually your pathway in a larger company is easier because you're only

50:13.360 --> 50:18.160
changing a small part of the business plan than it is in a small company because usually your

50:18.160 --> 50:23.200
job there will be to tip the business plan from failure to success. I mean I didn't say this but

50:23.840 --> 50:30.880
the reason I was actually the guy put forward to go to OSDL in 2005 was because I was already

50:30.880 --> 50:36.480
chief technology officer and vice president of a startup company. The reason I was that is because

50:36.480 --> 50:42.480
I found we were formed in 2000 to bring high availability to Linux and I was the one who said

50:42.480 --> 50:46.800
you know this business plan from a technical point of view just doesn't work. We have to fix this.

50:46.800 --> 50:52.320
That's why I became chief technology officer. But I had to tackle the entirety of the business plan

50:52.320 --> 50:57.200
there not just the pieces of it. At a large company you can tackle the pieces of it and it's usually

50:57.200 --> 51:08.880
much easier. One very long question. Sorry I presume this is not the first time you talk about

51:08.960 --> 51:17.120
a topic. Do you feel that if you talk to a technical audience you also get a well reception because

51:17.120 --> 51:23.200
this sounds very much like something that would be well received but people who are already in a

51:23.200 --> 51:30.480
more leadership mentality and I think that if it's a really technical audience it might not go

51:30.480 --> 51:37.280
down as well. Do you have an experience on that or not at all? Well firstly are you saying that the

51:37.360 --> 51:42.160
audience in Foz Dam isn't technical because that's not going to go down very well. The point is

51:42.160 --> 51:48.880
I am here speaking to technical people about business plans, right? So and I do this at a lot of

51:48.880 --> 51:54.080
other conferences as well. Foz Dam is actually my favorite conference largely because there are

51:54.080 --> 52:00.720
pretty much no suits in the room. So I'm not talking to I'm not telling I also I do go to business

52:00.720 --> 52:06.480
conferences or sometimes I get invited less so than I used to when Linux was to start up.

52:06.480 --> 52:11.840
So I have talked to suits giving them roughly the same talk except basically in my message to

52:11.840 --> 52:16.480
them is you have to listen to your engineers because they know what they're doing and your

52:16.480 --> 52:21.120
engineers are doing way more for your company than you think going back to being you know the

52:21.120 --> 52:25.840
business development people for the company being the lawyers for the company and so on. But the

52:25.840 --> 52:32.000
point about this talk is for technical people and it's basically that the power lies in your hands

52:32.000 --> 52:37.760
to affect change within the company and there are many things you can do. Power is only effective

52:37.760 --> 52:42.800
if you exercise it. If you just sit there with the power and do nothing you will achieve nothing

52:42.800 --> 52:47.920
within your company. So the message to the technical people as I hope everybody in this audience

52:47.920 --> 52:54.240
is that the changing role of the engineer over the years has given you the power to affect the

52:54.240 --> 52:59.920
change. You just need to find out what is going wrong for this company and use the power that you

53:00.000 --> 53:04.880
already have through your involvement in open source to make that change effective. That's the

53:04.880 --> 53:12.480
technical argument. It's not an argument for suits. Thank you very much James. Great talk.

