Skip to main content

ADMS.F/OSS Use Cases: Identifier of a software asset

Anonymous (not verified)
Published on: 25/01/2012 Discussion Archived

 

In his review of the early version of the ADMS.F/OSS: Use Cases Olivier Berger raises the question: What identifier is this... relative to some directory ?

http://joinup.ec.europa.eu/mailman/archives/adms_foss-wg/2012-January/000016.html 

Component

Miscellaneous

Category

Conceptual Model

Comments

stijngoedertier (not verified) Fri, 04/05/2012 - 03:04

Multi-domain identifiers may lead to naming conflicts. Within one domain we may assume that a shortname for a software project is unique, but within different domains, we cannot, unless we use a URI or IRI of course. 

To allow multiple identification domains, version 0.3 hasa data type Identifier that stems from the Identifier. Type of the UN/CEFACT Core Components Data Type Catalogue v3.1 . It has the following properties:

 

  • Content: String [1..1] A character string used to uniquely identify one instance of an object within an identification scheme that is managed by an agency.
  • SchemeIdentifier: String [0..1] The identification of the identifier scheme.
  • SchemeVersion: String [0..1] The identification of the version of the identifier scheme
  • SchemeAgency: String [0..1] The identification of the agency that manages the identifier scheme 

 

stijngoedertier (not verified) Wed, 30/05/2012 - 23:47

 

Tthe ISO/IEC 19770-2:2009 standard and the corresponding XML schema define the following structure to identify a software package:

<xs:complexType name="SoftwareIdComplexType">

<xs:sequence> <xs:element name="unique_id" type="swid:Token"/> <xs:element name="tag_creator_regid" type="swid:RegistrationId"/> </xs:sequence> <xs:attributeGroup ref="swid:default"/> </xs:complexType>   The following XML snipped in an example for the Adobe X pro product:   <swid:software_id> <swid:unique_id>AcrobatPro-AS1-Win-GM-MUL</swid:unique_id> <swid:tag_creator_regid>regid.1986-12.com.adobe</swid:tag_creator_regid> </swid:software_id

 

 

stijngoedertier (not verified) Tue, 05/06/2012 - 14:10

The SPDX specification uses URIs / IRIs to identify software packages (spdx:Package). Because the vocabulary is an RDF vocabulary these URIs are implicit to the specification.

The SPDX example file: http://www.spdx.org/system/files/spdxspreadsheetexample.rdf_.txt includes an example of such a URI: http://www.spdx.org/tools#SPDXANALYSIS?package

 

<Package rdf:about="http://www.spdx.org/tools#SPDXANALYSIS?package"> <licenseDeclared> <ConjunctiveLicenseSet> <member> <License rdf:about="http://spdx.org/licenses/MPL-1.1"> <licenseId>MPL-1.1</licenseId> </License> <packageDownloadLocation>http://www.spdx.org/tools</packageDownloadLocation> <hasFile> <File> <copyrightText>Copyright 2010, 2011 Source Auditor Inc.</copyrightText> <licenseComments></licenseComments> <licenseInfoInFile rdf:resource="http://spdx.org/licenses/Apache-2"/> <licenseConcluded rdf:resource="http://spdx.org/licenses/Apache-2"/> <fileType>SOURCE</fileType> <checksum> <Checksum> <checksumValue>2fd4e1c67a2d28fced849ee1bb76e7391b93eb12</checksumValue> <algorithm>SHA1</algorithm> </Checksum> </checksum> <fileName>src/org/spdx/parser/DOAPProject.java</fileName> </File> </hasFile> <licenseInfoFromFiles rdf:nodeID="A3"/> <checksum> <Checksum> <checksumValue>2fd4e1c67a2d28fced849ee1bb76e7391b93eb12</checksumValue> <algorithm>SHA1</algorithm> </Checksum> </checksum> <sourceInfo>Version 1.0 of the SPDX Translator application</sourceInfo> <packageVerificationCode> <PackageVerificationCode> <packageVerificationCodeValue>4e3211c67a2d28fced849ee1bb76e7391b93feba</packageVerificationCodeValue> <packageVerificationCodeExcludedFile>SpdxTranslatorSpdx.txt</packageVerificationCodeExcludedFile> <packageVerificationCodeExcludedFile>SpdxTranslatorSpdx.rdf</packageVerificationCodeExcludedFile> </PackageVerificationCode> </packageVerificationCode> <packageFileName>spdxtranslator-1.0.zip</packageFileName> <description>This utility translates and SPDX RDF XML document to a spreadsheet, translates a spreadsheet to an SPDX RDF XML document and translates an SPDX RDFa document to an SPDX RDF XML document.</description>

The checksum (spdx:Checksum) and verification code (spdx:PackageVerificationCode) can be used to authenticate a pacakge, but is unpractical (because meaningless to humans) to identify it or use it to mint a URI.

Anonymous (not verified) Tue, 05/06/2012 - 14:16

The approach of  ISO/IEC 19770-2:2009 that you mentioned implies the use of a central registry. That may be needed when there are trust issues. But I'm not sure that's a problem in the current use cases ADMS.F/OSS has collected.

That's a totally different approach that that of the Semantic Web / Linked Data, which basically relies on URI which may be chosen at random. Only dereferencing them and checking for the contents, and some kind of web of trust (based on the underlying confidence in the DNS system) loosely guarantees desambiguation.

I myself would prefer putting the second one (Linked Data's) forward to maximize adoption without the hassles of managing a central authority, while controlled unique IDs may be added by services using ADMS.F/OSS if they wish and need some enhanced trust mechanism.

Login or create an account to comment.