Definition

Availability of software, i.e. executable code that can be installed and run by other partners. The contribution should include the source code (not just the binaries). The code can be in any programming language, it can also be only a simple script dedicated to one specific task, as long as it is working and documented.

ScopeNote: We distinguish between software and service as separate contributions. Every (digital) service is an activation of some software. If both a service and the underlying software are provided, then it counts as two distinct (though related) contributions.

Enterprise Viewpoint

Communities

  • Data Creation Community: the community that creates the code necessary to install and run a software
  • Data Provision Community: The Community who provides discovery and access to the software developed by the Data Creation Community.

Development of Software Roles

The following roles in the Development of Software Community have been identified.

  • Software Development Subsystem (passive role): the community component representing the Development of Software Community as a whole.
  • Software Owner (active/passive role): the agent who owns the software and it is ultimately “responsible” for its functioning
  • Software Developer (active role): the agent who develops the source-code of the software
  • Software Manager (active role): the agent who is responsible of the release and good functioning of the software
  • Software Architect: the agent who is responsible of the overall architecture of the software, from its design to the completion of the software
  • Software Tester: the agent who is responsible for the testing of the software during the production phase and before its release
  • Documentation Subsystem (passive role): the documentation that will facilitate the comprehension of the software by the end users once it is released
  • Software Publisher: the agent who publishes and makes available the software and documentation
  • Software Development Subsystem (passive role): the underlying system supporting the software developer
  • Software Publishing Subsystem (passive role): the system supporting the publication and release of the software, initiated by the Software Publisher

Information Viewpoint

Data

  • Software: programming interfaces used in order to produce code
  • Documentation: the documentation that will facilitate the comprehension of the software by the end users once it is released

Agents

  • Software Owner: the agent who owns the software and it is ultimately “responsible” for its functioning
  • Software Developer: the agent who develops the source-code of the software
  • Software Manager: the agent who is responsible of the release and good functioning of the software
  • Software Architect: the agent who is responsible of the overall architecture of the software, from its design to the completion of the software
  • Software Tester: the agent who is responsible for the testing of the software during the production phase and before its release
  • Data Owner: the agent who owns the code and it is ultimately “responsible” for its correct functioning
  • Data Consumer: the agent who will make use of the software produced
  • Data Manager: the agent who makes sure that the quality of the code is met and that the user experience is satisfactory
  • Software Publisher: the agent who publishes and makes available the software

Services

  • User guide/ manual: information on how to use the software
  • Software Development Subsystem: the underlying system supporting the software developer
  • Software Publishing Subsystem: the system supporting the publication and release of the software, initiated by the software publisher

Contracts

  • Contract: e.g. usage licenses and intellectual property rights clearance