​​Patently Strategic - Patent Strategy for Startups

Open Source and Patent Rights: Collaboration with Consequences

Aurora Patent Consulting | Ashley Sloat, Ph.D. Season 3 Episode 3

Send us a text

How does the use of or contribution to open-source software impact your intellectual property rights?

In this month's episode, we’re talking about software and the convoluted risk/reward interplay between patents, copyrights, and open source. Use of free open-source code can be an invaluable tool when building complex software applications. Why reinvent wheels? And depending on resources and budget, sometimes it’s the only practical way. But like with most things, free often isn’t really free. The cost is just transferred somewhere else. When it comes to open source, these short term savings can have significant long term consequences for your intellectual property rights.

⦿ Can you mix open source with commercial software and still keep your code private?
⦿ Can you patent your own software that uses open-source software?  Could you ever actually assert those rights?
⦿ Can you patent open-source software you author and why would you?

We'll discuss answers to these questions and more. Kristen Hansen, Patent Strategist and software patent guru here at Aurora, leads a discussion along with our all-star patent panel, exploring:

⦿ The fundamentals of open-source licensing and how certain viral license types can require you to publicly make available your company’s source code.
⦿ How copyrights, patents, and open-source licenses differ in terms of software protection strategies.
⦿  Whether or not – and why you might – patent open-source software and the often proprietary code that leverages it, as well as the associated patent right assertion risks that can come with doing so.

We look at concerns through the eyes of both users and authors of open source. And pragmatically as we can, highlight how it’s possible to construct a strategy where open-source innovation is encouraged without forgoing all future earning power and without blocking others from using it.

Kristen is joined today by our always exceptional group of IP experts including:

⦿ Dr. Ashley Sloat, President and Director of Patent Strategy at Aurora
⦿ Dr. David Jackrel, President of Jackrel Consulting
⦿ Ty Davis, Patent Strategy Associate at Aurora

** Resources **

⦿ Show Notes: https://www.aurorapatents.com/blog/open-source-and-patent-rights
⦿ Slides: https://www.aurorapatents.com/uploads/9/8/1/1/98119826/opensourceandpatents.pdf

** Follow Aurora Consulting **

⦿ Home: https://www.aurorapatents.com/
⦿ Twitter: https://twitter.com/AuroraPatents
⦿ LinkedIn: https://www.linkedin.com/company/aurora-cg/
⦿ Facebook: https://www.facebook.com/aurorapatents/
⦿ Instagram: https://www.instagram.com/aurorapatents/

And as always, thanks for listening! 

---
Note: The contents of this podcast do not constitute legal advice.

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.

People on this episode