<commit_before># Problem

To date, ANS has represented the external origin of content through two main traits: `owner` and `source`.  The `source` trait covers the technical point of ingestion or creation (CMS, external id, etc) and is (mostly) straightforward. The `owner` trait is more convoluted, but is most reliably used to store the technical name of a content repository owner (organization id).

However, there is also a need for data about the *legal* owner of a piece of content, including distribution rights and a general answer to the question of *who* entered a piece of content into the CMS. (This is the distinct from the question of *who authored the content* (`credits`) and *how the content was added* (`source`). Previously, this data has been haphazardly spread across `owner`, `source` and `additional_properties`. This has lead to confusion for users and conflicts for applications.

# Proposal

We propose that a new trait `distributor` be added to accomodate this use case and propose an implementation plan to phase out the previous locations of this data.

For backwards compatibility, we suggest *no changes* to the existing fields:
  * `owner.id`
  * `owner.sponsored`
  * `source.source_id`
  * `source.system`
  * `source.edit_url`
  * `copyright`

The following fields are to be *deprecated* and ultimately fall into desuetude:
  * `source.name`
  * `source.type`
  * `owner.name`

The following fields should be added:
  * `distributor.name` -- The human-readable name of the person or organization controls the distribution rights for a piece of content. E.g. Reuters, AP, Getty. *This replaces some previous uses of `owner.name` and `source.name`.*
  * `distributor.category` -- The category of distribution method, e.g. Staff/Wire/Feelance/Stock/Handout.  *This replaces some previous uses of `source.type`.*


## Example

```json
{<commit_msg>Corrects old source type field<commit_after># Problem

To date, ANS has represented the external origin of content through two main traits: `owner` and `source`.  The `source` trait covers the technical point of ingestion or creation (CMS, external id, etc) and is (mostly) straightforward. The `owner` trait is more convoluted, but is most reliably used to store the technical name of a content repository owner (organization id).

However, there is also a need for data about the *legal* owner of a piece of content, including distribution rights and a general answer to the question of *who* entered a piece of content into the CMS. (This is the distinct from the question of *who authored the content* (`credits`) and *how the content was added* (`source`). Previously, this data has been haphazardly spread across `owner`, `source` and `additional_properties`. This has lead to confusion for users and conflicts for applications.

# Proposal

We propose that a new trait `distributor` be added to accomodate this use case and propose an implementation plan to phase out the previous locations of this data.

For backwards compatibility, we suggest *no changes* to the existing fields:
  * `owner.id`
  * `owner.sponsored`
  * `source.source_id`
  * `source.system`
  * `source.edit_url`
  * `copyright`

The following fields are to be *deprecated* and ultimately fall into desuetude:
  * `source.name`
  * `source.source_type`
  * `owner.name`

The following fields should be added:
  * `distributor.name` -- The human-readable name of the person or organization controls the distribution rights for a piece of content. E.g. Reuters, AP, Getty. *This replaces some previous uses of `owner.name` and `source.name`.*
  * `distributor.category` -- The category of distribution method, e.g. Staff/Wire/Feelance/Stock/Handout.  *This replaces some previous uses of `source.type`.*


## Example

```json
{
{'fraction_non_alphanumeric': 0.080338266384778, 'fraction_numerical': 0.0, 'mean_word_length': 4.461760461760462, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3211575', 'n_tokens_mistral': 1035, 'n_tokens_neox': 977, 'n_words': 516}