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…
Comments
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.
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
Your understanding of the difference between Software Asset and Software Distribution seems correct, at least according to the v0.3 definitions:
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?
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.
SPDX (© 2010-2011 Linux Foundation, CC BY) provides more food for thought on a possible name change of "Software Distribution" into "Software Package":
An spdx:Package can also be a file (e.g. a compressed archive).
Proposal: