
はてなキーワード:Mozillaとは
『「Mozilla/Firefoxの日本語コミュニティ解散」とかいうDramaについて知っておくべき2,3のこと』とかいうのが回ってきた。あまりにもひどい内容なので、あえてリンクにはしない。もし私がこういうタイトルで書くなら、という if を書いてみる。
など。今回解散したのはSUMO のコミュニティで、それ以外への直接の影響はない。また、SUMO もコミュニティの活動はないものの、今回の騒動以降も複数の個人が貢献している。なお、SUMO のアクティブな貢献者は 3 人よりも多い。例の記事では、gecko-l10n とSUMO の貢献者を足しても 2 人 (後から 3 人に訂正) としていたが、これは明らかな誤認。
(これを書いている私は幻の 3 人目、もしくは存在を消されたその他の貢献者かも)
他に影響がないなら安心、とはいかない。なぜなら、Mozilla はアクティブなコミュニティが解散する理由を作ったことになり、他のところでもこういう方針転換は起こる可能性を否定できなくなってしまうから。
まあ、Firefox、Thunderbird のリリース版は翻訳完了率がほぼ100% でBot が暴れる余地はなさそう、MDN では過去に検討されたが導入しないこととなった... など安心できる事情もある。
貢献者不足だけが原因ではないと思う。例えば、原文に新しい内容が追加された場合、それが句読点の修正でも最新の仕様に合わせるためのアップデートでも、翻訳者には「更新が必要」としか表示されない。作業が必要な順にトリアージできないので、修正は間に合わない。
Mozilla はBot の導入後に翻訳者に望む作業として、修正だけでなくUI 部分の翻訳を挙げている。Bot が記事を翻訳すると、Firefox などのボタンに書いてある内容を翻訳せず、英語のまま残す。Mozilla のコミュニティ担当者すら最初バグだと思ったらしいけど。どうやら、人類には刺身にタンポポ()のせる仕事は残るようだ。いや、独自の翻訳モデル作る前に、翻訳ファイルからもってくるBot を作ってよ。
Mozilla がもっと適切な支援をくれていたら、メンテできる記事はもっと多いと思う。
一部の貢献者の活動の恩恵の割合がかなり大きいことは否定できない。しかし、どこも複数人が活動していて、誰かが自分の撤退によってMozilla やユーザーを脅迫することはできない。本当に困った事態になれば、ライフステージの変化などで今は活動していない、古の貢献者たちが復帰することもあり得る。
コロナ以降、新規の貢献者獲得のためのアピール活動は低調になっていたと思う。しかし、MDN のメンバーがブース出展などを数年前から再開し、最近はgecko-l10n の人も一緒に出しているっぼいのでこのタイミングは残念。
なお、今回の件は事前の提案に反対意見がなかったからフォーラムへと書き込まれていて、暴走ではない。私はあの時点で今後も貢献を続けると決めていたけど、解散には反対ではない。Bot の合間を縫って貢献しつつ新しい翻訳者を育て、次の世代にコミュニティを引き継ぐなんて不可能なので、合理的な判断だと思う。
CC がある限り相手が自分の著作物を使用することを強制的 (法的) にやめさせることはできないけど、使用しないように要請することはライセンス上否定されないはず。もちろん、要請に応じる義務はない。私は、例の主張は要請に留まるものだと思っている。そのような要請もCC の理念に照らして好ましくはないし、SUMO を使用する第三者に対してならば私は絶対に許容できないけどMozilla に対してする分にはまあ。というか、そんなことは知っているはずの人だし、コミュニティとしてでなく個人の行動なので特に言うことがない。
あまりいい形で注目を集めている訳ではないけど、Mozilla やオープンソースの翻訳コミュニティに光が当たっているので参加する人が増えたらいいな。Mozilla関係だと毎月MDN のコミュニティが新規参加の人向けの会をやってるし、他のところでもいいので。メーリスとかSlack とかに入るだけでも何卒。
リアクションを見ていると、元リーダーとか、Mozilla 側の担当者とかを中傷するような投稿がちらほら。ほとんどは英語だけど、一部に日本語のものもあって大変悲しい。たとえ日本の貢献者を支持している内容でもMozilla のスタッフ個人の悪口を書いているものは見るに堪えないし、コミュニティ側の問題を指摘している意見にはうなずくものもある。だから、何も書くなとは思わないけどさあ...
ここに書いてあることは全部フィクションかもね。しらんけど。
MacOS とiPhone・iPad のユーザーにはその他より迷惑がかかるかも。ごめん。Bot がガイドラインに従っていないという問題の影響で、SUMO とFirefox などで表現が異なるものが若干存在する。日本語ではBot は一時停止しているっぽく (土日はBot も休むとかでなければ)、かなり近い将来に翻訳も含めて一時撤回する可能性はあると思う。また、活動を継続している貢献者は意外と多いので、誰かが修正するかも。それまでは困ったら原文を見てほしい。
各国の貢献者が活発に意見を述べている。こういう問題が海外や別のプロジェクトのコミュニティでは起こらないようにするために、徹底的に議論する必要があるはず。今回の自動承認は論外だけど、下書きとして活用する分には十分役に立つぐらいの精度ではあると思っているので、今度はコミュニティとしっかり話し合って役立つ形に改良してほしい。
今回の件で、Firefox やThunderbird の使用をやめるという声も聞いている。過去にも非英語圏のユーザーやコミュニティを蔑ろにするような決定は存在したけど、まだ相対的、総合的にはましだと思っている。私は使用も貢献も少なくともあと10 年は続けるつもり。SUMO の問題が解決することだけではなく、Mozilla自体の姿勢に何か変化があればいいと思う。
免責事項: めんどくさいからほぼ調べずに書くし、抜けてる話や間違ってる話もあると思う。
Mozilla系の日本語翻訳はmarsfさんとdskmoriさんの2人がメインでやってる (追記: 今確認したらひとりアクティブな人が新規参入してたので3人が正しかった)。
概ねSUMOはdskmoriその他全てがmarsfという棲み分けだが、お互いどっちの貢献もやることがある。
SUMOコミュニティ解散ってのはSUMOに関わる実質的な権限持ちはdskmori1人になりますって話かな?
正直、SUMOでメインで貢献してるdskmoriさんじゃなくてmarsfさんが文句言うんや?と疑問なんだけど、
Mozillaにとっては、SUMOとかいう誰もアクセスしてない限界集落サイトの話より、marsfさんがFirefoxのその他すべての翻訳を一手で担ってることが重要だよね。
「marsfさんがSUMOの貢献辞める」って言ったってそれ自体ではどうでも良いのだが、裏の意味は「俺の気持ち次第でFirefoxの翻訳終わらすことだってできるんだぞ」って警告と読むべきかもしれない。
SUMOはFirefoxのサポートサイトね。Firefoxの使い方に疑問が生じたときにみるところ。まあそういう用途で作られているというだけで、アクセスする人がいるのかいたって疑問だが。
想定読者は技術に疎いFirefoxユーザなので、「機械翻訳ならユーザーが自分でやるから不要」みたいな意見は全くナンセンス。
Firefoxの内蔵翻訳機能はプライバシー重視という建前の翻訳API破産防止のため、ローカルのCPUで動く設計になってる。必然的にMicrosoftやGoogleの翻訳より精度がかなり落ちる。ゆえにFirefox使って普通に英語版SUMO読むより、公式で精度よい機械翻訳提供したほうが、ずっと良い体験を提供できるよね。
また対抗をGoogle翻訳のような無料クラウド翻訳と考えるとしても、サポートサイトに特化するようファインチューニングした機械翻訳エンジンを使えばHelpを助けてと訳すような暴走も抑制できるから、これも公式による機械翻訳提供に優位性はある。
なお、統計上アドオン一切入れてないFirefoxユーザーが大多数なことからわかるように技術に疎いFirefoxユーザってかなり多いからね。
Firefoxはラピッドリリースで機能がコロコロ変わるので、ある時点でベストな翻訳になっててもすぐ時代遅れになる。
dskmoriさんなどができる範囲で貢献してたとはいえ、品質維持できる量ではなかったので、SUMOには、例えばすでに存在しない機能についての記述を含む記事が普通にあった。
これは比較的アクセスありそうな重要ページでも同じで、私もさすがに見かねて貢献したこともある。
Microsoftのプロ技術者向けサイトはもともと有償の翻訳者が訳してたのを機械翻訳に切り替えたのでこれは単純に劣化なのだが、SUMOについてはごく少数の素人が自分にできる範囲で訳していたという点を踏まえる必要がある。もともとクオリティが高かったとは言えないし、機械翻訳の精度もここ2,3年で異常に上がってるから過去の機械翻訳騒動をもとに騒ぐのが正しいとも思えない。
今回の事件で思い出すのがLibreOffice日本語チームのDramaね。LibreOfficeの翻訳のメイン貢献者の某氏がある日、日本語チームのメーリスで「何でお前らはまともな仕事ができんのんや」と長文でブチ切れて、チーム脱退を宣言した事件。理念は立派でもすでに敗北の流れは決定的で新たな貢献者の望みは薄い、希望の見えないまま最後に残った1人として惰性で維持するしかない、辛い。
今回は、LibreOfficeの事件よりはヤバさだいぶ低めだけど、「翻訳ガイドラインに従っていない」「新たな人間の貢献者を育てることができない」とか、SUMOボランティア翻訳の実情を思えば「何言ってんだ、現実をみろよ」という感想にしかならないし、CCライセンスで貢献してるのに、AI翻訳の学習に使うなも意味不明。
marsfさんは、某xkcdで言うところの「感謝なしに2003年からデジタルインフラを維持してきたネブラスカ州の無名個人」に位置する人で、もっともっと感謝されてしかるべきではあるのだが、SUMOの長年の構造的な問題に対し抜本的な解決に打って出たMozillaに対して、さもコミュニティが現在も十分に機能しているかのように反論してるのがとても印象悪い。どう見ても分かってない人ばかりがMozillaを炎上させている。
20年感謝なしに維持し続けるのは幻想が必要なのはわかるが、Mozillaとしてはそういう個人に依存するのは不健全でしかないので、現在marsfさんがやっているFirefoxほぼすべての翻訳も翻訳会社による有償翻訳に移行すべき。
Permalink |記事への反応(12) | 21:44
Chrome「ManifestV2対応打ち切ります。現代のIEです。スパイウェアです。独禁法関連で他社に売却される可能性があり先行きも不安です。」
Safari「V2対応してるけど未実装だらけ、バグだらけです。Appleの端末でしか動きません。」
Firefox「V2に完全対応かつサポート継続します。サクサク軽快に動きます。Web Extension標準化を常にリードし爆速で実装してます。運営団体のMozillaは非営利法人ですが検索ロイヤリティや寄付などで年間7億米ドル以上の収入があります。iOS版Firefox(Gecko搭載)リリースを待ち構えるフットワークの軽さもあります。」
ワイはRethinkDNSを使ってるやで。
アプリ単位でブロックするドメインを変えられるから、特定アプリでは動かすために仕方なく広告系ドメインにアクセスさせたとしても、他のアプリではブロックしたまま使えるぞ。
システム全体で共有されてるDNSひとつでブロック設定するのは限界あるだろ。
まあ、iPhoneだとRethinkDNSみたいなことはできないからAndroidであるだけでかなり恵まれてるがな。
あと、RethinkDNSはMozilla BuildersMVP programというMozillaに認定されてファンディングされてるOSSプロジェクトなので、プロジェクトとしても信頼性が高い。
他のRethinkDNSみたいな優れたプライバシーツールを知りたいなら、Privacy Guidesをチェックするのは基本やぞ。
Privacy Guidesはそれ自体がコミュニティーによってオープンソースで管理されて、一貫した基準に則って選定されているから信頼性が高いんや。
ブラウザの仕様をMozillaのドキュメントを読めば体系的に学べるという話をしているときに「ブラウザはMozillaだけじゃない!」とか言うのって抽象的思考が足りないよなぁ
技術ってのは抽象化の上で成り立ってるし、ブラウザなんてのはある程度の規格の上であるんだから、ドキュメント読んどけば他のブラウザも似たような動きをしてるってことぐらいわかるよね
かなり情報量あるぞ言っとくけど
https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work
子供に使わせるブラウザや検索エンジンを気にするってのは非常にはてなー的な行動だな、と思うんだが、もしハテサならばBrave を使うというのは違和感がある。
Brave を起業したCEO の Brendan Eich は同姓婚反対派として献金した過去があり、それが理由で古巣のMozilla でのCEO 職を11 日で追われたというのを知らないのか?
まあ、オレは同姓婚に反対でも賛成でもどっちでも良いけどChrome orFirefox + uBlockOrigin の方が優秀なのでChrome orFirefox + uBlockOrigin を使ってるぞ。
https://en.wikipedia.org/wiki/Brendan_Eich#Appointment_to_CEO_and_resignation
こんます~
2023年も残すところわずかとなりましたが、皆様方におかれましてはいかがお過ごしでしょうか。
一年間の振り返りなどはされましたでしょうか。
2423件の日記を綴っており、
頂いた総ブクマ数は1893、総トラバ数は1060となりました。
本年も大変お世話になりました。
最期に、ポンコツの私がChatGPTの手となり足となり作成した増田集計コードを掲載します。
各日記のURL、タイトル、投稿日時、文字数、被ブクマ数、被トラバ数を取得しCSVファイルに出力するものです。
お暇な方はお使いください。
それではよいお年をお迎えください。
import requestsfrom bs4 import BeautifulSoupimporttimeimportcsvimportosimport re#ログインURLlogin_url = 'https://hatelabo.jp/login'#ログイン情報login_data = { 'key': 'あなたのユーザ名またはメールアドレス', 'password': 'あなたのパスワード', 'mode': 'enter'}user_name = 'あなたのユーザ名'#User-Agent ヘッダー(例:Google Chrome)headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT10.0;Win64;x64) AppleWebKit/537.36 (KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}#セッションを開始session = requests.Session()#ログインresponse = session.post(login_url, data=login_data, headers=headers)print('login',response.status_code)# 集計データitem = { 'url': '', #URL 'title': '', #タイトル 'datetime': '', #投稿日時 'characters': '', #文字数 'bookmark': '', # 被ブクマ数 'trackback': '', # 被トラバ数}#CSVファイル名output_file = 'masuda_output.csv'#CSVファイルが存在しない場合はヘッダーを書き込むif notos.path.exists(output_file): withopen(output_file, 'w', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writeheader()# 集計page_start = 1page_end = 3for i in range(page_start, page_end+1): # 待機time.sleep(3) #増田一覧取得 page = session.get(f'https://anond.hatelabo.jp/{user_name}/?page={i}')print(page.url) # 応答のHTMLをBeautifulSoupで解析 soup = BeautifulSoup(page.content, 'html.parser') entries = soup.find_all('div', class_='section') for entry in entries: header = entry.find('h3')timestamp = header.find('a').get('href')[1:] item['url'] = 'https://anond.hatelabo.jp/'+timestamp item['title'] = header.get_text()[:-1] item['datetime'] = f"{timestamp[0:4]}/{timestamp[4:6]}/{timestamp[6:8]} {timestamp[8:10]}:{timestamp[10:12]}" footersection_text = entry.find_all('p')[-2].get_text() item['characters'] =len(entry.find('p').get_text().strip(footersection_text)) item['trackback'] = int(re.search(r'92;((.*?)92;)', footersection_text).group(1) if re.search(r'92;((.*?)92;)', footersection_text) else '') if item['title'] == '■': item['title'] = entry.find('p').get_text().strip(footersection_text)[:35] # 待機time.sleep(3)bookmark_page = session.get(f'https://b.hatena.ne.jp/entry/button/?url=https%3A%2F%2Fanond.hatelabo.jp%2F{timestamp}&layout=basic-label-counter&lang=ja') soup_b = BeautifulSoup(bookmark_page.content, 'html.parser') item['bookmark'] = int(soup_b.find('a', class_='count').get_text()) #CSVファイルに追記 withopen(output_file, 'a', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writerow(item)
(追記)
わー。ごめんなさい。文字が何か所か変わっていました。
92; → \