Really good points TK. I think you are right on track with the issue.
Our plan for this was to just branch off a new name when vendors and/or
products change. (and not going back in time to change existing names)
So in your case you might see:
cpe:///cambia/product_a:1.0
cpe:///cambia/product_a:2.0
cpe:///cambia/product_a:3.0
cpe:///ncircle/product_z:4.0
The loss here is with matching in that if someone want to tag a
statement as applicable to cpe:///ncircle, the previous cambia names
won't match. But we think the trade-off here with simplicity in
maintaining the names is worth it. Agree?
As for the numeric id proposal, my one hesitation is that it would
require someone to manage those ids and to assign new ones. This would
put someone on the critical path. Our hope was to avoid this by
allowing vendors to 'guess' what their name will be and begin using it
right away. The CPE Moderator can then add the names to the official
dictionary at their own pace.
But I do agree that technically the generic numeric id solves a number
of technical problems. Why stop at the vendor though? It has been
brought up in the past to just have a generic id for the entire
platform, similar to CVE ids. Along with the maintenance issues, this
also kills the matching application.
Drew
>-----Original Message-----
>From: Tim Keanini Sr. [mailto:
[hidden email]]
>Sent: Tuesday, June 26, 2007 11:24 AM
>To: cpe-discussion-list CPE Community Forum
>Subject: Re: [CPE-DISCUSSION-LIST] software under GPL
>
>Team,
>if you will allow me to think this through on the list, I
>might offer something to get the creative juices flowing.
>
>IMHO, we must avoid the trap of trying to be meaningful while
>still achieving the goal of a unique identifier. We should
>value being unambiguous over all else. At the end of this
>email, I offer a suggestion to decouple these two objectives
>so that they both can succeed.
>
>In the current naming scheme, we have these facets:
>vendor:product:version:edition
> a : b : c : d
>
>Now the problem is that we are perfectly fine when items 'd'
>(edition), or 'c' (version) change. The change is appropriate
>and warrants another identifier.
>cpe://busybox:busybox:1.6.1::
>cpe://busybox:busybox:1.6.5:personal:
>cpe://busybox:busybox:1.6.5:enterprise:
>
>I'm going to leave 'b' (product) out of the discussion for now
>because I'm not sure if a company changes a product name
>without changing the code, does it matter? Fork this to the
>background.
>
>Changes however in facet 'a' are causing us problems because
>the facet we have chosen can be synonymous to its adjacent
>facet and offer different levels of specificity.
>In the example below, the set {denic_vlasenko, gnu_gpl,
>busybox} could be understood to meet the qualification of the
>vendor facet but offer different levels of specificity and
>stability (less changing) within that domain.
>cpe://denis_vlasenko:busybox:1.6.0::
>cpe://gnu_gpl:busybox:1.6.0::
>cpe://busybox:busybox:1.6.0::
>
>nCircle just merged with a company called Cambia and renamed
>the product. In this example, both 'a' and 'b' facets
>changed in no meaningful way to a CCE of CVE because no
>changes were made to facet 'c' or 'd'.
>
>The edition and version facets possess a directness to CCE and
>CVE; the vendor (and in rare cases product) grow more and more
>indirect to CCE and CVE.
>This directness quality also stabilized the system because
>each new identifier is brought in to existence to serve a function.
>
>------------------------------------------------
>
>At the heart of the matter:
>This cpe:/// design forces us to pick facets whereby
>specificity is always to the extreme right;
>yet we are dealing with changes on the extreme left that may
>compromise the precision of the facets to the right.
>Ideally, facets to the left should be more stable (and as
>specific as possible)
>
>Could we consider using a numeric for the VENDOR that is
>referenced in another table?
>If we apply that logic to the following example posted by Drew
>we have a unique '8888' in vendor which brings stability to the
entity:
>1. cpe://8888:busybox:1.6.0::
>2. cpe://8888:busybox:1.6.0::
>3. cpe://8888:busybox:1.6.0::
>
>A repository adjacent to NVD would handle the external lookup
>of 8888 returning meta information like:
>author: denis_vlasenko
>license: gnu_gpl
>
>This is just my suggestion. Ready, aim , fire!
>
>--tk
>--
>Timothy 'TK' Keanini. CTO
>
>101 Second Street, Suite 400
>San Francisco, CA 94105
>Office: +1 415 625 5939
>Mobile: +1 415 328 2722
>Fax: +1 415 625 5984
>
http://www.ncircle.com/>
>On Jun 26, 2007, at 7:56 AM, Buttner, Drew wrote:
>
>
> In looking over some product dictionaries and trying to
>convert them to
> CPE, I keep running across the same scenario and I
>thought I would ask
> the community for their opinions.
>
> The example is a small application that is licensed under GPL,
> maintained/written by an individual, but has its own
>website domain.
> How should we write the CPE Name?
>
> A real life example is BusyBox (
http://busybox.net) BusyBox
is
> obviously the product name, the question is the vendor
>piece. The spec
> talks about conflicting options.
>
> One could make the case that we use 'busybox' since this is the
> "highest organization-specific label of the
>organization's DNS name"
> (kind of)
>
> Or we could use "denis_vlasenko" since the spec says
>"For applications
> that do not have a vendor associated with them, this
>component should
> use a developer's name." Of course in this case Denis is the
> maintainer and theoretically this could change.
>
> There is no single developer associated with BusyBox.
>
> Should we have a default vendor of "gnu_gpl" for these type of
> applications? (small apps with no vendor that are
>maintained by a
> number of different individuals)
>
> cpe://denis_vlasenko:busybox:1.6.0
> cpe://busybox:busybox:1.6.0
> cpe://gnu_gpl:busybox:1.6.0
>
> Thoughts?
>
>
> ---------
>
> Andrew Buttner
> The MITRE Corporation
>
[hidden email]
> 781-271-3515
>
>
>
>
>
>