octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: overloaded function handles


From: Jaroslav Hajek
Subject: Re: overloaded function handles
Date: Sat, 8 Aug 2009 06:19:24 +0200

On Fri, Aug 7, 2009 at 9:55 PM, John W. Eaton<address@hidden> wrote:
> If we know that some part of Octave is likely to infringe on a patent,
> then I think we should either find a non-infringing way to implement
> the feature, or remove the code that is likely to be infringing.
>

What if it can't be removed?

>
> The MathWorks has sued at least one other company for patent
> infringement.  See for example the recent case against COMSOL, which
> appears to still be pending.
>
> Perhaps more troubling than the patent case is the related breech of
> contract and copyright infringement case which the MathWorks won.
> Part of the claims of that case were apparently about "software
> copyrightability, including the copyrightability of a compilation of
> software commands, command names, and command syntax".  The result of
> the judgement was apparently several million dollars in damages and a
> permanent injunction against distributing COMSOL script (the
> Matlab-like environment written and distributed by COMSOL).  BTW,
> COMSOL is apparently a Swedish company which also does business in the
> US.  So simply being based outside the US apparently doesn't allow you
> to do whatever you like and to completely disregard US copyright and
> patent laws.
>

Well, obviously, anyone doing business in USA must abide by US laws.

>
> It is up to you whether you want to distribute a patch separately from
> Octave, but I think it would be best to remove any code that we think
> infringes on any patent from the core Octave distribution.
>

I think a separate repo would be more convenient, at least for me.

>
> In the case of MathWorks patents, it will be hard to claim ignorance
> of one of their patents since they are listed on the MathWorks web
> site.  Not that ignorance of a patent helps us anyway, since
> independent invention is not a valid defense in patent infringement
> cases.
>

Well, I *would* be ignorant about the patent if you didn't bring it
up. I can think of billion times better spending my time than reading
patent claims. But of course you're right, that doesn't help.

>
> If you think it is impossible to implement the feature in a
> non-infringing way, then I guess that is a clear example of the
> trouble software patents can cause.  Perhaps we should use this as a
> way to clearly show people in the numerical software community why
> software patents are harmful to users, and why members of our
> community should not be rewarding the MathWorks for this kind of
> behavior.  I suspect most Matlab users don't even know anything about
> the litigation the MathWorks has been involved with in recent years.
>

In a strict mathematical sense, even the previous implementation did
violate the patent - at least claim 1.
Only it was less obvious. The only way to be really sure would be
removing function handles completely, which would severely cripple
Octave. Also, for instance, I think symbol_table::fcn_info is likely
violating the US patent 7,051,338. And I wonder if there are more.

I think these patents are clearly designed to *prevent* the creation
of a competing software - which is exactly what Octave tries to do. So
either Octave abandons that goal, or it will likely be in perpetual
danger of infringing patents.

Personally, I can neither guarantee that my contributions to Octave
don't infringe software patents, nor am I willing to spend time to do
so. So I really think that to protect the US users from infringements,
we need a patent-free branch for the USA, or a patent-safe branch for
the rest of the world (OK, maybe there are also relevant patents in
other countries, but I hope not).

-- 
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]