RetroPlatform OIDs
TOPIC
This article introduces and describes the OIDs that have been assigned for Amiga cataloging purposes.
DISCUSSION
This information is not current. The concepts outlined in this page evolved and were implemented in Amiga Forever 2008. Please refer to the RetroPlatform SDK for additional information.
Introduction
After almost 10 years of development, the Amiga Forever project was referencing more than thousand companies, individuals, software applications and other entities. Increasingly, it was taking more and more time to double-check things to prevent errors and avoid duplications. This is not only because of typos or other errors in our original sources (at times even in official documents, or with search engines showing a higher frequency for a wrong name than for the correct one), but also in large part because the data had never been structured and organized for this type of reference.
For Amiga Forever 2005, different options were considered to start organizing the data. This meant not only building a database of all people and organizations mentioned in documents, audio recordings, videos, etc., as well as Amiga Forever licensors and contributors, but also, for example, the XADML-described games and demos that would be supported by the new launcher. Now, if organizing known data seems possible, if not easy, cataloging, or at least managing identifiers for unknown data, such as all Amiga applications in existence, is more of a challenge. Without a unique identifier, for example, a game front-end listing a title that is available online wouldn't be able to tell whether the same game is installed or not.
From UUIDs and CRC32s to OIDs
The worst-case scenario of the cataloging project was represented by the above-described need to uniquely identify an open-ended number of unknown software titles (e.g. games, demos).
In order to provide a decentralized solution to this collective problem, it was considered to use UUIDs, which were guaranteed to be unique, and which anybody could self-assign to, say, a game that was not yet cataloged. In theory, before assigning a UUID to an application, the cataloging entity would check or otherwise be aware of an existing UUID, and use that if available. In case of duplicate assignments, over time the UUID with the lowest timestamp would "win". CRC32 checksums were proposed as another option. Although not guaranteed to be unique across images (two files may in theory have the same CRC32), CRC32s have the advantage of being "self-assigned". In practice, it emerged that CRC32s already work well as a means of identifying software media, e.g. as used in popular emulation packages. CRC32s are therefore used to identify media files in XADML files, with some additional logic applied to locate such files if necessary.
UUIDs and CRC32s reflect the need to solve a problem in a decentralized manner. Otherwise, uncataloged applications would have had to wait for some central action (e.g. addition to a database) before being supported in the new XADML-based system, which was deemed to be impractical.
The adoption of a common-sense solution to the time-sensitive part (i.e. applications that should not have to wait to be cataloged for identification purposes), gave the cataloging part of the project the possibility to adopt a best-of-both-worlds approach. Because other items that could benefit from cataloging are not time sensitive (there is a long-term benefit, but no real urge to create a single list of known Amiga entities), it is believed that the best approach to organize this data is to manually associate a unique identifier to each entity. This is what has already been done for the entities which fall under the Amiga Forever project. For this purpose, an object identifier (OID) structure as per ITU-T recommendation X.680 and RFC 2252 was defined and used.
Some of the benefits of the OID model include:
-
OIDs are backed by existing standards and practice
-
Anybody in the world can know with a simple online check what an identifier means, and who manages it
-
Responsibility for the management of OID subtrees can be delegated
-
Because numbers are used to identify entities, there is no need to manually choose tags, or to rename them if entity names change, etc.
Applied to the Amiga community, we believe that OIDs could be used, for example, to reference companies, people and applications across different websites and the databases behind them. Currently, for example, different sites dedicated to preserving information about Amiga games use different methods to identify game developers, publishers, programmers, artists, titles, etc. If every site had just one URL access point where an OID could be entered, the public (and a site's own maintainers and researchers) could more easily check for information about the same entity. Aggregation front-ends could be created, pointing to information for similar entries in different sites and resources (e.g. information about every name mentioned in every video in the Amiga Forever archives).
Amiga Cataloging Project Object ID Subtrees
The following subtrees have been assigned for use in the RetroPlatform Cataloging Project.
- 1.3.6.1.4.1.23153.1000 RetroPlatform Cataloging Data
- 1.3.6.1.4.1.23153.1000.0 Reserved
- 1.3.6.1.4.1.23153.1000.1 Natural Persons, Legal Entities and Organizations
- 1.3.6.1.4.1.23153.1000.2 Hardware
- 1.3.6.1.4.1.23153.1000.3 Official Publications and Data
- 1.3.6.1.4.1.23153.1000.4 Interim Publications and Data
Subtrees of the above can be assigned, with delegation of the respective administration (e.g. clearly defined Amiga categories such as "games", "demos", "books", "magazines", "video", "audio", etc. could all be subtrees of "publications").
General Recommendations
The use of OIDs brings with it a healthy minimum of formal requirements (which guarantee some "order"), while allowing for a diversity of implementations.
For example, although originally set up to ease maintenance of Amiga Forever, each subtree of the Amiga Cataloging Project could be managed by a different organization. A fundamental requirement for these organizations is to make available the full list of assigned OIDs. This could be via real time online access to a database, or by publishing the entire list as a text file from time to time (which also constitutes a public backup of the data).
Public accessibility and submissions are encouraged. In order to minimize the risk of abuse and contamination, it is suggested to manually approve each submission, or to at least implement a system for automatic email confirmation.
If it is determined that more than one OID has been assigned for the same entity, then the one with the lowest number should be given preference, and steps should be taken to inform the parties that used the other OIDs. Duplicate OIDs issued by mistake should not be reassigned, and should be reserved indefinitely.
OIDs already assigned to one entity are never reassigned, including but not limited to cases of death, liquidation, etc.
Wherever OIDs are used, only full (complete) OIDs should be used (e.g. "1.3.6.1.4.1.23153.1000.1.1", not "1.1" or "1"). Although it costs a few extra bytes, this makes an OID immediately recognizable as such, and helps maintain long-term integrity and order. Also, it makes it possible to combine references with other projects that use OIDs, and for other projects to link to items which are the result of this Amiga-focused effort.
Public Domain
The information associated to each OID includes at least a short item "title", and, if necessary, a minimum of information required to disambiguate it from other items. As part of the Amiga Cataloging Project, this combined set of essential identifying information is placed in the public domain. No copyrights may be claimed over this information, neither individually nor on the entire record or collection set.
Any other content added by third parties to an item (e.g. extended description) may be subject to copyrights or other terms as desired by such contributors.
Natural Persons, Legal Entities and Organizations
This subtree includes all people, companies, and other organizations (e.g. demo groups). It also includes animals (e.g. Jay Miner's dog Mitchy), fictitious characters (e.g. Joe Pillow) and pseudonyms of otherwise unknown entities (e.g. Questionado Mysteriouso).
Every company that has legal entity status per local legislation definitely has its own OID. If a company is simply renamed, the OID does not change, because it remains the same legal entity. Other corporate transformations are usually covered in great detail by local legislation, which specifies whether the legal entity remains the same (e.g. for issues of responsibility, etc.) or not. Care should also be taken when cataloging different companies and individuals having exactly the same name (the original Amiga Forever catalog includes examples of both).
Similarly, for people, changes in name or gender do not affect the OID.
In case of indeterminacy due to duplication (e.g. transporter accidents, multiple restores from the same backup) additional OIDs should be issued to the new entities on a first-need first-serve basis.
Hardware
This subtree serves the purpose of cataloging all Amiga (and some non-Amiga) hardware.
For Amiga computers and consoles, preference should be given to assigning OIDs to unexpanded models. Peripherals and their own add-ons should be cataloged separately.
OIDs referencing aggregations of different (already-cataloged) hardware components may be assigned on a case by case basis, with great care to avoid introducing unnecessary complexity. This could be the case, for example, for Amiga systems consisting of an existing model and expansion board, and sold with a new model number in certain markets. In any case, care should be taken to catalog the individual components first, and to reference their OIDs in the new definition.
Given the possibility of future uncertainty about the exact model referenced by an OID, it is recommended to consider adding a specific product serial number to the item description, so as to have an unambiguous reference.
Pure ROM chips should be considered software, and not be cataloged as hardware. Identical hardware with different ROM versions should preferably maintain the same OID, and reference a different software version OID instead.
Prototypes can and should get their own OID under this subtree, unless they are identical with the final version, in which case they share the same OID.
This information is also used to define configurations in XADML files.
Official Publications and Data
This subtree is used to catalog all public and final released of software, books, CDs, compositions and other publications.
Hardware is in general excluded from this subtree, but ROMs are included.
Beta releases, and in particular software marked by Commodore as "Alpha", "Beta", "Gamma", as well as other non-public or interim releases of software should not be included in this subtree, but rather in the dedicated subtree (1.3.6.1.4.1.23153.1000.4). In case of doubt, items should be included in this subtree, unless explicitly marked "beta" or with a similar notice.
Individual issues of magazines and other periodicals should have their own OID. Before an OID is assigned to a specific issue, an OID should, if possible, be assigned to reference the series as a whole, and that OID should be referenced in the description of the specific issue. This does in general not apply to software released in multiple versions, but it may be applied on a case-by-case basis where the series needs to be referenced as a whole. The possibility of creating sub-subtrees is currently being considered for well-known series of magazines and software (e.g. Aminet CDs). Proposals are welcome.
For publications, if possible, the ISBN or ISSN number should be included in the item description.
For software, if possible, and in particular when referencing ROMs and titles which consist of one or more floppy disks or images thereof, it would be desirable to reference the CRC32 of the individual image(s) in the item description.
This information is also used to define configurations in XADML files.
Interim Publications and Data
This subtree is similar to the one dedicated to official publications and data (1.3.6.1.4.1.23153.1000.3), only that it serves the purpose of cataloging beta releases, unpublished works and other interim releases.
"Alpha", "Beta" and "Gamma" versions of the Amiga operating system and all software marked as beta fall under this subtree. A software version number beginning with "0", instead (e.g. "0.8.8"), should in general by itself not be used to imply beta status.
Delegated Maintenance Organizations
Having completed a first cataloging pass for the internal needs related to the Amiga Forever preservation project, and recognizing that many highly skilled Amiga enthusiasts and organizations exist which already specialize in topics covered by our effort, we are looking to delegate authority for the individual catalog subtrees.
Delegated entities will be listed on this page and in public OID registries.
If at any time an organization wishes to withdraw from the project, or is otherwise unable to keep maintaining the data, the subtree it maintains will become available for reassignment. The existing data set snapshot will be published as a text file or in a similar format, and transferred to the new maintainer.
Related Links
ARTICLE INFORMATION
Article ID: | 15-115 |
---|---|
Platform: | All |
Products: | Amiga Forever, C64 Forever |
Additional Keywords: | None |
Last Update: | 2008-10-30 |
It is safe to link to this page.