def is_copyright_model(instance, attribute, value):
    """Must include at least a ``rightsOf`` key, but not a ``source``
    key (``rightsOf`` indicates that the Right contains full rights to
    an existing Manifestation or Work; i.e. is a Copyright).
    """

    rights_of = value.get('rightsOf')
    if not isinstance(rights_of, str):
        instance_name = instance.__class__.__name__
        raise ModelDataError(("'rightsOf' must be given as a string in "
                              "the '{attr}' parameter of a '{cls}'. Given "
                              "'{value}'").format(attr=attribute.name,
                                                  cls=instance_name,
                                                  value=rights_of))
Must include at least a ``rightsOf`` key, but not a ``source``
    key (``rightsOf`` indicates that the Right contains full rights to
    an existing Manifestation or Work; i.e. is a Copyright).