Skip to main content

Naming of concepts Software Project - Software Asset - Software Distribution

Anonymous (not verified)
Published on: 11/05/2012 Discussion Archived

There's a general problem with the naming of the 3 main entities describing software in ADMS.F/OSS, IMHO. Wording is quite important, even if the specs are meant for machines more than for humans. But we should seek to be less ambiguous as possible in the vocabulary for implementers to understand it the right way.

  • "Software Project" should be named "Software Product".

    A "project" is more an endeavour, a community, and that's not what is described here, AFAICT : we're most concerned with finding software than finding contributing communities.

    Apache is a "project" (and a foundation too), and 'httpd' is one of the products it develops.

    If the goal is not to differ too much of the wording of DOAP, in this respect (DOAP is generally more used for describing products than projects, I think), then this should be clarified explicitely in teh specs.

  • Software Asset : this should be named "Software release" or "Software version" or something like that, to clarify : "Asset" is very vague for forge implementors, and I'm not sure it will foster adoption to abstract too much the notions.

    Even if it inherits from ADMS:Asset, there's no need to keep Asset in the class name, IMHO.

  • Renaming to "Software Package" intead of Software Distribution would be better IMHO, as distributions (Linux distributions) refer to a large group of softwate distributed together, and I fear ambiguity here, again…

Component

Documentation

Category

improvement

Comments

stijngoedertier (not verified) Fri, 11/05/2012 - 13:20

Using Apache Server as an example, ADMS.F/OSS 0.3 has the following conceptualisation:

Personally, I am also in favour of changing the wording from "Software Asset" into "Software Release" and from "Software Distribution" into "Software Package". 

However, I would keep the wording "Software Project". The Apache Software Foundation already uses DOAP to describe its software projects. The Apache HTTP Server application is a doap:Project: http://svn.apache.org/repos/asf/httpd/site/trunk/docs/doap.rdf

So changing the words "Software Project" would perhaps create confusion.

 

Anonymous (not verified) Fri, 18/05/2012 - 20:17
  • What about the term Software Vendor instead of Agent? The Apache Software Foundation is a Software Vendor such as Microsoft or a persons name if a OSS project is maintained by an individual.
  • I agree with the term Software Project, this is very common.
  • What is the real difference between Software Asset and Software Distribution? I do understand it in that way: Apache HTTP Server 2.2.22 is a Software Asset which is provided by different Software Distribution's such as httpd-2.2.22.tar.gz, httpd-2.2.22.tar. bz2, httpd-2.2.22-win32-src.zip, httpd-2.2.22-win32-x86-openssl-0.9.8t.msi and variants from non Apache redistribution channels such as Debian or RedHat. Am I right? Or do you mean just the distributions provided by the Software Vendor?

PS: the link to the Apache HTTP Server DOAP is broken, the rendered page is here http://projects.apache.org/projects/http_server.html , the DOAP here http://svn.apache.org/repos/asf/httpd/site/trunk/content/doap.rdf

stijngoedertier (not verified) Mon, 21/05/2012 - 08:51

Your understanding of the difference between Software Asset and Software Distribution seems correct, at least according to the v0.3 definitions

  • A Software Distribution is always a file, it is a particular "physical" embodiment of a software asset, it thus has a licence and a file format.  So indeed, httpd-2.2.22.tar.gz, httpd-2.2.22.tar. bz2, httpd-2.2.22-win32-src.zip, httpd-2.2.22-win32-x86-openssl-0.9.8t.msi are all examples of Software Distribution. Software commonly has at least two kinds of physical embodiments: a source code distribution and a binary distribution.
  • A Software Asset is a more abstract entity. In version 0.3 it is defined as "the intellectual content of the software and represents those characteristics of the software that are independent of its physical embodiment." A software asset is associated with a version number. 

Do you also think it is more clear to use the term "Software Package" instead of "Software Distribution"?

With regard to your comment related to "Agent", I admit that Agent is quite an abstract concept (the Agent class in the UML diagram). It represents either a natural person or an organisation. I think it is probably not needed to "specialise" these concepts beyond person and organisation. The differentiation between "contributor", "funded by", "developer", "funded by", etc. is then provided in the relationships (the associations in the UML diagram). Do you think it is needed to have a "vendor" role? It seems to imply a commercial interest, which I am not sure is always the case. Could it be sufficient to have the "publisher" role?

Anonymous (not verified) Mon, 21/05/2012 - 14:26

I'm not so fond of adding Software Vendor, as there's a lot of non-profit or other institutions here.

It doesn't not prevent linking to resources that would be subclasses of Agent, defined in another ontology, which would then be valid WRT ADMS.F/OSS (thinking with a RDF model in mind). Again, we shouldn't over-specify in this first version of ADMS.F/OSS, and only add such refinement for Agents only if necessary.

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

SPDX (© 2010-2011 Linux Foundation, CC BY) provides more food for thought on a possible name change of "Software Distribution" into "Software Package":

  • spdx:Package: A Package represents a collection of software files that are delivered as a single functional component. A package has the property spdx:packageFileName, which represents the name of the package file name. For example, zlib-1.2.5.tar.gz.
  • spdx:File: A File represents a named sequence of information that is contained in a software package.

 An spdx:Package can also be a file (e.g. a compressed archive). 

stijngoedertier (not verified) Tue, 05/06/2012 - 11:52

Proposal:

  • Rename "Software Distribution" into "Software Package". This proposal is supported by the conceptualisation in the SPDX community, it would also allow defining admssw:SoftwarePackage as a sub class of spdx:Package  in the RDF Schema.
  • Rename "Software Asset" into "Software Release". This proposal would avoid confusion with the notion of "Software Asset Management" (see related issue). As in v0.3 "Software Release" will subclass doap:Version, defined as "version information about a project release".
Login or create an account to comment.