-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
モノレポ化を推進し、misskey.jsやmfm.jsなどをmisskey-dev/misskey/packagesに統合する #8168
Comments
将来的にMFMパーサが言語ごとに用意されることが考えられるし、 ただ、パーサの実装方法によっては全ての仕様を技術的に実現できる・できないがあるかなと思うから、 (mfm.js)実装の仕様 + (misskeyリポジトリ)MFMの仕様 |
mfm.jsはサードパーティでも使えるようにパッケージとしてnpmに公開する必要はある misskey.jsも同じ |
mfm.js、misskey.jsは言語ごとに実装が増えていくだろうから、 たとえば、仮にRustやPythonのmisskey.jsの移植実装が追加されるとなったら、 |
Misskeyがその時にRustやPythonを採用しているのであれば追加していいと思う(その場合はモノリポ自体適当でなくなっている気がするけど) Misskeyで使っていてMisskeyの仕様と密接に関わっているからモノリポに含めることで利益が生まれる、Misskeyで使っていないもののことは当然考えない Misskeyで使っていない実装はメンテ頻度も自然に下がってしまうだろうし 他言語の他の実装を作っても手に負えなくなるだけだと思うので考えないほうがいいと思う |
今まで通り公開する(なんでこんな疑問を持たれてしまったのだろうか… |
そもそもの話を言い忘れてた、申し訳ない。 |
ライセンスが別々なものを1リポジトリに入れると GitHub の LICENSE が See LICENSE file になってちょっとアレ |
って思ったけど今でもちゃんと出てなかった (何でだ?) |
I would see this as a disavantage (con) because there were problems with the Markdown documents in Crowdin. As far as I know this was the reason why it was moved into a separate repository. |
Ethereumのドキュメントを触ったときはあんまり不便さを感じなかった、UXは微妙だったけど あと、翻訳プラットフォームがCrowdinである必要はない気がする |
私的にはこのリポジトリは「Misskey本体」のリポジトリに保ちたいんだよね misskey.js、mfm.jsは入れても良いような気はするけど、それ以外は微妙 論点
|
後者 (翻訳機を使っているのですが、理解は正しいでしょうか?) |
(1)については「Misskey本体」派かも |
misskey.jsやmfm.jsのリリースは本体と同じタイミング・バージョンにした方がいいと感じた |
MFMの仕様に関しては別でissueを立てました。 |
このリポジトリをMisskey本体ではなくてMisskey全体とした方が開発効率の観点からは優れているからそのようにしようかな |
このリポジトリはMisskey本体とした方が良いように思います。 そしてmfm.jsやmisskey.jsはMisskeyの象徴的なプログラムの一部であり、かつSummalyやAiScriptなどの他のプログラムも含めると、Misskeyは高度に複雑なネットワークサーバーソフトウェアと言えるかと思います(ゆえにMisskey独自の様々な機能が光るのですが)。このため、私のような非コードコントリビューターはもちろん、ベテランではないコードコントリビューターにとってはどのプラグラムがMisskeyのどの部分で動いているのか分かり辛いところがあるように思います。特にベテランではないコードコントリビューターにとってはMisskeyの全てを理解するのに時間がかかるでしょうし、そういったコントリビューターが効率よく適切にコントリビュートするための環境としては、現状の様にmfm.jsやmisskey.jsなどが別リポジトリとして存在することが良いかと思います。また、しゅいろ氏のリポジトリにあるSummalyやAiScriptなども、misskey-dev下にそれぞれリポジトリとして存在するとより分かりやすいと言えます。(そういう意味ではMisskeyというソフトウェアとその上で走っているプログラムをスムーズに理解するための技術的ドキュメントが欲しい、とか思ってたりします)。 何より、過去にmisskeyからmfm.jsやmisskey.js等を別リポジトリに切り離す決断を行った以上、それを元に戻してもう一度多くの国内・海外のコントリビューターや開発者に周知させるには、misskeyが属するfediverseは投稿の拡散性が無い故に限界があり、多くのユーザーに浸透するには時間がかかるかと考えます。 misskey-hubについては、これは公式サイトであり主にユーザー向けのドキュメントサイトでもありますから、Misskeyというソフトウェアとは別個のリポジトリであるべきでしょう。 ちなみに、assetsについてはこのリポジトリに組み込んで問題ないかと思います。 |
開発されているプログラムの一部分を別リポジトリにコピーして、サードパーティ向けに配布するってやり方もたまに見る。 misskey-hubをMisskeyリポジトリに置くのは違う気がする |
アリだと思う。 misskeyというソフトウェアを開発する過程から生まれたプログラムとして、mfm.jsやmisskey.jsをサードパーティーに配布する。そして、それらを利用したソフトウェアやプログラムの開発をmisskey関係やそれ以外の領域での開発で利用してもらう。ただし、それらをちゃんと管理・開発するには現状のままではしゅいろ氏が3人ぐらい必要なので、それらの管理・開発に興味があるコントリビューターのさらなる貢献は必須。例えば、共同管理制にするなど。 配布する理由は3つ。 |
@4ioskd の理念には共感するし、このIssueはライブラリの公開を停止するとかそういう前提を覆すものではない(というのは先頭に追記しておいた)。 各ライブラリの結合を密にする(モノレポにする)か疎にする(別リポジトリのままにする)かはリーダーであるしゅいろの意思によるところが大きそう assetsが別リポジトリであるのは、ライセンスをAGPLにしたくなかったのでそうしたのだと思う |
前言った通りmisskey-hub、misskey-js、mfm-js辺りを含めたくなってきたけど、GitHubと連携してなんやかんやするサードパーティのサービス(codecovとかokteto)は、モノリポ構成に対応してないんじゃないかと思った(詳しくは調べてない) |
codecov? oktetoのモノリポ対応ってどんな感じなんだろう |
感覚的には、モノレポにして色んなものを1つのリポジトリに入れて上手くいくビジョンが見えない そもそもGitやGitHubが1つのソフトウェアのバージョン管理をするために設計されていて、そこに複数のソフトウェアを集約しようとするんだからね。それなりの工夫や試行錯誤が必要になる。 |
モノリポにするかどうかというのは、Misskeyとその周辺ライブラリ・ドキュメントを、1つのソフトウェアとして扱うか別々のソフトウェアとして扱うかの話だと私は思っている。 私は1つのソフトウェアにしたほうが上手く行くのではないかと思っている。 |
1つのソフトウェアにしてサードパーティ開発者にどれくらい受け入れられるかってところも疑問 |
モノリポにすればライブラリとMisskey本体の変更が同期的に行われるようになることが期待されるので、サードパーティ開発者にとってメリットしかないと思っている |
ちなみに私の意見はここで述べた内容から基本的には変わってない #8168 (comment) codecovとoketoについては詳しく調べていただくとして、、私としてはしゅいろ氏のこの意見に賛成する #8168 (comment) |
文章読むの苦手なので段落をこれの半分か3つぐらいに分割してほしい |
このリポジトリに集約したいモチベーションとしては、
↑に加えて、Misskey Hubにリリースノート追記するコミットを実際の変更のコミットと一緒に行える点 |
misskey hubへの変更だったらmisskey hubが、本体の変更だったら本体が立ち上がってくれたら良いなと思ったけど難しそう |
(リリースノートとドキュメントはMisskey本体で提供するべきじゃないかなぁと思っている) |
リリースノートについての私の考えは先ほど閉じたプルリクに書きました。 #8637 (comment) |
まあでも /api-doc や /mfm-cheat-seat はインスタンスのバージョン/独自実装依存なのでインスタンス側にあってもいいんじゃないって気はするけど (自分のいるところを見られるようにするといいねというのはそう; これはこのサーバー固有の情報ですよって警告でも出す?) |
may be related to #4128 |
しゅいろはsummalyを含めたくないらしい(?)けどsummalyこそ含めるべきだと思う |
賛成! >また、しゅいろ氏のリポジトリにあるSummalyやAiScriptなども、misskey-dev下にそれぞれリポジトリとして存在するとより分かりやすいと言えます。(そういう意味ではMisskeyというソフトウェアとその上で走っているプログラムをスムーズに理解するための技術的ドキュメントが欲しい、とか思ってたりします)。 |
Summary
せっかくモノリポ化したのだから次に挙げるようなリポジトリをこちらに統一すれば効率良い開発ができそう
(しゅいろ曰く「モノレポ風」なので厳密にモノレポではないかもしれない)
モノレポにしてもnpmへのライブラリ類の配布は継続されます。モノレポにすると、Misskeyのリリースと同時にライブラリが更新されたり、Misskey本体へのプルリクエストと一緒にライブラリの変更が付属したりするので、よりライブラリが本体の仕様に追従するようになるでしょう。
Suggesting Packages
1. mfm.js
mfmの仕様はMisskeyの仕様上重要なものであるにも関わらず、別リポジトリになっているが故にIssueや作業内容が分散し把握しにくくなっているので、リポジトリを統合したほうがよさそう
2. misskey.js
3. assets
misskey.jsとかmfm.jsを統合するならassetsも統合するのが妥当そう
4. summaly
misskey.jsとかmfm.jsを統合するならsummalyも統合するのが自然だが、summalyはMisskeyの使用に限定してないので微妙ではある
私の認識のsummalyの立ち位置はcafy(完全にMisskey外でも使える)とmisskey.jsの間ぐらい
5. misskey-hub
Pros
Cons
6. xev
xevくんに対して現役のパッケージであることの自覚を持たせる (joke)
The text was updated successfully, but these errors were encountered: