Nelson Rush writes:
I see a few problem areas.
Section 2 describes the inclusion of patented software algorithms as being
allowable. Now there might be "open source" certified licenses that allow
this, but I believe there should be a clause that says patented algorithms
are not compatible with this license.
I can't think of _any_ open source license which forbids the use of
patented algorithms within the source code base.
Several licenses either forbid the selective licensing of patents or require
contributors who also happen to be patent-holders to cross-license the
patents they hold. So some licenses try to promote free cross-licensing of
software patents, but other licenses are simply neutral (like the BSD and
MIT license -- not to mention "source code explicitly placed in the public
domain").
I think the opinion of the free software community in general is that either
all (because algorithms are mathematical results which may not be patented;
the Supreme Court has yet to decide this conclusively in the US, and other
local laws vary widely) or most (because prior art or "obviousness" exists
more often than not) algorithm patents that are being issued these days are
_invalid_.
It seems to me that forbidding the use of any technique which to which
someone, somewhere _claims_ an exclusive right would mean forbidding all
software development. Banning patented or allegedly patented algorithms
in free software projects would simply be giving in. And certainly not
all countries' laws recognize software patents at all, although there are
ongoing efforts at "harmonization".
The point is freedom to modify and
distribute, that point is moot if the said code is patented.
I think this is another example of the general point that a "correct"
license alone is ultimately insufficient to make something open source;
the license permissions need to be combined with particular practices on
the part of the developer.
If, for example, someone uses NDAs or enormous commercial incentives to
prevent any actual public disclosure of source code, despite having
prominent free license notices on all the source files, I would argue that
this overall practice is not open source, even though the license is.
If someone releases an implementation of a patented algorithm, and the
developer holds the patent and does not grant a perpetual royalty-free
license to all third party recipients of any portion of the code to use and
practice the patent, I would argue that this overall practice is not
open source, even though the license is.
Richard Stallman described the general problem some time ago: a program
may be free software for me, but at the same time not be free software for
you. Programs that you write are certainly free software for you,
regardless of their licenses; but, depending on what you do with the the
programs and other factors, the programs may not become free software for
the general public.
I don't think there is any way of requiring anyone to use a license that
adopts a particular policy on patents, and I don't even think it would
help much.
I understand
that Novell might use patented code and would still like provide the source
code and make it redistributable (to cash in on the whole open source
movement thing...), but they shouldn't have the right to call it open
source if they choose that path. We shouldn't make allowances for certain
things just to get the OSS stamp on them, otherwise we end up smudging the
rules associated with OSS.
I think I agree with the basic sentiment here, but I don't think the
problem is really with the license terms.
Debian has some packages in its non-US archive which are distributed from
outside the United States because of patented algorithms they contain.
Some of those packages are licensed under standard free software licenses,
and their algorithms just happen to be patented in the US. Continuing
what I mentioned above, those packages might be free software for users
outside the US (who aren't affected by the patents), but not free software
for users within the US (who could be forbidden to use or redistribute
the software).
Section 2 also says, "distribute", it does not mention re-distribution...
If third parties can get a license automatically, then they have the right
to distribute the software; there is nobody who does not have the right to
distribute the software.
The following rant refers to section 3 subsection 2:
Why not make the license interchangable? For instance, why not say that the
GPL may be used instead of the NCL when redistributing. (Of course Novell
will have to decided which licenses it will allow to replace the NCL
(something compatible), maybe even any license that is OSS certified).
That could result in an automatic code fork.
It is understandable that Novell wouldn't be so hot for this sort of thing,
but I'm talking about OSS licenses in general. If they are so compatible,
why can't they be interchangable? Just