Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

emoji_license仕様 #10865

Open
noellabo opened this issue May 18, 2023 · 14 comments
Open

emoji_license仕様 #10865

noellabo opened this issue May 18, 2023 · 14 comments
Labels
🌌Federation The Federation/ActivityPub feature

Comments

@noellabo
Copy link
Contributor

noellabo commented May 18, 2023

Related to #10859

本件についてissueを分離します。

  • ライセンス設定されている絵文字を一覧表示するページをMisskeyで自動生成するようにする。
    • ひとまず人間用の情報を表示するところから始める。すぐできるはず。
    • /emoji_license, /emoji_license.json のようなパスを定着させると良い。実装を待たずにhtmlやjsonを置くだけで開始できる。nodeinfoや.well-knownも活用する。
    • 機械可読な情報を提供する(json)。最低限必要なフィールド定義を1.0仕様として早期に確定させておく。自動化を促そう。
  • 絵文字を登録するオペレーター(サーバ管理者やロールを与えられている人)が、ライセンス一覧ページを参照してから登録する、というフローを定着させる。リモートサーバにクレームする際も『Misskeyには絵文字のライセンスページあるから必ず見て』と言えるようにする。(ここがキモ)
  • 機械可読な情報になっていれば、連合先から、ライセンス不明な絵文字の探索をかける仕組みを構築可能になる。登録型のリポジトリより、クロール型の方が好まれるのでは。一括インポート等でライセンス情報が失われているデータは、探索できないとオリジナルがわからない。初出が重要になるので、権利者情報と合わせて日時や作成経緯が参照できるとよい。
  • 同様の習慣をFediverseに定着させる。定着すれば、ライセンス一覧ページをMastodonやPleromaも生成するようになる。

既に困っていて早期に実効性を確保したいなら、こういう仕組みの構築を始めたらいいんじゃないかな。
その上で、絵文字仕様の拡張やその連合なども平行して進める。

プロダクトやサーバ運営側でここまでやっておけば、あとは人間同士で解決できる。

Originally posted by @noellabo in #10822 (comment)

@tamaina
Copy link
Contributor

tamaina commented May 18, 2023

絵文字にライセンステキストをぶら下げて、インポート時には必ずポップアップで表示する、ぐらいの実装でいいと思っていた

(現状Misskeyでは、カスタム絵文字一覧で絵文字クリックしてメニュー表示→詳細でライセンスを閲覧できる)

@syuilo
Copy link
Member

syuilo commented May 18, 2023

リモート絵文字はライセンス見れない

@tamaina
Copy link
Contributor

tamaina commented May 18, 2023

一般ユーザーがリモート絵文字一覧を見るすべがないのか

@tamaina tamaina added the 🌌Federation The Federation/ActivityPub feature label May 18, 2023
@noellabo
Copy link
Contributor Author

たたき台用サンプルです。

人間が読む用エントリ(html)
https://misskey.noellabo.jp/emoji_license

プログラム用のエントリ(json)
https://misskey.noellabo.jp/emoji_license.json

生成器
https://github.com/noellabo/emoji_license_generator

のえすきーで、カスタム絵文字のライセンス情報に入力した内容をデータベースから拾い、htmlとjsonを生成したものです。

  • 全ての絵文字について生成するのではなく、ローカルのライセンス記入したものだけを扱います
  • 記述ルールから可否を判断する例を含めています

@mei23
Copy link
Contributor

mei23 commented May 18, 2023

明記するならIPTCメタデータに埋め込むとかでいいんじゃないかしら
https://developers.google.com/search/docs/appearance/structured-data/image-license-metadata?hl=ja#iptc-photo-metadata

元々DBとかAPで独自にライセンスフィールドとか作らなくても
ライセンスがある場合はあらかじめ画像に埋め込んでもらうことにして
IPTCの該当フィールドは消さないようにして
コピーとか管理時に表示するとかでも良かったかも。

@kanasaki15
Copy link

元々DBとかAPで独自にライセンスフィールドとか作らなくても
ライセンスがある場合はあらかじめ画像に埋め込んでもらうことにして
IPTCの該当フィールドは消さないようにして
コピーとか管理時に表示するとかでも良かったかも。

それだと見ない人がいて意味無いのでは?と思います

@acid-chicken
Copy link
Member

明記するならIPTCメタデータに埋め込むとかでいいんじゃないかしら

https://developers.google.com/search/docs/appearance/structured-data/image-license-metadata?hl=ja#iptc-photo-metadata

元々DBとかAPで独自にライセンスフィールドとか作らなくても

ライセンスがある場合はあらかじめ画像に埋め込んでもらうことにして

IPTCの該当フィールドは消さないようにして

コピーとか管理時に表示するとかでも良かったかも。

それこそ元は JSON-LD なので規格のブレをあまり心配せずにそのまま AS で扱えそう

@KawaneRio
Copy link

明記するならIPTCメタデータに埋め込むとかでいいんじゃないかしら https://developers.google.com/search/docs/appearance/structured-data/image-license-metadata?hl=ja#iptc-photo-metadata

元々DBとかAPで独自にライセンスフィールドとか作らなくても ライセンスがある場合はあらかじめ画像に埋め込んでもらうことにして IPTCの該当フィールドは消さないようにして コピーとか管理時に表示するとかでも良かったかも。

メタデータをカスタム絵文字ゑもじ画像がぞう直接そのまま埋め込むembedするのには大賛成だいさんせいだが、IPTCはたしかgifに未對應みたいおうなので、可能かのうであればXMPなどを檢討けむたうしていただきたいかも...

あと...

このけんくゎんしては めうるみ@mewl@mewl.me @m-hayabusa 殿どの召喚せうくゎんしたいかも...

@noellabo
Copy link
Contributor Author

手を動かしてみてわかったこと

  • コピーの条件は、許可(allow)、拒否(deny)、条件付き(conditional)で足りる
  • 条件付きについては、人間が説明を読んで理解するもので、運用上はここがキモ
  • ハイテク(画像埋め込みや連合の拡張)で解決しようとすると、実装の足並みが揃い更新が行き渡るのを待たねばならず、実効性が薄いので、非技術者がローテクで解決できる枠組みをつくるのを急ぎたい
  • 試作した生成器を少しマシにするだけでも十分機能する感じがする
  • Misskey本体に、絵文字管理する人が設定できる、許可・拒否・条件付きのフラグが欲しい
    • エンドポイント /emojis/:name から得られるActivityPub用のオブジェクトに、上記フラグとライセンステキストを出力して欲しい
    • ライセンステキストからフラグを抽出するテストをしてみたが、あまり具合がよくなかった。別がよい

@mei23
Copy link
Contributor

mei23 commented May 18, 2023

それだと見ない人がいて意味無いのでは?と思います

コピーとか管理画面に表示すると言っている

@mei23
Copy link
Contributor

mei23 commented May 18, 2023

そもそも、ライセンスフィールドの存在を知らない実装がコピーし放題側と認識してしまう仕様は良くないと思ってて
ライセンス付きの絵文字を配信する際は、現状のEmojiとは違う表現で配信するようにして
未対応実装にとってはライセンス付き絵文字は存在しないものと認識されるみたいにできないかなと。

パブリックドメインなものを配信するとき (現状の表現と同じ)

type Emoji
name: foo

ライセンスがあるものを配信とき

type: LicensedEmoji
name: foo
ライセンス情報
:

@noellabo
Copy link
Contributor Author

noellabo commented May 19, 2023

まあこれはよくある、あるある話だと思うんだけど、絵文字をスタンプみたいにする方向性が間違ってるんだと思うよ。やりたくなるんだけどさ。Mastodonの話をすると、絵文字ファイルサイズうんと小さかったり、表示サイズが小さくて正方形固定だったりするけど、どう考えても文字程度のものしか想定してないもん。もっと〜できるようにしようぜ、って規制されているサイズを大きくしたり、横長とか可能にしたら、意味が変わってくる。そういう、設計上の制限を取り払っていくと、意味が変質してくる。その帰結かな。

私も、権利が伴うもの(もっといえば、お金をとれるもの)は、たとえばスタンプとして別仕様にするべきだと思うよ。

@noellabo
Copy link
Contributor Author

めいめいの提案してくれたような、未対応実装には見えない絵文字仕様を新設するのがいいかもね。

既存の絵文字の仕組みをあまりいじりたくないなら、逆にこのissueで提案しているものの重要性が高まると思う。

@acid-chicken
Copy link
Member

Mastodonの話をすると、絵文字ファイルサイズうんと小さかったり、

マークアップもリアクションもないので妥当

表示サイズが小さくて正方形固定だったりするけど、

これはバグを仕様化してしまったようなものなのでまぁ

どう考えても文字程度のものしか想定してないもん。

これは CJK 文字がそもそもスタンプみたいなものであるという根本的な文化の違いがある

という気持ちなので元々似て非なるものと言う方が近そう

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌌Federation The Federation/ActivityPub feature
Projects
Status: No status
Development

No branches or pull requests

7 participants