Tatoeba / tatoeba2

Tatoeba is a platform whose purpose is to create a collaborative and open dataset of sentences and their translations.
https://tatoeba.org
GNU Affero General Public License v3.0
697 stars 132 forks source link

Allow switching more sentences to CC0 #2989

Open cangareijo opened 2 years ago

cangareijo commented 2 years ago

If a sentence is not original, but is linked to another sentence that's CC0, then it should be switchable to CC0. It should also be possible to mass switch such sentences.

Yorwba commented 2 years ago

This would have to be limited to sentences based on sentences licensed under CC0. Otherwise you could link any of your sentences to an existing CC0 sentence and then switch the license.

cangareijo commented 2 years ago

That's fine by me, to allow switching sentences that are not original to CC0, only if they were added to Tatoeba as translations of sentences that are now CC0.

profesyonal commented 6 months ago

This seems within my capabilities (deep breath), and I'd like to work on it. I'm in the process of figuring out what all is going on when the license is changed, and have yet to find out where exactly the check is performed for whether a sentence is original. If anyone happens to remember, feel free to let me know, but I'll keep looking.

Yorwba commented 6 months ago

@profesyonal The check whether the sentence is original is in SentencesTable.

I found this by looking at the way the QueueSwitchSentencesLicenseTask changes the license, which is by patching a Sentences entity, and that implies that the SentencesTable is involved, in particular the validation rules.

trang commented 6 months ago

Related: #1858

profesyonal commented 6 months ago

It's trickier than I thought - I have to learn a lot about CakePHP and CakePHP validation (I previously knew nothing). If anyone feels they can solve this quickly, please go ahead. Otherwise this is a fun learning experience for me, but I can get that with other issues, too.

trang commented 5 months ago

@profesyonal We can quite certainly reserve this issue for you. By the time someone else shows up to solve it, you might already be an expert with CakePHP 😅

If you need suggestions of easier issues, let me know. I can perhaps manage to find something that will give you the knowledge to solve this issue later down the road.