Subject: Re: Patent-based dual-licensing open source business model
From: Jamie Lokier <jamie@shareable.org>
Date: Fri, 15 Sep 2006 03:25:09 +0100

Alan Hudson wrote:
> Jamie Lokier wrote:
> >Alan Hudson wrote:
> >
> >>Of course to dole out the collected money you'd need something like the 
> >>songs played analogy.  As a developer its almost impossible to know what 
> >>patents I'm infringing/using.  So I don't know how you'd split the 
> >>collected proceeds.
> >
> >
> >Maybe regular statistical sampling of deployed software, to get a
> >profile of which patents (or patent collections) are in use from year
> >to year, without analysing every individual program?
> >
> >The funding for surveys would come from a portion of the collected
> >revenues.
> >
> >It would be no bad thing to gather such data anyway.
> >

> I'm not sure it would be possible.  Ie I'm a pretty knowledgeable 
> developer in terms of IP.  But there is no way for me to keep track of 
> all the patents in use and being filed.  Part of the problem with the 
> system is the difficulty keeping in compliance.

That's the point of making it statistical.  Check some programs
against a subset of patents, selecting the programs and patents from a
pool of categories - much like election polling or manufacturing QA.

The checks don't have to be perfect.  Just reasonably good.

If the use of a particular patent (or category of patents) in a
particular program is non-obvious, and nobody declare a deliberate
use, then just treat it as not used.  No great loss, and no different
from the current setup.

> I assume your sampling could not be automatic.

Neither the individual checks nor the sample selection could be fully
automatic, true.

> I expect a typical patent examiner or attorney could not do the
> analysis(ie does this code use patent A requires software
> knowledge).

Perhaps, but that doesn't rule out experts developing who learn how to
check that with "reasonable" accuracy.

A bit like tax inspections: A sample of programs (or more likely,
products) will be analysed in detail by inspectors.  But it's not
adversarial because the analysis is to determine the profile of patent
categories in common use, not to penalise the individual producer of
the program.

> Typical developer doesn't know the patent landscape.

They don't need to know the landscape; that's for the patent landscape
experts.  Developers assist the patent checkers to analyse the
software for field-specific patents.

> I expect its a rarified person or requires a team to evaluate a
> codebase for patents.

I agree on both.

> Perhaps IP law firms do this already?

I'm not sure.  It seems unlikely IP law firms do it by themselves.

> In the end I expect most codebases violate many patents.

That's fine.  The point isn't to detect "violations".  It's to develop
a statistical profile of which patent categories are used and to what
extent, in order to dole out collectively-licensed payments.  Accuracy
of individual checks is not required.

For example, it's not that hard to determine that certain audio and
video codecs patents are in wide use, and which ones are commonly
used.  So that category would get decent funding.

After profiling categories (which admittedly would start out rather
arbitrary), analyses would proceed to divide the largest categories.
So in the case of codecs, having determined that codec patents are
widely used and deserving of a large bit of the pie, analyses proceed
to determine a profile of _which_ codecs and _which_ patented methods
are used.

See also dynamic code profiling techniques, and OkCupid's question
ranking, for ideas on how to make the splitting of the pie converge on
useful categories.

> As a developer I'd also argue that many patents are "stupid", but
> that's a different thread.  If the cost of compliance was reasonable
> I expect some developers/companies would license a pool for the
> known costs/risks.

Indeed, and the suggestion was an idea for how to create that pool.

Right now, there are too many tiny pools, so collective licensing is
difficult except in certain fields (e.g. quite convenient with the
common audio/video codecs, or when buying whole silicon IP cores), or
with certain large companies (but only if you're in a position to negotiate).

A means of aggregating patent holders to something resembling
collective bargaining would help; probably it would help everyone.  It
doesn't make software patents less evil, but it might reduce the
uncertainties of living with them.  The costs might even be reasonable
for a modest professional developer.

-- Jamie