-
Notifications
You must be signed in to change notification settings - Fork 97
Description
※日本語版は下にスクロールしてください※
Hello, this project has been forked due to an absent maintainer who has remained absent for over a year.
Problem
This project has not been updated in a year. That is a problem for packagers and maintainers of downstream software. @saitoha has gone missing, and no longer posts even on Twitter. Their last action seems to be assigning an issue to themselves in March 2020. This makes them absent for around one year and three months.
Maintainers have a right to disappear without notice, of course. Work on open source is volunteer. However, when it happens, the community of users must decide what to do. I believe enough time has passed for a fork. I nominate myself as lead maintainer, and the fork is at libsixel/libsixel. libsixel is a new organization for this effort, and @saitoha has been added also as a maintainer should they ever reappear. @dankamongmen has been added as a maintainer due to his stewardship of notcurses.
Fork status as of announcement
The fork is already 8 commits ahead of this repository, I merged the following 6 PR's:
- export
sixel_allocator_newto dll #151 (export sixel_allocator_new to dll libsixel/libsixel#2, author: @johnnychen94) — Very minor change, just making sure every function ininclude/sixel.happears in Windows dll; - Fix decoding of high-color sixel images when the palette changes. #147 (Fix decoding of high-color sixel images when the palette changes. libsixel/libsixel#1, author: @auppal) — I compiled and confirmed it indeed fixes img2sixel -I appears to be proken #61. I found the loss of
bgindexin certain functions somewhat troubling, but until there's an API for that I don't think it even matters. (cf. transparent pixels aren't elided from output sixel #149.) - fixed typo #142 (fixed typo libsixel/libsixel#3, author: @paulhfischer) — simple typo fix.
- Travis-ci: added support for ppc64le #140 (Travis-ci: added support for ppc64le libsixel/libsixel#4, author: @dthadi3) — fixes for Travis CI. Might be unnecessary given future plans, but merged anyway pending discussion.
- Support OR mode which is enabled by -O, --ormode option. #133 (Support OR mode which is enabled by -O, --ormode option. libsixel/libsixel#5, author: @arakiken) — Addition of so-called "ormode", referring to XOR. The name is indeed strange, but it seems to be the commonly accepted name. I read the Japanese blog post, and it seems to be a rare Sixel API extension supported on NetBSD. Since it's disabled by default, I didn't see a problem with merging it. I doubt most people will want to use it, but no reason to reject the work. The code seems fine and follows flow of the rest of it.
- add EXTRA_DIST for LICENSE files #129 (add EXTRA_DIST for LICENSE files libsixel/libsixel#6, author: @ttdoda) — Very minor change in what's distributed, adding license files. Should help Linux distributions.
Future plans
- To maintain an updated version of
libsixel, to respond to PR's in a timely manner, to consider PR's presented here as well as atlibsixel/libsixel. - To encourage the distribution of
libsixelin more Linux distributions, by having a maintained fork that will respond to security patches and issues. - To urgently fix transparent pixels aren't elided from output sixel #149 and munmap_chunk(): invalid pointer が発生する #29, supporting transparent pixels in the API. This is a personal need of mine, and much of my reason for doing this.
- To urgently fix security issue Unverified indexs into the array lead to out of bound access in fromgif.c:283 #136, so as to have the designation on us in NixOS by @dotlambda and @danieldk overturned.
Far future
- Consider rewriting in Rust.
Justification of my self-nomination
I nominate myself as maintainer because:
- just like @saitoha, I speak both Japanese and English, and can respond to issues in both languages;
- I have a real, continuing need for this library as a result of my effort to add libsixel support to the kitty terminal emulator;
- I plan to contribute large patches to fix the transparency and security issues;
Others who think they have some justification for being maintainer or collaborator in the new organization are welcome to comment. I'll likely add anyone who asks and has any significant contribution.
On the event of @saitoha's return
The community should discuss what to do, and I would recommend that the new GitHub organization still be used, and @saitoha still nominate co-maintainers if they're going to want to remain as lead. I can transfer ownership of the libsixel organization to @saitoha should he request it. This situation is untenable and cannot be allowed to be repeated.
日本語版
こんにちは、このプロジェクトは、1年以上も管理者が不在のため、フォーク(派生)されました。
問題
このプロジェクトは1年以上更新されていません。これは、下流のソフトウェアや管理者にとって問題ですね。@saitoha は行方不明になり、Twitter にも投稿しなくなりました。@saitoha の最後の行動は、2020年3月に自分に GitHub issue を割り当てたことのようです。つまり、約1年3ヶ月間、不在だったことになります。
もちろん、管理者には予告なしに姿を消す権利があります。オープンソースでの作業はボランティアのことである。しかし、そうなった場合、ユーザーコミュニティが何をすべきかを決めなければなりません。僕は、@saitoha の承認がなくても、フォークを正当化するのに十分な時間が経過していると信じています。僕は自分をリードメンテナに指名し、フォークはlibsixel/libsixelとします。libsixel はこの取り組みのための新しいGitHubの組織(Organization)で、@saitoha も管理者として追加されています(再び現れる場合)。また、notcurses の管理者である @dankamongmen も管理者として追加されました。
(発表時の時に)フォーク状況
フォークは既にこのリポジトリより8コミット進んでおり、以下の6つのPRをマージしました。
- export
sixel_allocator_newto dll #151 (export sixel_allocator_new to dll libsixel/libsixel#2, @johnnychen94 で) — 小さな変更で、include/sixel.hにあるすべての関数が Windows の dll に現れることを確認しただけです。 - Fix decoding of high-color sixel images when the palette changes. #147 (Fix decoding of high-color sixel images when the palette changes. libsixel/libsixel#1, @auppal で) — コンパイルして、確かに#61を修正していることです。特定の関数で
bgindexが失われているのがやや気になりますが、そのための API ができるまでは問題にならないと思います。(#149参照) - fixed typo #142 (fixed typo libsixel/libsixel#3, @paulhfischer で) - 一つの誤植の修正。
- Travis-ci: added support for ppc64le #140 (Travis-ci: added support for ppc64le libsixel/libsixel#4, @tdhadi3 で) - Travis CI 用の修正。将来の計画を考えると必要ないかもしれませんが、議論を待ってとりあえずマージしました。
- Support OR mode which is enabled by -O, --ormode option. #133 (Support OR mode which is enabled by -O, --ormode option. libsixel/libsixel#5, @arakiken で) - (XOR を参照する)いわゆる "ormode" の追加。確かに変な名前ですが、一般的に受け入れられている名前のようです。ブログ記事を読んでみると、どうやらNetBSDでサポートされている珍しい Sixel API の拡張機能のようです。デフォルトでは無効になっているので、マージしても問題はないと思いました。ほとんどの人が使いたいとは思わないでしょうが、この作業を拒否する理由はありません。コードに問題はなく、変更も自然に見えます。
- add EXTRA_DIST for LICENSE files #129 (add EXTRA_DIST for LICENSE files libsixel/libsixel#6, @ttdoda で) - ライセンスファイルの追加。配布物に関する非常に小さな変更です。Linux ディストリビューションの管理者達に役立つはずです。
今後の予定
※ libsixel の最新版を維持。
※ 不必要な遅延なく PR に対応。
※ セキュリティパッチや問題に対応するメンテナンスされたフォークを持つことで、より多くの Linux ディストリビューションへの libsixel の配布を促進すること。
※ #149 と #29 を緊急に修正し、API で透過色なピクセルをサポートします。これは僕が個人的に必要としていることであり、この作業を行う理由の多くはこれ。
※ @dotlambda と @danieldk による NixOS での「不安定」指定を覆すために、セキュリティ問題 #136 を緊急に修正。
遠い未来
- Rustでの書き換えを検討。
自薦の理由
自分を管理者に推薦する理由は以下の通りです。
- @saitoha のように、日本語と英語などを話すできるので、日本語・英語で問題に対応できる。
- kitty 端末エミュレータに libsixel サポートを追加する努力の結果、このライブラリを本当に継続して必要としています。
- 透過色とセキュリティの問題を修正するために、大きなパッチを提供する予定です。
他にも、新しいGitHubの組織で管理者/協力者になる正当性があると思う人は、コメントを投稿してください。尋ねてきた人で、重要な貢献をした人は誰でも追加するつもりです。
@saitoha が戻ってきた場合について
@saitoha が自分で要求すれば、僕は libsixel の組織の所有権を @saitoha に譲渡することもできられます。
@saitoha がリード管理者として残りたい場合は、libsixel という GitHub の新組織を引き続き使用し、共同管理者を指名することをお勧めします。僕は共同管理者にボランティアするんです。
このようなどうしようもない困難な状況を繰り返さないためにも、共同管理者がいることを強くお勧めします。