Re: Packaging of the RISC-V ecosystem?
On Fri, Nov 11, 2016 at 12:10:55AM +0100, Manuel A. Fernandez Montecelo wrote:
> 2016-11-09 23:59 Karsten Merker:
> >From a trademark point of view using something like rv64 instead
> >of riscv64 as the base part of the Debian architecture name would
> >(besides being shorter) avoid potential trademark issues. I am
> >not very happy with the RISC-V Foundation's proposed trademark
> >policy and would like to take precautions to avoid any potential
> >issues in that field.
> I haven't followed that yet... it might be an issue as you say, but then
> again RV64 is a codename in the specs and so on, wouldn't it have the
> same problems? And wouldn't other arch names like "mips*" and "arm*"
> and "amd*" be as problematic as any one that we might choose for the
> RISC-V ports?
> This might be similar to the APIs being copyrightable -- if the
> adherence to standards are allowed by law, one has to explain somehow
> that it is compatible with the spec, so it means using some RISC-V-y
First and foremost I have to state that I am not a lawyer and can
only describe my layman's understanding of the legal situation
which might well be completely wrong. Second, trademark law can
vary very much between different jurisdictions, so what is true
for one country may be completely false for another one.
To my understanding, "RISC-V" is a registered trademark in the
USA. A registered trademark also protects the mark owner from
other entities using marks that are highly likely to be confused
with the registered trade mark inside the same product class,
which in practice usually means that slight spelling variations
(in the style of "risc-v" or "RISCV" or "riscv") are usually
covered by the trademark protection as well.
As a sidenote: the same mark can usually be legally used in
another product class; e.g. there is (or at least was) a washing
powder named "Linux" which doesn't infringe on the "Linux"
trademark for the kernel as both are in different product
As far as I know, "RV64" and "RV32" haven't been registered as
trademarks. They are used as a technical identifier in the
specification documents, but that doesn't make them trademarks.
It is also questionable whether a term like "RV64" could even be
registered as a trademark. If I understand the legal situation
correctly (please again note that I am just a layman), a
trademark needs to reach a certain level of distinctiveness (I
hope that is the correct English term - I am not a native
speaker) and I have doubts that a term like "RV64" would be
considered distinctive enough to be eligible for trademark
protection in many jurisdictions. If I remember an old magazine
article correctly (that was _many_ years ago), the author
mentioned that the reason why the Intel Pentium and the following
chips (Pentium II, Pentium III, Pentium Pro, Pentium D, Pentium
M) were officially named Pentium <something> instead of i586,
i686, i786 etc, was that Intel originally wanted to call the
Pentium simply "i586", tried to trademark the "i586" term and was
denied the trademark registration by the US trademark office
because a short arbitrary combination of letters and numbers
wouldn't fulfill the aforementioned requirements, so Intel
invented the "Pentium" prefix which made the mark distinctive
enough to be registered.
Other trademarked architecture names could in principle be as
problematic as RISC-V, but there are two points which make
RISC-V a bit different:
- The other names are in use for years with the trademark owners
clearly knowing of the uses and not doing anything against
that. As far as I know, in many jurisdictions trademarks have
to be actively defended, i.e. if the the trademark owner
knowingly tolerated the use of his mark for a certain purpose
for a prolonged time, he can lose the right to interfere with
the further use of the mark in those cases. RISC-V is a new
platform, so this argument of defense wouldn't be valid for
- RISC-V has an explicit trademark policy which expressly limits
the uses of the RISC-V trademark.
Regarding the use of a trademark, there are - again to my
layman's understanding, which may well be wrong - legal
differences between different types of use. Refering to a
trademarked product that is made available by a trademark owner
or -licensee AFAIK implicitly allows using the mark for the
reference. In practial terms: if I have a bottle of "Foo Cola"
in my hand that was sold by the trademark owner of "Foo Cola", I
may legally call this bottle by it's trademark "Foo Cola" without
requiring an explicit permission from the tradmark owner for
using the trademark.
By the same mechanism I can legally call the official "RISC-V
Instruction Set Manual" the "RISC-V Instruction Set Manual"
without requiring an explicit permission from the trademark owner
for using the "RISC-V" trade mark.
Using the trademark as part of one's own product is a different
thing, though, which is why I would like to avoid using "RISC-V"
or alternate spellings of that as part of the Debian architecture
name. The official trademark policy of the RISC-V foundation
at https://riscv.org/risc-v-trademark-usage/ states:
"For commercial end products, usage of the RISC-V trade mark or
the RISC-V logo is only permitted under the license granted
within the RISC-V Foundation Membership Agreement. The RISC-V
trade mark or the RISC-V logo may be freely used for
non-commercial research and academic projects as long as the
guidelines below are followed."
The problem with this is that this wording effectively denies
Debian the use of the "RISC-V" trademark as Debian and many of
its downstreams fulfill the requirements of neither of these
One can argue about whether Debian itself provides a "commercial
end product" or not, but as Debian explicitly allows and even
encourages the sale of installation media with the Debian
distribution on them or the sale of systems with a preinstalled
Debian by others, it is at least not completely far-fetched that
a lawyer could possibly consider the term "commercial end
product" to be fulfilled. Even if the Debian project itself
wouldn't be covered by this clause, our downstreams might well
be. Debian isn't a member of the RISC-V foundation (which would
make Debian a trademark licensee) and probably never will become
a member as based on the information in
the "cheapest" organizational membership in the RISC-V foundation
costs 5000 US$ per year.
The second clause of the trademark policy unfortunately also
doesn't really fit for Debian: Debian is neither a
"non-commercial _research_ project" (with the emphasis on
_research_) nor an "academic project".
I believe that this outcome is probably not what many of the
original RISC-V developers had intended, but this is the current
legal situation as I see it and this will probably be cemented by
the legal structure of the RISC-V foundation which controls the
the RISC-V foundation is a US 501(c)(6) entitiy, i.e. a trade or
industry association and not a 501(c)(3) charitable organization.
Decisions in the RISC-V foundation get done by the foundation's
board. According to the information on page 17 of
the only people that are eligible for board seats are platinum
members that pay 25000 US$ per year, i.e. big industry players,
so don't expect any people from non-profits like Debian to have
a say in the design of the trademark policy :-(.
Therefore I definitely want to avoid the use of "riscv" as the
base for the Debian architecture name, in particular as an
architecture name isn't something that can be easily changed once
we have had a formal Debian release with it.
> >So how about the following naming convention:
> > RV<optional "BE" big-endian identifier><WIDTH><LIST_OF_ISA_EXTENSIONS>
> >Examples for possible architecture names following this naming
> >convention could be: RV64G, RV32IMA, RVBE64G
> If BE/LE is optional and G is optional as well (being the "default"), we
> would have rv64 or riscv64, and then rv64imfac for example.
> But in that case, if G is ommitted for being the default, it would not
> serve as a good guide/example for future "flavours", with examples as
> you mention (armhf in Debian and Raspbian).
You probably misunderstood me - in my proposal the "G" is _not_
optional and cannot be omitted. The architecture name always has
to contain an ISA specifier, so only "rv64" wouldn't be allowed as
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.