abartov / bybeconv

Project Ben-Yehuda's content management system.
https://benyehuda.org/
Other
10 stars 5 forks source link

Add more copyright statuses #209

Closed abartov closed 2 months ago

abartov commented 1 year ago

Beyond public-domain and by-permission there should be copyrighted and orphan, and perhaps also unknown.

Everywhere boolean logic is used in the codebase will need to be revisited to address these additional possibilities.

damisul commented 2 months ago

Hey, @abartov , regarding this ticket.

First step is clear: we need to drop existing copyrighted column from expressions table and add enum there. Just want to come to agreement about naming. How about if in expressions table we'll have integer column intellectual_property with values :

  enum intellectual_property: {
      public_domain: 0,
      by_permission: 1,
      copyrighted: 2,
      orphan: 3,
      unknown: 100
    },
    _prefix: true

So all existing records where copyrighted == false will be converted to 'public_domain' and all records where copyrighted == true will be converted to 'by_permission'. And if copyrighted is null then intellectual_property will be 'unknown'

abartov commented 2 months ago

Yes, sounds good to me.

Note that the Person and CorporateBody entities need a somewhat different distinction: public domain, permission for all works, permission for selected works, copyrighted, orphan, and unknown.

(This is helpful in that for people/CBs with permission for all works (or orphan), we can default to by_permission (or orphan) in any newly uploaded texts, whereas with permission for selected works (e.g. we have permission to republish 5 out of 43 books by this author), we have to set the status per text.

damisul commented 2 months ago

Ok, thanks for explanation, it makes sense.

A quick question. If I understand correctly, 'by permission' means copyrighted work we have permission for. But how is it different from 'copyrighted'? I assume we cannot publish copyrighted work unless we have permission. Will we have copyrighted works in DB at all in this case?

damisul commented 2 months ago

Hi @abartov , while working on this topic I faced one problem. It is not clear how incongruous_copyright report should work.

Let's suppose we have work with intellectual_property = orphan and amongs authors/translaters, etc. there are persons with public_domain, orphan and by_permission types.

Should such record be reported?

There are many combinations possible.

One possible solution is to narrow-down scope of this report and only check that if work has specific IP type, then all creators/realizer (and later involved authorities) should have same IP type.

But I'm afraid that in this case we'll have a lot of false alarms.

E.g. work is public domain, but translation or illustrations are copyrighted, etc.

Wdyt?

P.S. also please check my previous question. I really wonder if we should have 'copyrighted' status for texts in db. P.P.S you can check current progress here: https://github.com/abartov/bybeconv/pull/332 If you'll have a few spare minutes please consider adding missing hebrew translations