We agreed today to model Actor as a concrete class above Person, Organization, and SoftwareAgent. And we left the door open to augmenting that model in the future. It would be helpful to have a common understanding of what problems remain to be solved.
My sense is that there are two orthogonal directions that aren't covered in today's model: 1) "Identity" as distinguishing uniquely-identified individual things from kinds of things, and 2) "Identity" as a legal concept distinguishing responsible (liable) from not responsible 1a: An individual person with DNA vs. a type of person (man, white man, old man) 1b: An individual organization (Acme Inc.) vs. kind of organization (corporation, LLC, club) 1c: An individual autonomous SoftwareAgent (a who) vs. a software product with many copies (a what) 2a: Can be sued (person, organization) 2b: Can't be sued (autonomous software agent) Using the word Agent instead of Identity means that we are modeling only Identities that are acting (creating elements, originating artifacts) but not the identical Identities that just passively have an email address or current location, or are on a membership list or a watch list. I think #1 is a MUCH more relevant characteristic of Identity than #2, and therefore that the parent class should be called Identity, not Agent or Actor. The fact that that an Identity's SpdxId appears in createdBy/originatedBy does not prevent the same Identity SpdxId from appearing in TaylorSwiftTicketHolders, whereas an Agent SpdxId isn't applicable to passive lists. I think #2 expresses a legal perspective, but the word Identity shouldn't be used just to distinguish suable entities (person, organization) from non-suable entities. To some extent that distinction is already blurred (who do you sue when a self-driving car causes an accident), but the law can already hold organizations liable for even non-Identity "whats" (e.g. guns) even when they work perfectly to do exactly what they are designed and advertised to do. If SPDX wants to model the distinction between suable and not suable, Identity should not be the name of the class that represents that distinction. Proposal: Name the parent of Person/Organization/SoftwareAgent "Identity". Name a class that encompasses just Person and Organization but not SoftwareAgent something else, like AgentWithLiability. If there is some reason other than legal liability to separate autonomous agents from people and organizations, please articulate it. Otherwise I'm clueless as to why Identity can't apply to all individually-identified entities. Dave -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#4957): https://lists.spdx.org/g/Spdx-tech/message/4957 Mute This Topic: https://lists.spdx.org/mt/96815530/21656 Group Owner: [email protected] Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
