WEBVTT

00:00.410 --> 00:05.326
Good

00:05.348 --> 00:08.686
day and welcome to the Patently Strategic Podcast, where we discuss all things at the

00:08.708 --> 00:12.126
intersection of business, technology and patents. This podcast is

00:12.148 --> 00:15.930
a monthly discussion amongst experts in the field of patenting. It is for inventors,

00:16.010 --> 00:19.466
founders and IP professionals alike, established or aspiring.

00:19.578 --> 00:22.846
And in today's episode, we're talking about software and the

00:22.868 --> 00:26.534
convoluted risk reward interplay between patents, copyrights and

00:26.572 --> 00:30.162
open source. Use of free open source code can be an invaluable

00:30.226 --> 00:33.986
tool when building complex software applications. Why reinvent

00:34.018 --> 00:37.574
wheels and depending on resources and budget? Sometimes it's the only

00:37.612 --> 00:41.494
practical way. Like with most things, free often isn't

00:41.542 --> 00:45.162
really free the cost is just transferred somewhere else.

00:45.296 --> 00:49.142
When it comes to open source, these short term savings can have significant

00:49.206 --> 00:52.358
long term consequences for your intellectual property rights.

00:52.454 --> 00:56.202
Can you mix open source with commercial software and still keep your code private?

00:56.346 --> 00:59.674
Can you patent your own software that uses open source software?

00:59.802 --> 01:03.166
If so, could you ever actually assert those rights? Can you

01:03.188 --> 01:07.098
patent open source software that you author? And why would you be on

01:07.124 --> 01:10.306
this being one of the most common areas we get questions about when we give

01:10.328 --> 01:13.774
talks on software patenting. This is a point of confusion I'm personally

01:13.822 --> 01:17.406
and deeply empathetic toward. As someone who spent well over 20 years

01:17.448 --> 01:21.174
building software. As a contributor, manager, and eventually executive, I came

01:21.212 --> 01:24.706
to embrace open source not only as an accelerant to releasing

01:24.738 --> 01:28.482
products, but also sometimes even as a necessity to building solutions

01:28.546 --> 01:32.326
that would not have been possible for a small team without leveraging

01:32.358 --> 01:36.358
open source libraries that had been in development for decades by highly skilled,

01:36.454 --> 01:39.866
passionate armies of OSS developers. Adoption of

01:39.888 --> 01:43.706
open source and commercial applications initially started out pretty Wild West,

01:43.818 --> 01:46.874
but eventually legal teams started raising concerns,

01:47.002 --> 01:50.494
particularly around the use of copy left licenses, which we'll talk about

01:50.532 --> 01:53.402
a little later. But the guidance was legalistically,

01:53.466 --> 01:57.374
vague, often paralyzing as developer, and never included guidance

01:57.422 --> 02:00.658
around implications for patents. Flash forward to present,

02:00.744 --> 02:03.794
and if you look around for resources on the web, you'll find that things

02:03.832 --> 02:07.966
unfortunately haven't changed much. This is dangerous, and it's creating

02:07.998 --> 02:11.682
a massive blind spot for many startups that aren't having the conversation

02:11.746 --> 02:15.442
they don't even know they need to be having around the risk reward balance

02:15.506 --> 02:18.986
of the use of open source and applications that are intended to be

02:19.008 --> 02:22.694
commercial, proprietary and protected with assertable

02:22.742 --> 02:26.166
patent rights. For some licenses, if open source

02:26.198 --> 02:30.086
is included and combined with other proprietary software, the combination

02:30.118 --> 02:33.406
of that software becomes bound by the open source license terms.

02:33.588 --> 02:37.562
This viral, infectious attribute can have profound implications

02:37.626 --> 02:41.646
for code intended to be proprietary and protected. Consequences can

02:41.668 --> 02:45.406
include being required to release your code to the public domain as open source,

02:45.518 --> 02:49.054
automatic patent licenses for other users of the open source,

02:49.182 --> 02:52.706
and an inability to assert patent rights against infringers of your

02:52.728 --> 02:56.146
invention. The scope can be so surprisingly broad that

02:56.168 --> 02:59.570
it can include both existing patents as well as future acquired

02:59.650 --> 03:03.474
patents. These risks are in play whether you knowingly or unknowingly

03:03.522 --> 03:07.606
included open source in your software and whether it was done by your employees or

03:07.628 --> 03:11.226
by third party developers who understandably love to leverage open

03:11.248 --> 03:15.002
source for faster turnarounds and reduced labor costs. The bottom

03:15.056 --> 03:18.506
line is that the open source license governs what you can legally do with

03:18.528 --> 03:22.502
a particular piece of OSS code. Understanding the associated risks

03:22.566 --> 03:26.474
and knowing the limits of these licenses can help inventors navigate which innovations

03:26.522 --> 03:30.078
to patent and which innovations to leave for use in the public space.

03:30.244 --> 03:33.326
This episode is the beginning of our attempt to shine some light and

03:33.348 --> 03:36.514
start facilitating the important conversations startups need to be having

03:36.552 --> 03:39.966
around these concerns. Some of these concepts are super muddy

03:39.998 --> 03:43.666
and still largely untested by the courts. Further, the answers on

03:43.688 --> 03:47.518
your scenario will be highly dependent on things like license type, what you're

03:47.534 --> 03:51.170
doing with the code, how you're invoking it, and how it's being distributed.

03:51.250 --> 03:54.598
So while there's not yet a black and white recipe backed by case law,

03:54.684 --> 03:58.242
there is a lot of gray to at least be aware of and known potential

03:58.306 --> 04:02.246
risks startups should be discussing when using or contributing to open source.

04:02.358 --> 04:06.314
It is our goal to highlight some of those risks and provide practical pointers around

04:06.352 --> 04:09.786
how you can then apply that knowledge to better understand how using or

04:09.808 --> 04:13.390
contributing to open source could drastically impact your intellectual property

04:13.460 --> 04:16.986
rights. Kristen Hansen, patent strategist and software patent

04:17.018 --> 04:20.382
guru here at Aurora, leads a discussion today along with our all star

04:20.436 --> 04:24.090
patent panel exploring the fundamentals of open source licensing and

04:24.100 --> 04:28.478
how certain viral license types can require you to publicly make available your company's

04:28.494 --> 04:31.966
source code, how copyrights patents and open source licenses

04:31.998 --> 04:35.522
differ in terms of software protection strategies, and whether

04:35.576 --> 04:38.862
or not and why you might patent open source software

04:38.926 --> 04:42.326
and often the proprietary code that leverages it, as well as the

04:42.348 --> 04:45.894
associated patent right assertion risks that can come with doing so.

04:46.012 --> 04:49.734
This is done in part through a working example around using and patenting

04:49.782 --> 04:52.982
software that includes OSS and is rounded out by a conversation

04:53.046 --> 04:56.406
with practical tips on source code scanning, working with third party

04:56.438 --> 04:59.990
developers, and understanding license specific implications.

05:00.150 --> 05:03.274
We look at concerns through the eyes of both users and authors

05:03.322 --> 05:07.390
of Open Source and Pragmatically as we can highlight how it's possible

05:07.460 --> 05:11.626
to construct a strategy where open source innovation is encouraged without foregoing

05:11.658 --> 05:15.646
all future earning power and without blocking others from using it. Kristen has

05:15.668 --> 05:18.898
worked both as a software engineer and a software patent agent for the

05:18.904 --> 05:22.386
last two decades. She's worked closely with software inventors from some of

05:22.408 --> 05:25.762
the big Tech Valley giants looking to utilize open source software while

05:25.816 --> 05:28.966
still maintaining their assertable patent portfolios. We couldn't think

05:28.988 --> 05:33.046
of a better person to lead this conversation. Kristen is also joined today by

05:33.068 --> 05:36.262
our always exceptional group of IP experts, including Dr.

05:36.316 --> 05:39.682
Ashley Sloat, president and Director of Patent Strategy at Aurora.

05:39.826 --> 05:43.306
Dr. David Jackrel, president of Jack Roll Consulting and

05:43.328 --> 05:46.182
Ty Davis patent Strategy Associate at Aurora.

05:46.326 --> 05:49.766
In future analysis, we plan to go even deeper around the patent

05:49.798 --> 05:52.826
specific concerns of express license grants,

05:52.858 --> 05:56.254
which could trigger an implied license of your software for any other

05:56.292 --> 05:59.150
competitor software using the same open source library.

05:59.490 --> 06:02.926
Patent retaliation. Clauses that can invalidate your use of

06:02.948 --> 06:06.974
an open source license should you choose to exert your patent rights on infringers

06:07.102 --> 06:10.386
and how these concerns apply and differ in scope when

06:10.408 --> 06:13.538
it comes to some of the more permissive licenses. Like Apache 20,

06:13.624 --> 06:17.750
which surprisingly, includes both retaliation and patent grant clauses,

06:18.890 --> 06:22.514
as well as the usual suspect strong and weak copy left licenses

06:22.562 --> 06:26.054
like GPL and LGPL. This is screaming for a really nice

06:26.092 --> 06:29.282
visual table like we published for foreign filing license concerns.

06:29.346 --> 06:34.074
If you have or know of one, please drop us a line at podcast@aurorapattens.com.

06:34.192 --> 06:38.342
Otherwise we'll get to work on that. All right, without further ado,

06:38.406 --> 06:41.662
take it away, Kristen. Okay, so today we're going to talk about

06:41.716 --> 06:46.030
patents and copyrights and open source and how they interact and relate.

06:46.770 --> 06:50.074
Okay, quick overview patents, copyrights and open source

06:50.122 --> 06:53.646
differentiation and how to protect open source software and

06:53.668 --> 06:57.490
when you might want to patent something that you will eventually open source.

06:58.710 --> 07:02.386
So, just to start, let's get some definitions out

07:02.408 --> 07:06.226
of the way. The panel here is well aware of all of these definitions,

07:06.258 --> 07:10.230
but if we have anyone listening who actually wants a quick

07:10.380 --> 07:14.434
read down in a slide or two that shows you the differences,

07:14.562 --> 07:15.640
this is it.

07:17.390 --> 07:21.222
So, utility patents

07:21.286 --> 07:25.130
basically protect the functioning of software design.

07:25.200 --> 07:29.062
Patents protect the ornamental aspects or the look of a component or animations,

07:29.126 --> 07:32.414
or graphical user interfaces. Trademarks are

07:32.452 --> 07:35.434
used to protect slogans, brand names, logos,

07:35.562 --> 07:39.530
sounds. Trade secrets are to protect innovations

07:39.610 --> 07:42.566
that are not patent eligible or not ready for patenting,

07:42.618 --> 07:46.366
or are more valuable as a secret. And copyright protects

07:46.398 --> 07:49.854
original works of authorship, such as software code and unique software

07:49.902 --> 07:53.540
code, expressions or music, things like that.

07:55.770 --> 07:59.234
Open source software licenses actually are royalty

07:59.282 --> 08:02.434
free copyright licenses that grant third parties

08:02.482 --> 08:05.814
the rights to copy, modify, and distribute software code.

08:06.012 --> 08:09.850
And these can be the gamut. These are not

08:10.000 --> 08:13.162
the exact same protections in every case. They are different

08:13.216 --> 08:16.506
licenses, different wording, different language. So you

08:16.528 --> 08:20.010
do have to be wary of those occasionally. And copy left

08:20.080 --> 08:23.594
is actually a type of open source software license that requires

08:23.642 --> 08:27.326
derivative works, which is anything generated using a piece of

08:27.348 --> 08:31.486
that open source software. And it requires that

08:31.508 --> 08:35.154
you distribute using the exact same license terms as the

08:35.192 --> 08:38.226
code that you're using to create your derivative works.

08:38.408 --> 08:42.530
So these can be really insidious and they can make your software open source

08:43.350 --> 08:47.430
for everyone, and they can eliminate some proprietary rights.

08:47.850 --> 08:51.574
So if you learn anything from this list of content,

08:51.772 --> 08:55.160
be really careful with Copy left. Copy left

08:55.610 --> 08:59.206
tends to be the most narrow and the most difficult

08:59.308 --> 09:03.082
to get around to try to get a patent on something,

09:03.136 --> 09:06.602
to try to enforce something that you do have patented because it maybe

09:06.656 --> 09:10.060
had a piece of copy left covered code.

09:10.830 --> 09:13.120
It just can be kind of a problem.

09:14.290 --> 09:18.394
Okay? So because this distinction is a big point of confusion for inventors

09:18.442 --> 09:22.154
and it's important to understand that some of the open source

09:22.202 --> 09:25.762
considerations that we'll later describe, I'm going to go through another way

09:25.816 --> 09:29.614
to look at this software versus copyrights versus open source.

09:29.742 --> 09:33.666
So when I think of copyrights, I think of protecting the expression so the

09:33.688 --> 09:37.206
actual source code and of an idea and to

09:37.228 --> 09:40.280
guard against the exact replication of that source code.

09:40.730 --> 09:44.694
Okay? When you think

09:44.732 --> 09:48.566
of source code in general, you should think copyrights

09:48.598 --> 09:50.890
because source code is not patentable,

09:52.910 --> 09:56.778
only the functionality that comes out of that source code is actually

09:56.864 --> 10:00.714
patentable or attempted to be patentable.

10:00.762 --> 10:04.494
It doesn't mean it will be patentable. So patents actually protect

10:04.532 --> 10:08.026
the idea and the functionality implemented

10:08.058 --> 10:11.674
by that source code. And open source software

10:11.722 --> 10:15.554
licenses actually protect the expression of an idea

10:15.752 --> 10:19.166
but function as royalty free copyright licenses.

10:19.278 --> 10:23.380
So again, your open source software is protecting the code

10:23.990 --> 10:28.246
in a manner of speaking, but not the functionality and

10:28.268 --> 10:30.840
it's only protecting that exact code.

10:31.850 --> 10:35.554
Okay? And the same with copyright and open source software,

10:35.602 --> 10:39.878
licensing tends to be something that

10:39.964 --> 10:43.366
everybody likes because they get free code, they get a quicker

10:43.398 --> 10:46.586
start to their product, they get to see what other people did and

10:46.608 --> 10:50.734
then they get to build on it. But there are some things that can

10:50.772 --> 10:54.158
be problematic about it and you do want

10:54.164 --> 10:58.030
to watch how you're using them and make sure to read all of your licenses.

10:59.730 --> 11:02.586
Yeah, for copyrights with code,

11:02.708 --> 11:06.562
obviously the copyright law also

11:06.616 --> 11:10.802
protects against derivations of the copyrighted material for

11:10.856 --> 11:13.860
code. How far does that go? You know what I mean?

11:17.690 --> 11:21.462
My understanding is if I were to write that

11:21.516 --> 11:25.110
exact piece of code in one language and

11:25.180 --> 11:29.162
I wrote it, somebody else wrote it in a second language, it would not

11:29.216 --> 11:32.634
necessarily cover that second language. Okay?

11:32.752 --> 11:37.402
But there are aspects of copyright where the

11:37.456 --> 11:40.838
literal code looks almost identical

11:40.934 --> 11:44.254
because it will be maybe the same function. And so there are

11:44.292 --> 11:48.000
cases where you do have arguments over that and you do have

11:48.770 --> 11:52.030
some wiggle room with saying, well, that's the exact

11:52.100 --> 11:56.834
same function, but it's just in a different language that

11:56.872 --> 12:00.654
languages wouldn't be covered. But we are a different creative expression.

12:00.702 --> 12:04.942
Right? I know that different languages have very different constraints, more object

12:05.016 --> 12:07.000
oriented versus yes.

12:08.330 --> 12:13.218
So if you have like two object oriented software

12:13.314 --> 12:16.866
tools you might see them slightly

12:16.898 --> 12:20.358
differently. But maybe it's just how it's encased in a for loop,

12:20.454 --> 12:25.034
maybe it's just how

12:25.072 --> 12:28.458
you're outputting at the end. And so if it outputs different, it's going to

12:28.464 --> 12:31.910
be differently copyrighted and copyrightable,

12:32.070 --> 12:36.400
if it outputs the same, it looks the same and you really just have this

12:37.170 --> 12:40.654
little bit of if then code or it's never

12:40.692 --> 12:44.066
that simple. But if it were that simple, there is a

12:44.088 --> 12:47.730
way where you could get dinged for

12:47.800 --> 12:50.900
infringing on a copyright because of something that small.

12:51.670 --> 12:55.654
It's highly unlikely. And usually copyright stuff, you're talking

12:55.692 --> 12:58.966
about lengthy works. And so it's unlikely that

12:58.988 --> 13:02.342
you're going to exactly replicate somebody else's code without

13:02.396 --> 13:06.790
actually having that code, right? I mean, you can, but it's unlikely.

13:07.950 --> 13:08.700
Okay,

13:11.710 --> 13:16.246
look at a quick brief history. So open source

13:16.438 --> 13:19.962
kind of came out of the early 1980s with a couple

13:20.016 --> 13:23.822
of people who had the concept of, hey, whatever you

13:23.876 --> 13:26.926
do or make, give it away for free so others can build with it and

13:26.948 --> 13:30.990
make it better. About 1998,

13:31.060 --> 13:34.530
I believe, the Bay Area is the

13:34.680 --> 13:38.942
kind of home of the real open source concepts

13:39.006 --> 13:42.610
that we know today. But they had this same

13:42.760 --> 13:45.574
idea that said we want to share it, we want to give it away.

13:45.612 --> 13:49.842
We want this to be collaborative and make this all improvable

13:49.906 --> 13:51.080
across the board.

13:53.210 --> 13:56.774
So there are two schools of thought. The pro argument for

13:56.812 --> 13:59.958
saying that, hey, I really do want open source. I think

13:59.964 --> 14:03.702
it's the best way to release software and the best way to do software.

14:03.846 --> 14:07.754
That argument is that collaboration drives innovation. And what

14:07.792 --> 14:11.374
better way to collaborate, right, than give away free code and let people build

14:11.412 --> 14:15.614
upon it? And any

14:15.652 --> 14:19.520
of that will drive innovation, but it will also

14:21.170 --> 14:24.574
result in industry growth, right? So that's that concept.

14:24.702 --> 14:28.994
The con argument for that is that instead of collaboration, they think

14:29.112 --> 14:32.606
competition drives innovation. They want everything patented

14:32.638 --> 14:36.280
and secreted and not given away. They want to use

14:37.210 --> 14:41.430
application programming interfaces of others if they need free software.

14:41.770 --> 14:44.662
So that basically means somebody wrote the code,

14:44.716 --> 14:48.330
they hid it, but they give you the hooks to

14:48.400 --> 14:51.914
use the code to get inputs in and outputs out.

14:52.112 --> 14:54.602
So that's covered under this.

14:54.656 --> 14:57.834
Competition drives innovation. Because I as a

14:57.952 --> 15:02.218
developer might have created that API, and I

15:02.304 --> 15:05.998
don't mind if people use it, but I don't want to give the functionality away

15:06.084 --> 15:09.642
for free. I want to sell it in a package.

15:09.706 --> 15:12.986
Or even if I give it away for free, I don't want them to

15:13.028 --> 15:16.098
know how I put this code together, right?

15:16.264 --> 15:20.098
So that's a little more secretive. That is the same as

15:20.184 --> 15:23.714
a company creating products that have chips with

15:23.752 --> 15:26.974
firmware in them and without reverse engineering

15:27.022 --> 15:30.038
what's going on in there. You really don't know how that firmware works,

15:30.124 --> 15:32.550
right? You just get an output and outcome.

15:32.890 --> 15:36.182
So that's the typical way of product

15:36.236 --> 15:39.978
development. That's the typical way of industry for a long, long time.

15:40.144 --> 15:43.530
But the con argument to that is saying, okay,

15:43.600 --> 15:47.398
competition drives innovation and therefore that results

15:47.414 --> 15:50.714
in industry growth. So honestly, I think

15:50.752 --> 15:54.320
they're both right. But I think there's a time and a place for both.

15:55.810 --> 15:59.006
I don't know if anybody else has any input on that. I just

15:59.028 --> 16:01.280
kind of threw it at you. No,

16:03.190 --> 16:06.514
I think one can lead to the other as well. Right. Because I think part

16:06.552 --> 16:10.414
of the patent system, for example, is to ultimately derive

16:10.462 --> 16:14.260
collaboration, right. Because it says,

16:15.750 --> 16:19.010
everybody's acknowledging that I invented this thing and I want to collaborate,

16:19.510 --> 16:22.834
I want to manufacture, I want to build onto this thing. So you create licensing

16:22.882 --> 16:26.310
agreements, but I think also open source,

16:27.850 --> 16:31.158
there's a lot of people who are just innovating on

16:31.164 --> 16:34.586
the side and do different things to be able to incorporate their

16:34.608 --> 16:37.386
stuff and get a leg up. I think there's a lot of value there as

16:37.408 --> 16:39.820
well. So I think one can kind of lead to the other.

16:41.250 --> 16:43.390
I think you need both. Honestly,

16:45.010 --> 16:48.862
I've always struggled with, you know, what's what's the incentive for for

16:48.916 --> 16:51.950
open source? I mean, through like, the company lens,

16:54.470 --> 16:58.260
I understand, as like a greater good, but through the company.

17:01.030 --> 17:04.850
Yeah, go ahead, Ashley. One thing that I've heard is

17:05.000 --> 17:08.102
build goodwill in the developer community, right.

17:08.156 --> 17:11.778
And even like a recruiting tool and things like that, if you're

17:11.794 --> 17:15.480
releasing certain things as open source, or even some companies have

17:16.250 --> 17:19.554
programs or days or parts of days where they tell developers

17:19.602 --> 17:23.110
to build whatever your heart desires, like get the creative juices flowing,

17:23.190 --> 17:26.666
and those things might be released as open source. But again, kind of a way

17:26.688 --> 17:29.530
of I think, like I said, kind of building goodwill,

17:29.950 --> 17:33.098
recruiting, encouraging employees to

17:33.104 --> 17:36.320
be creative. I think that's part of it,

17:37.650 --> 17:41.278
yeah. The other big piece is if you're thinking of

17:41.284 --> 17:44.834
your Apples and your Google's. So let's think back to when

17:44.872 --> 17:48.562
iOS first came out and you needed

17:48.696 --> 17:52.754
developers to create apps and software so that it could be used.

17:52.872 --> 17:56.606
Apple wanted this thing in everybody's hands. Now they're

17:56.638 --> 18:00.406
a proprietor that wants also their hardware in your hands. But that

18:00.428 --> 18:03.654
doesn't mean that that's the only platforms they want their stuff

18:03.692 --> 18:07.286
to work on. Right. So if they can open source some things, they can get

18:07.308 --> 18:10.854
those developers up and running pretty quickly and using and creating

18:10.902 --> 18:14.620
apps for that iOS software. Right. The operating system.

18:14.990 --> 18:18.810
If they can do that, they can sell more apps, they can sell more devices.

18:19.710 --> 18:23.438
So it really does drive a lot of things for

18:23.524 --> 18:26.654
new technology. Right. The same might

18:26.692 --> 18:29.120
not be said if you're trying to sell something,

18:30.050 --> 18:34.142
I don't know, something open source for an old search engine

18:34.196 --> 18:37.826
that nobody uses anymore. Right. That might be

18:37.848 --> 18:41.282
kind of ridiculous. Also, it might not be useful to not have it open

18:41.336 --> 18:45.460
source unless you're going to try to get a patent on it and enforce it.

18:48.950 --> 18:51.474
A good example of your first one there,

18:51.512 --> 18:54.886
Kristen. The phone probably too,

18:54.908 --> 18:57.960
but I more closely remember the Apple Watch.

18:58.410 --> 19:02.300
Oh, yeah. People to do Apple Watch apps. Right. It was like

19:03.470 --> 19:06.906
encouraging people to throw stuff out there and get stuff.

19:07.088 --> 19:10.746
So the Watch had utility right outside of just being another interface for your

19:10.768 --> 19:13.450
phone. Yeah, an early adoption.

19:14.270 --> 19:18.206
The other side of the coin on that is what Tesla did back

19:18.228 --> 19:21.726
in 2014. I have a colleague who actually worked for Tesla for

19:21.748 --> 19:25.506
a few years right in and before and right as that was happening.

19:25.688 --> 19:29.182
And he was in the patent department, running the patent department

19:29.246 --> 19:33.070
actually. And it was just decided

19:33.150 --> 19:36.822
from the top, as you all know the story, they were going to open

19:36.876 --> 19:40.566
up their electric vehicle tech and their patents and they

19:40.588 --> 19:44.166
weren't going after people. And some

19:44.188 --> 19:48.298
of that, that also meant they were abandoning large

19:48.384 --> 19:52.122
portions of their portfolio and allowing it to just

19:52.256 --> 19:55.466
go to the public forum right, as soon

19:55.488 --> 19:59.066
as it abandoned. And that was done

19:59.168 --> 20:02.862
to produce industry standards that could be

20:02.996 --> 20:05.200
pervasive in others technology.

20:05.570 --> 20:09.242
Right. If you think about creating an electric vehicle,

20:09.386 --> 20:12.718
it's pretty complex. If three other people have to

20:12.884 --> 20:15.330
pardon the pond, reinvent that wheel,

20:15.910 --> 20:19.810
that's going to be maybe three more standards.

20:20.150 --> 20:23.454
And at some point they're going to have to standardize. Nobody as a consumer

20:23.502 --> 20:27.298
will tolerate four different plugs and the mini

20:27.314 --> 20:30.646
mart doesn't have my plug. Right, things like

20:30.668 --> 20:34.054
that. So they did it, it was

20:34.092 --> 20:37.030
altruistic, but it was also to drive the industry.

20:37.390 --> 20:40.618
Yeah, but also from like a data

20:40.704 --> 20:43.706
mining sense, I mean, the further it gets out there,

20:43.728 --> 20:47.366
the more users right, the more you're gaining

20:47.398 --> 20:49.100
there. Yes,

20:50.370 --> 20:53.966
absolutely. So if there's good and

20:53.988 --> 20:57.338
bad, the bad part is people don't get paid for their ideas

20:57.434 --> 21:01.226
and it's a little harder to enforce

21:01.258 --> 21:04.782
if somebody's taking advantage of your code, your software,

21:04.846 --> 21:07.810
your time. Okay,

21:07.880 --> 21:11.058
so basically open source licenses in general, let's go through these a

21:11.064 --> 21:14.622
little bit. They do comply with an open source definition,

21:14.686 --> 21:17.814
and that definition was something from before that was basically like,

21:17.852 --> 21:20.680
put this in the public forum, let everyone have it,

21:21.610 --> 21:25.334
and basically publicize your code. Okay? It's not just

21:25.372 --> 21:28.970
here, you can have this executable, it's publicize your actual

21:29.040 --> 21:32.746
code, which means somebody can take it, change it, improve it,

21:32.848 --> 21:35.020
and implement something else with it.

21:36.990 --> 21:40.346
Open source licenses also allow software to be freely

21:40.378 --> 21:43.966
used, modified, and shared, and they must be approved by an

21:43.988 --> 21:47.662
initiative. The open source initiative actually goes through

21:47.716 --> 21:50.960
a full process of review to get

21:51.810 --> 21:55.006
any license that's new. And so what they've

21:55.038 --> 21:58.818
done is they've got some standardized stuff. If you've ever seen a new

21:58.904 --> 22:02.734
open license, GNU, that's one type of copy

22:02.782 --> 22:06.034
left license that goes out there and

22:06.072 --> 22:10.006
you can write some code and adopt that license for your

22:10.028 --> 22:12.994
code, or you can adopt another license, and if you have a new license,

22:13.042 --> 22:15.080
you have to get that through this review process.

22:16.890 --> 22:20.294
Okay, so there are many different flavors, as I alluded to

22:20.332 --> 22:23.834
before, but the following principle is that OSLs do not

22:23.872 --> 22:27.546
bar a software author from obtaining patent protection. So you can still

22:27.568 --> 22:32.046
go get a patent if you're the author of this content and

22:32.068 --> 22:35.966
they don't bar a programmer from including their patented features when

22:35.988 --> 22:39.226
they modify somebody else's software and they distribute

22:39.258 --> 22:42.586
it under the licenses as long as it's distributed appropriately,

22:42.698 --> 22:46.674
they don't bar any of that. But they do have statements that

22:46.712 --> 22:50.450
say, like any patent obtained using this OSS content

22:50.520 --> 22:54.162
must be licensed for everyone's, free use or not licensed at all.

22:54.296 --> 22:58.086
Which means it's very difficult to attempt to

22:58.108 --> 23:01.510
get a patent and then attempt to license that patent.

23:02.650 --> 23:05.810
You can still do it, it's just less enforceable.

23:05.890 --> 23:09.222
Right. There are other reasons maybe to go after a patent

23:09.286 --> 23:13.446
for some of your OSS content as an author, and I'll

23:13.478 --> 23:17.514
get into those a little bit later, but they just are

23:17.552 --> 23:20.730
less enforceable and not always.

23:20.800 --> 23:24.666
There are always things you can do to improve upon what's

23:24.698 --> 23:27.918
going on and to use something that I would call is a

23:27.924 --> 23:31.040
little bit tangential to the OSS content.

23:31.410 --> 23:36.210
So if you create something that could

23:36.280 --> 23:40.274
function and execute on something the OSS content made,

23:40.392 --> 23:44.500
but it's actually all in itself

23:45.130 --> 23:48.994
its own innovation, and it could be ported to another interface

23:49.042 --> 23:53.222
that isn't the OSS interface there may be some wiggle room

23:53.276 --> 23:57.046
there where as long

23:57.068 --> 24:00.294
as your product isn't created on that

24:00.332 --> 24:04.026
platform of the OSS, you could have some innovation there that

24:04.048 --> 24:07.322
is patentable and protectable. Okay. And we'll get into an example

24:07.376 --> 24:10.814
or two of that to make that a little more clear.

24:11.012 --> 24:14.590
Kristen, it's kind of weird offshoot. Maybe you'll talk about this later.

24:14.740 --> 24:18.990
Sure. A lot of AI ML,

24:19.570 --> 24:23.490
a lot of people, when they innovate in that space, they're using off the shelf

24:23.830 --> 24:27.634
AI ML models and using

24:27.672 --> 24:31.774
them in a new way. Are typical AIML

24:31.822 --> 24:36.070
governed by particular OSS license, or is that in a separate category?

24:36.890 --> 24:40.534
Not always. And often they are

24:40.572 --> 24:43.682
not. And it isn't because they're in a separate category.

24:43.746 --> 24:47.670
It's usually because when you generate

24:48.750 --> 24:52.426
a neural network of sorts to do what

24:52.448 --> 24:56.266
you need it to do, you're usually going to need to tweak that.

24:56.368 --> 25:00.406
So if you use OSS code for your ML and

25:00.528 --> 25:03.280
you tweak that, but it's still that code,

25:05.890 --> 25:09.546
you will have to adhere to the licensure of that machine

25:09.578 --> 25:13.230
learning software because your works

25:13.300 --> 25:16.560
are derivative of that. If you look at that,

25:17.030 --> 25:20.306
you actually aren't implementing it that way, but you look at

25:20.328 --> 25:24.194
it to understand how it works, then you go off and you maybe create

25:24.232 --> 25:27.958
your own two stage neural network. That does not function

25:28.044 --> 25:31.574
like this. It does not use the code like the OSS content,

25:31.772 --> 25:35.174
but you learned from it.

25:35.372 --> 25:39.510
I think there's an ethical obligation there that splits.

25:39.590 --> 25:43.242
I don't think that you have this ethical obligation to say, I use this

25:43.296 --> 25:47.194
OSS content to learn how to

25:47.232 --> 25:50.330
create my own content. If you created your own content,

25:50.400 --> 25:53.694
you created your own content. Remember, OSS stuff is

25:53.732 --> 25:57.134
like copyright in that it is the exact code,

25:57.332 --> 26:00.382
okay? And derivatives of the exact code.

26:00.436 --> 26:04.314
So even if you're adding a chunk that is a derivative. And some licenses

26:04.362 --> 26:08.542
say you have to adhere to my license

26:08.606 --> 26:11.986
of my code if you're going to even make a derivative of my code.

26:12.168 --> 26:16.366
But if you go off, you do your own thing, it really doesn't resemble

26:16.398 --> 26:20.146
this other code. And you didn't start with that code. I don't

26:20.178 --> 26:23.778
think you have that ethical obligation, and you certainly don't have the legal

26:23.874 --> 26:27.974
obligation. Some people say, Well, I got the idea because

26:28.012 --> 26:31.506
I was looking at this, and I think that's okay. I think in the patent

26:31.538 --> 26:34.874
scope we do that all the time. I was looking at how they did this

26:34.912 --> 26:38.026
saw, and I got this idea to try it another way, and then you go

26:38.048 --> 26:41.294
and get a patent on that. I think if somebody is

26:41.332 --> 26:44.762
using an ML or AI

26:44.826 --> 26:48.046
model, then they might not be able to

26:48.068 --> 26:51.582
patent that model if it's OSL especially. But they might

26:51.636 --> 26:55.170
still be able to model a way of training to patent a way of training

26:55.240 --> 26:59.730
that model or a way of post processing the data or

26:59.800 --> 27:03.300
a way of using the output in a particular way which I think

27:03.670 --> 27:07.506
more and more, I think, is how machine

27:07.538 --> 27:11.478
learning and neural net AI patents are going because

27:11.564 --> 27:15.394
the core models themselves are so developed

27:15.442 --> 27:19.420
and sophisticated and covered already.

27:19.790 --> 27:23.974
But a lot of individual specific applications can benefit

27:24.022 --> 27:26.934
from different ways to train, et cetera.

27:26.982 --> 27:30.194
Right? Yeah, sure, agreed.

27:30.342 --> 27:34.574
Question does training change

27:34.692 --> 27:38.494
a model enough? Right? Because training

27:38.612 --> 27:41.998
kind of causes the model to kind

27:42.004 --> 27:45.250
of learn a new set of boundaries, a new set of parameters.

27:45.750 --> 27:49.022
And yes, you're not changing the configuration of the layers necessarily,

27:49.086 --> 27:52.386
but a model that's not trained for

27:52.408 --> 27:55.494
your intended use is not going to necessarily give the

27:55.532 --> 27:59.622
correct output. So does training change

27:59.676 --> 28:03.030
it enough to not be governed by that original license?

28:03.530 --> 28:04.280
Well,

28:07.210 --> 28:09.420
if you're not training it the exact way,

28:10.830 --> 28:13.340
then it's different. But also,

28:14.750 --> 28:19.340
if the code is not a method of training and

28:19.870 --> 28:22.734
of training to do what exactly you're doing,

28:22.932 --> 28:25.360
right, that's different.

28:25.970 --> 28:29.774
I think if you're going

28:29.812 --> 28:32.350
after a method of training in a patent,

28:32.870 --> 28:36.574
you likely are not going to claim your actual network.

28:36.702 --> 28:40.450
You will likely only claim it as inputs and outputs

28:41.430 --> 28:44.610
because it'll be a method if it were a device.

28:45.050 --> 28:48.546
I still don't think you would claim the neural

28:48.578 --> 28:51.560
network unless you're doing an actual,

28:53.930 --> 28:57.490
maybe computer piece,

28:57.660 --> 29:01.260
something that's actually tangible. I don't know,

29:03.870 --> 29:07.514
as an individual company or whoever is training a

29:07.552 --> 29:11.566
model, maybe what they're changing or developing there is sort

29:11.588 --> 29:15.022
of like their own proprietary data set. But the

29:15.076 --> 29:18.800
functional code underneath that the mechanistic stuff

29:19.330 --> 29:22.094
is static, more or less. You know what I mean?

29:22.132 --> 29:22.720
Yeah.

29:25.990 --> 29:28.930
Okay, so moving on.

29:29.000 --> 29:33.554
So one thing I wanted to say about this, though, is if

29:33.592 --> 29:37.842
you are an author or a modifier who distributes software

29:37.906 --> 29:41.234
under this license, you typically can't assert

29:41.362 --> 29:45.414
your patent rights against other users and redistributors of

29:45.452 --> 29:48.922
that actual license software, okay? So you can't go after

29:48.976 --> 29:52.282
anybody else in the open source community doing this with the same

29:52.336 --> 29:56.330
content. If the license is written

29:56.750 --> 30:00.442
correctly and a

30:00.496 --> 30:04.506
little less narrow, you should be able to assert

30:04.538 --> 30:07.818
your rights against somebody who is just doing this in the industry,

30:07.914 --> 30:10.574
not using this OSS content code,

30:10.692 --> 30:14.190
okay? So if somebody reinvents your wheel out in the industry

30:14.350 --> 30:18.194
and you have patented a

30:18.232 --> 30:22.162
piece of this OSS code as the author, you can

30:22.216 --> 30:26.162
actually go after and assert your rights against these other

30:26.216 --> 30:30.278
competitors that are not using your actual code to do the same thing.

30:30.444 --> 30:34.642
So there is wiggle room there. It depends on the license language.

30:34.786 --> 30:38.502
But it's one reason you might actually want to go after a patent

30:38.566 --> 30:41.100
if you are an author of this OSS code.

30:41.550 --> 30:43.900
Okay? I think Kristen too,

30:47.310 --> 30:51.466
if you're using OSS for a to be patented

30:51.658 --> 30:55.230
product, presumably that OSS.

30:55.650 --> 30:59.530
If you're filing date and the date that that OSS

30:59.610 --> 31:03.246
code is made public, those aren't the same. But that OSS code anyways,

31:03.278 --> 31:06.610
is prior art to your later filing

31:07.590 --> 31:11.106
anyways, right? It is prior art to

31:11.128 --> 31:14.338
your later filing. It could be used

31:14.424 --> 31:18.374
by an examiner or by a litigant to say,

31:18.412 --> 31:22.226
hey, this is already out there, so your stuff isn't new anyway, it shouldn't

31:22.258 --> 31:26.530
have been patented or you're infringing on XYZ.

31:26.690 --> 31:31.238
But remember, OSS and OSL

31:31.334 --> 31:34.854
license software is a copyright.

31:34.982 --> 31:38.682
So you have to have the patent to go after that

31:38.736 --> 31:42.038
kind of infringement because they didn't

31:42.054 --> 31:45.274
use your code. So they're not infringing on that license.

31:45.402 --> 31:48.254
They would be infringing on the patent that you got.

31:48.452 --> 31:52.046
Okay? You could it was an extension beyond that code if it

31:52.068 --> 31:53.150
pre existed.

31:55.810 --> 31:59.426
So it's dicey, it's why everybody has questions on it

31:59.448 --> 32:03.314
and every situation isn't the same because the

32:03.352 --> 32:07.286
license might be different, the code might be the same, but the

32:07.388 --> 32:10.738
patent might be different than the code or the actual OSS

32:10.834 --> 32:14.342
content. Right? It's not an easy

32:14.396 --> 32:17.510
topic. Okay?

32:17.580 --> 32:21.306
And like we were saying before, open source content can be and

32:21.328 --> 32:24.742
is patented for offensive, defensive, altruistic, and commercial

32:24.806 --> 32:28.074
reasons. A patent provides additional control over

32:28.112 --> 32:31.930
the software and the underlying innovation. So if you have a patent,

32:32.010 --> 32:35.390
you are going to be protecting not the software code,

32:35.460 --> 32:38.586
but the actual functionality and what's

32:38.618 --> 32:42.474
going on with the software. Okay? So using patents, it is

32:42.532 --> 32:45.874
possible to construct a strategy where open source innovation is

32:45.912 --> 32:49.346
encouraged without irreversibly foregoing all

32:49.368 --> 32:53.090
your future possible earning power and without

32:53.160 --> 32:57.366
blocking others to use it. So that being said,

32:57.548 --> 33:00.920
why patent software that uses OSS code and content?

33:01.290 --> 33:04.582
Like I said before, the author can use patent rights against

33:04.636 --> 33:08.086
a competitor who sells a competing product that incorporates the

33:08.108 --> 33:11.526
invention, but that is not a derivative work of the author's

33:11.558 --> 33:15.018
original code. So that guy figured out how to do it a different way.

33:15.184 --> 33:18.540
You can go after somebody doing that

33:19.070 --> 33:22.714
if you have a patent that's. On your OSS content as

33:22.752 --> 33:26.414
well, okay? You could not do that with just the OSS content because

33:26.452 --> 33:29.678
you only have a copyright. But if you do get a patent to that,

33:29.764 --> 33:32.430
you can protect your algorithms in that way.

33:32.580 --> 33:37.166
And another way that's protective is altruistic.

33:37.198 --> 33:40.434
And that is okay, I gave this open

33:40.472 --> 33:43.954
source content to the community. I don't want anybody coming in telling us

33:43.992 --> 33:47.314
we can't use it. I'm going to patent it so other people can't

33:47.362 --> 33:51.622
patent it and block my users from even implementing my code.

33:51.756 --> 33:54.898
Okay? So it does protect a little bit of the OSS

33:54.994 --> 33:55.640
community.

34:00.110 --> 34:03.802
It's always questionable which techniques and which

34:03.856 --> 34:07.126
aspects are most important to an open source

34:07.158 --> 34:10.534
community, right? So like, which ones do I go after on a patent? Which ones

34:10.592 --> 34:14.720
do I leave on the table? And like anything,

34:16.050 --> 34:19.498
it's all probability and it's all risks.

34:19.594 --> 34:22.862
Like what's going to be important in this industry in five years,

34:22.916 --> 34:26.942
right? And you don't know. So you do have to take some calculated

34:27.006 --> 34:29.620
risks if you're going to do patents in this space.

34:31.030 --> 34:34.302
And then again, typically the license

34:34.366 --> 34:38.018
for open source content only precludes the patent holder from asserting

34:38.034 --> 34:41.558
his rights against people who are practicing the invention by using

34:41.644 --> 34:45.126
the software. Okay, so you don't want to take out

34:45.148 --> 34:47.640
your own people, is basically what they're saying.

34:49.310 --> 34:52.922
So there's two schools here.

34:53.056 --> 34:56.618
One is from the perspective of the user of OSS content,

34:56.704 --> 35:00.460
and the other is from the perspective of the author of the content.

35:00.830 --> 35:04.154
So from the perspective of the user, the user

35:04.202 --> 35:08.094
may want to actually defend open source software. Like I was just saying,

35:08.212 --> 35:11.946
they may go after a patent for certain pieces

35:12.138 --> 35:16.050
that they've even added to the OSS software if

35:16.120 --> 35:19.998
they can, if the license doesn't preclude

35:20.014 --> 35:24.002
them from doing so, they can go after their own patents in this field too.

35:24.056 --> 35:27.366
They just can't use them against the community, right? The assertion rights are

35:27.388 --> 35:29.510
gone for that aspect.

35:30.890 --> 35:35.286
The user of OSS might want to

35:35.308 --> 35:38.678
patent content because copyright and open source licenses like we've

35:38.694 --> 35:42.070
just referred to really are ineffective for protecting

35:42.150 --> 35:45.894
software. And I have software

35:45.942 --> 35:49.930
code there, but I really do mean software. I don't mean just the code

35:50.080 --> 35:53.422
because copyright will protect your code. But anybody can come by,

35:53.476 --> 35:57.086
change three words and have different code, right, and get around a lot of

35:57.108 --> 36:01.326
things. So a patent would be an effective way to protect some

36:01.348 --> 36:04.802
of these innovations. Some of the industry standards around

36:04.856 --> 36:08.706
this would be I guess when Bluetooth came

36:08.728 --> 36:12.962
out, maybe everyone was trying to figure out a new short

36:13.016 --> 36:16.226
band wireless tech and Bluetooth came out

36:16.248 --> 36:18.406
and said, we do this, we do this and we do this. And there was

36:18.428 --> 36:22.466
a handful of other innovations on top of Bluetooth,

36:22.498 --> 36:26.294
but Bluetooth comes out to be the best of

36:26.332 --> 36:30.538
those sort of short range things. So they

36:30.624 --> 36:33.786
had a lot of open source back in the day and because they did

36:33.808 --> 36:38.086
that it was something that was glommed

36:38.118 --> 36:41.638
onto by a lot of programmers in the community and everyone loved

36:41.654 --> 36:43.406
it and they wanted to try it and they wanted to do it and well,

36:43.428 --> 36:47.710
it was free, right? And it became the standard basically

36:47.780 --> 36:52.602
pushing out almost every other short wave short technology

36:52.756 --> 36:56.542
except for things that need to work with antennas and RF

36:56.606 --> 37:00.066
based technology. Sometimes it's just better to

37:00.088 --> 37:04.546
have RF instead of Bluetooth, but it

37:04.568 --> 37:08.754
just would have been better that they went after patents to protect that

37:08.792 --> 37:12.086
content because it was going to be so important. And I don't know if

37:12.108 --> 37:16.054
they did, I actually didn't look that up. That would be interesting to know

37:16.252 --> 37:19.478
if you had open source content over the years where

37:19.564 --> 37:23.242
people did decide to patent and it was extremely important and worked

37:23.296 --> 37:26.794
out really well for them. So also you may

37:26.832 --> 37:30.720
have code as a user that is not based on the

37:31.890 --> 37:35.342
open source software code, the base

37:35.396 --> 37:39.006
of that. And that code may have functionality that is patentable and

37:39.028 --> 37:42.254
it may not be subject to the license of

37:42.292 --> 37:46.514
that free open software. So if you have pieces like

37:46.552 --> 37:49.954
that, you want to consider not putting those out

37:49.992 --> 37:53.266
in the public domain because you may want to keep that for

37:53.288 --> 37:57.414
yourself and actually patent it. And a piece of that

37:57.612 --> 38:00.870
can be patented if it is different enough from

38:00.940 --> 38:05.334
the OSS code and it is not considered derivative for

38:05.372 --> 38:08.946
the license. Right. There's going to be different licenses and different levels

38:08.978 --> 38:12.746
of derivative, but there are pieces out there

38:12.768 --> 38:16.346
where you can and I'll give you an example in a few minutes where you

38:16.368 --> 38:19.434
can understand how well that shouldn't be subject to that

38:19.472 --> 38:23.326
open source license, right? That's just completely different. Okay? And the

38:23.348 --> 38:27.402
other site is the author of the content. The author may plan to license

38:27.546 --> 38:30.634
the patent to actually generate revenue.

38:30.682 --> 38:34.850
So this is actual licensing. Even if they open source it,

38:35.000 --> 38:38.942
and they open source it under a certain actual license

38:39.006 --> 38:44.286
that says you cannot patent or you cannot assert

38:44.318 --> 38:47.958
your rights if you do patent. They can actually

38:48.044 --> 38:51.654
do their own patent on their

38:51.692 --> 38:55.378
content to generate revenue and license it proprietaries

38:55.554 --> 38:58.826
to separate people here and there. They can open a version of it to the

38:58.848 --> 39:02.822
community and they can make multiple proprietary

39:02.886 --> 39:06.122
versions of it for the non open source community

39:06.256 --> 39:09.850
and that they can generate revenue off of from their patents.

39:10.990 --> 39:15.050
The author also may plan to assert his patent rights against redistributors

39:15.130 --> 39:18.782
who do not conform to the license. So if you have a patent on

39:18.836 --> 39:20.240
some of the OS content,

39:22.130 --> 39:25.794
you might be able to knock out some distributors and some people who are

39:25.832 --> 39:29.346
stealing your ideas and not following the license, right? And I call it

39:29.368 --> 39:33.650
stealing because if you're not following the license as intended, you are stealing.

39:34.310 --> 39:37.720
It was intended to be open and usable by all.

39:39.050 --> 39:42.466
The author also may plan to obtain patent rights

39:42.498 --> 39:45.974
to use offensively or defensively against infringers who are

39:46.012 --> 39:49.626
not using the software. Like I alluded to before. If you

39:49.648 --> 39:52.540
have people who figured out how to do this on their own,

39:53.070 --> 39:56.246
then they can come after you. They can cease

39:56.278 --> 40:00.154
and desist on you if they were first.

40:00.272 --> 40:04.410
Right. Somehow it turns out your software was released in February

40:04.490 --> 40:07.994
and they were out in December prior the year prior,

40:08.042 --> 40:12.074
you're in trouble. So there's good things about patenting

40:12.122 --> 40:16.106
open source here and there, and a lot of them are strategic,

40:16.218 --> 40:19.154
and you hope to not have to use some of those. But if you do,

40:19.192 --> 40:22.914
and you have an important enough piece of your product, or piece

40:22.952 --> 40:26.550
of the industry for that matter, if it's very successful,

40:27.290 --> 40:30.806
you might want to patent some things. And then

40:30.828 --> 40:34.294
again, just as they said before, the author might plan to distribute a

40:34.332 --> 40:38.294
non licensed version of that, which usually means it's quite

40:38.332 --> 40:41.990
different. Maybe it has more features.

40:42.070 --> 40:45.226
Maybe it has fewer features, but they're different features. Right.

40:45.328 --> 40:48.922
Okay, so let's do an example because this one will be interesting to

40:48.976 --> 40:52.718
get everybody's input on. So let's say you use

40:52.884 --> 40:56.462
open source software to build a search engine, okay? Search engine

40:56.516 --> 40:59.934
is here in the green, and you design

41:00.052 --> 41:03.406
and code up an algorithm that performs searches

41:03.438 --> 41:07.246
in the search engine in a new way. So innovation one uses

41:07.278 --> 41:09.410
a search engine, performs searches,

41:10.550 --> 41:13.854
and it will probably display those on a browser.

41:13.902 --> 41:17.814
Right. And algorithm two is for a new way to display search

41:17.852 --> 41:22.838
results. So algorithm two would actually probably

41:22.924 --> 41:26.198
just receive search results from a search engine and then figure out a

41:26.204 --> 41:30.486
way to display it on the browser. So do you think either of your algorithms

41:30.518 --> 41:33.814
are patentable if they were found new and non obvious at the PTO,

41:33.942 --> 41:37.690
and to what extent? What if one of them uses Chat GPT?

41:38.110 --> 41:38.860
Yeah.

41:43.490 --> 41:44.910
Then you're in trouble.

41:49.170 --> 41:53.550
I would say yes. If you're not claiming the search

41:53.620 --> 41:57.314
engine, I guess how much the overlap there is between

41:57.512 --> 42:01.214
what the search engine does and the algorithm that performs

42:01.262 --> 42:05.234
the searches in the search engine. Right. Like, I don't know how much

42:05.272 --> 42:07.938
overlap there is there, but the new way to display it.

42:08.024 --> 42:11.366
Presumably, yes, but again, depending on how much overlap there is

42:11.388 --> 42:15.510
in the access search engine versus that algorithm right. I don't know the line

42:15.580 --> 42:19.178
there, but that would be my $0.02 maybe design

42:19.264 --> 42:22.186
patent on the display. Yeah,

42:22.288 --> 42:25.594
it seems like if they were new and non obvious, it seems

42:25.632 --> 42:29.242
like they would be patentable like,

42:29.296 --> 42:32.686
yeah, maybe it's in the display, it's a Gui or

42:32.708 --> 42:35.742
a design patent, but right,

42:35.796 --> 42:41.338
I guess right. Because they're

42:41.354 --> 42:44.494
not trying to patent the

42:44.532 --> 42:47.826
code or the OSS code. They're trying to patent something that could

42:47.848 --> 42:51.682
be used with plugged into a different front end,

42:51.736 --> 42:55.446
if you will. Right, right. That's exactly it. So to

42:55.468 --> 42:59.080
give a clear answer, to make it crystal clear,

42:59.850 --> 43:03.570
the algorithm for a new way to display search results

43:03.730 --> 43:07.938
could be patent eligible because the algorithm to display

43:08.114 --> 43:12.106
would simply interact with the browser in

43:12.128 --> 43:15.898
order to display some content. And it would only receive actual

43:15.984 --> 43:19.562
content from the search engine coded with OSS, it would receive search

43:19.616 --> 43:23.454
results. That algorithm actually

43:23.652 --> 43:27.146
creates a way to display those and lay those out. And the graphical user

43:27.178 --> 43:30.394
interface is actually patentable for utility purposes,

43:30.442 --> 43:33.746
too. And so the way you're displaying it and the

43:33.768 --> 43:37.394
way you're organizing it and the way you're deciding how it lays out is all

43:37.432 --> 43:39.938
patentable. And so,

43:40.104 --> 43:44.274
barring a license that says,

43:44.312 --> 43:47.574
you cannot use any derivation of my

43:47.612 --> 43:50.854
code, you should be able to get a patent on that

43:50.892 --> 43:54.022
piece. If the license says you can't use

43:54.076 --> 43:57.926
any derivation of this code to get a patent, then you have

43:57.948 --> 44:01.226
to make sure you pull all of the code that could have

44:01.248 --> 44:05.274
been a derivation of that OSS code,

44:05.472 --> 44:09.354
pull it out, and make it more generic. And I don't mean

44:09.392 --> 44:13.474
make the code more generic. Make it work with a different interface,

44:13.542 --> 44:16.846
right? Make it work with a different search engine, or make it work

44:16.868 --> 44:20.122
with something completely different that isn't a search engine. And you could easily

44:20.186 --> 44:24.000
go after that, but most licenses probably

44:24.610 --> 44:28.174
wouldn't ding you for that just because you're receiving

44:28.222 --> 44:31.906
content from that search engine. Your new code really does not have anything to do

44:31.928 --> 44:35.334
with the search engine itself except for the parameters of

44:35.372 --> 44:37.640
displaying it within frames, right?

44:39.930 --> 44:43.474
That's browser related, and it could impact

44:43.522 --> 44:47.510
the back end search engine, but it's unlikely. But the first

44:47.580 --> 44:50.738
one, the algorithm that performs searches in the search engine

44:50.844 --> 44:54.074
in a new way, that would be really derivative because

44:54.112 --> 44:57.494
the search engine itself is the smarts for how the searches

44:57.542 --> 45:01.006
get performed. And you've created an algorithm to do that in a new way.

45:01.108 --> 45:04.126
It definitely runs on the search engine.

45:04.228 --> 45:07.440
It definitely is derivative of the OSS code. Right.

45:09.330 --> 45:12.786
The only way to do that and get a patent out

45:12.808 --> 45:17.138
of that piece that you can fully assert happens

45:17.224 --> 45:20.306
to be completely remove it from all

45:20.328 --> 45:25.202
the hooks that that search engine would need. Right. And then you

45:25.256 --> 45:28.994
still might have an algorithm that does searches differently, but you

45:29.032 --> 45:31.926
have to make sure it doesn't use any of that code or tie back to

45:31.948 --> 45:35.046
any of that code. And there's nothing wrong with doing that.

45:35.068 --> 45:38.700
A lot of people do this. A lot of search algorithms are

45:39.230 --> 45:42.794
browser dependent and are search engine specific,

45:42.912 --> 45:46.362
right? You can't port Google search engine over to

45:46.416 --> 45:50.714
an old Netscape search engine. Right. They just use different tech and

45:50.752 --> 45:54.026
different algorithms. So there's a

45:54.048 --> 45:56.398
way to get both of them to do something. But it takes a lot of

45:56.404 --> 45:59.502
work to get number one to get a patent, and it takes

45:59.556 --> 46:02.320
a lot less work to get number two to get a patent. Right.

46:03.030 --> 46:05.970
Kristen, do you know how this works with plugins?

46:06.870 --> 46:10.500
Because I would think, like a plugin is specific to a particular

46:11.990 --> 46:15.762
proprietary. It's like a Google Chrome plugin.

46:15.906 --> 46:19.080
That plugin works with chrome. That's what it's for.

46:19.770 --> 46:22.920
Can third parties then protect those?

46:23.450 --> 46:27.430
Yes, third parties can protect plugins, but you have to be careful

46:28.350 --> 46:31.660
that you are not incorporating open source code.

46:32.270 --> 46:36.506
And the reason you want to do that is because there

46:36.528 --> 46:40.358
are multiple ways to avoid open source code. If you just

46:40.384 --> 46:43.150
need to talk to the search engine or the browser,

46:44.850 --> 46:49.018
you're just better off not even searching for it and just sitting down and developing

46:49.034 --> 46:53.194
it yourself. If you have aspirations

46:53.242 --> 46:56.474
of patenting or patenting in order to license

46:56.522 --> 47:00.260
and sell, because your other problem is

47:01.750 --> 47:05.746
if somebody else comes along and patents that aspect that you've figured

47:05.778 --> 47:09.458
out, you're in trouble because you don't have protection,

47:09.634 --> 47:13.222
they will assert their rights against you. You maybe are also

47:13.276 --> 47:16.514
now using OSS content you're distributing

47:16.562 --> 47:20.582
under that license, but you're going to be in trouble for the patent because you're

47:20.646 --> 47:24.326
going against their rights. So it's dicey.

47:24.518 --> 47:28.090
Software always is. Okay? And the

47:28.240 --> 47:31.322
last thing is basically, how can I protect myself when using

47:31.376 --> 47:35.182
OSS content? So there are a lot of tools out there that

47:35.316 --> 47:38.490
they work a little like open chat, GPT,

47:38.570 --> 47:41.726
where they go out and they look for plagiarism, right? These guys go out

47:41.748 --> 47:45.554
and they look for content, OSS content in

47:45.592 --> 47:48.994
people's code, right? So you can actually run

47:49.032 --> 47:52.226
this on your own code to ensure that your developers or your

47:52.248 --> 47:55.602
contractors are not using open source code

47:55.656 --> 47:59.494
content that you're actually going to put in a product or go after in a

47:59.532 --> 48:03.014
patent. And if you are, it takes

48:03.052 --> 48:07.254
longer, it increases development time, but you can make changes

48:07.452 --> 48:11.018
and pull the open source code out. But you just have

48:11.024 --> 48:15.146
to be careful you're not also distributing two different sets of that and make

48:15.168 --> 48:19.302
it very clear which is the patented piece and which is the OSL

48:19.366 --> 48:22.330
piece, right? So you could do two sets of software.

48:22.750 --> 48:25.886
It takes more planning and thought, but you could

48:25.908 --> 48:29.358
do it that way. A lot of companies do actually do it

48:29.364 --> 48:32.974
that way. They say, here's a free, cheap, easy way to talk to our

48:33.012 --> 48:36.446
interface. And then if you're going to develop your own, they're like,

48:36.468 --> 48:39.746
oh, you have to buy our specialized chip, and it's got a communication bus that

48:39.768 --> 48:42.478
does this, this, and this, and you have to code it up and you can't

48:42.494 --> 48:45.918
use the freebie, right? Two different purposes.

48:46.094 --> 48:49.702
One to make and use and sell your own product, and the other to quickly

48:49.756 --> 48:53.638
get them on board to use their product and see

48:53.644 --> 48:57.480
if you like it, right? All right, so key takeaways when using

48:57.950 --> 49:01.078
open source software, understand the license implications.

49:01.174 --> 49:05.226
Always read it in full, in detail. Get your highlighter and

49:05.248 --> 49:09.146
your pen out. It's important. Understand your

49:09.168 --> 49:12.814
rights by reading the fine print that applies to code that you plan to use

49:12.852 --> 49:16.506
in your software and keep code for patentable inventions.

49:16.538 --> 49:19.950
Out of the public repositories if you have patent aspirations.

49:20.690 --> 49:24.058
I know this goes a little bit against open source software, but it does

49:24.084 --> 49:28.354
not matter if you are a business person in a

49:28.392 --> 49:31.906
field that you want to sell product in. Patents are

49:31.928 --> 49:35.862
important, and you have to do some of this holding some things back.

49:35.916 --> 49:39.602
Okay? Remember that open source software

49:39.666 --> 49:43.334
licenses implications actually apply to

49:43.372 --> 49:47.062
code adopted by a contractor as well. So make sure

49:47.116 --> 49:51.260
you're watching your contractors and letting them know not to use open source content,

49:51.630 --> 49:55.386
and that's it. Any questions? I think that kind of

49:55.408 --> 50:00.122
goes towards one of the other, once you've done, is making

50:00.176 --> 50:03.430
sure your contracts with people specify the fact that you

50:03.440 --> 50:06.526
don't want them to use open source and that you do own the code.

50:06.708 --> 50:10.058
It's a work made for hire. If it's copyrighted and setting,

50:10.074 --> 50:13.826
that just goes towards making in

50:13.848 --> 50:17.554
your contract, saying you don't want them to use open

50:17.592 --> 50:20.898
source and then maybe running the code through some kind of

50:21.064 --> 50:24.866
checker system at another date potentially, but at

50:24.888 --> 50:29.334
minimum making it super clear that you don't want open source or

50:29.532 --> 50:32.774
open source considerations need to be reviewed or

50:32.892 --> 50:36.486
something like that. It happens

50:36.588 --> 50:40.666
too often, and people lose the

50:40.688 --> 50:44.540
ability to enforce their patents if they went after patents and

50:44.990 --> 50:48.460
inadvertently had OSS content in

50:48.830 --> 50:52.110
their software, right? The patents are okay. It's okay to go after

50:52.180 --> 50:56.250
OSS patented software. I'm sorry to go after OSS

50:56.410 --> 51:00.400
to go after patents for OSS developed content,

51:00.850 --> 51:04.194
but you lose assertion rights in

51:04.232 --> 51:07.662
certain situations that would have not been lost

51:07.726 --> 51:11.122
had you paid attention and just did something slightly different with

51:11.176 --> 51:14.530
maybe just a handful of chunks of code.

51:14.600 --> 51:17.986
Right. It may not even be a lot, but you're in trouble if they're

51:18.018 --> 51:21.170
in there and you're attempting to assert patent rights.

51:21.330 --> 51:25.366
That was great, Kristen. A lot of very tingled web,

51:25.468 --> 51:29.346
but yes, good. Definitely some good check marks

51:29.378 --> 51:33.078
to at least go through and try to dot your I's and cross

51:33.094 --> 51:36.362
your t's very much. All right, that's all for today,

51:36.416 --> 51:39.994
folks. Thanks for listening, and remember to check us out@aurorapatents.com

51:40.032 --> 51:44.198
for more great podcasts, blogs, and videos covering all things patent strategy.

51:44.294 --> 51:46.734
And if you're an agent or attorney and would like to be part of the

51:46.772 --> 51:50.526
discussion or an inventor with a topic you'd like to hear discussed, email us at

51:50.548 --> 51:54.154
podcast@aurorapatents.com. Do remember that this podcast

51:54.202 --> 51:57.326
does not constitute legal advice. And until next time, keep calm and

51:57.348 --> 52:04.878
patent on our

52:04.884 --> 52:05.440
channel.