geditからメンテナーがいなくなる
「gedit」からメンテナーがいなくなり、継続的なメンテナンスが困難な状況になっています。「gedit」は「Ubuntu」で採用されているデフォルトのテキストエディターです。
デフォルトでインストールされていることもあり「Windows」で言うところのメモ帳に相当する印象がありますが、「gedit」は非常に多機能なテキストエディターで、プラグインにより機能を拡張することもできます。
また様々な種類のコードのハイライト(強調表示)も可能です。
「gedit」をメインのテキストエディターとして利用しているユーザーも多いのではないでしょうか。
さて「gedit」の公式サイトを見ると、以下のように記述されています。
gedit is no longer maintained, the project is looking for new maintainers, see Apps/Unmaintained.
「gedit」からメンテナーがいなくなり、新しいメンテナーを探しているとのことです。
また上記のメーリングリストにて、この件に関しいくつか考えが投稿されています。
重要な課題
現在「gedit」は、プラグインが現在の「gedit」のバージョンと互換性があるかどうかチェックを行う仕組みがなく、互換性がないプラグインを有効にすることで簡単に「gedit」をクラッシュさせることが可能です。この点に関し、「libpeas」にバージョンをチェックする仕組みを提供するよう機能提案が行われています。
「libpeas」は「gedit」とプラグインを仲介するライブラリーです。
Tepl(Text editor product line)
「Tepl」は、GtkSourceViewベースのテキストエディターやIDEを簡単に開発できるようにするためのライブラリーです。「Tepl」は現在開発中のライブラリーです。
上記の提案が実現されれば、「gedit」のコア機能を「Tepl」に移植し、「gedit」のコア機能を再利用できるようライブラリーの開発が行われる予定です。
コードの再利用化を実現し機能をライブラリーに集約させることで、 コードは様々なアプリケーションで横断的に共有して利用できるようになります。
これは長期間利用されるソフトウェアのメンテナンスを容易にします。
またライブラリーを開発することで、コードは簡素化され、複雑さが改善され、整備されたドキュメントを提供でき、各コンポーネントを個別に(ユニット)テストを行うことも可能になります。
これはライブラリーを利用するアプリケーション側にも同様のことが当てはまります。
geditとTepl
もし「gedit」が何年もの間、開発やメンテナンスが行われないのであれば、「gedit」の機能を「Tepl」に移植し、「gedit」から重複する機能(コード)を大量に削除し、GUI部分のみ提供する方法(可能性)が考えられます。ただしこの方法では「gedit」が持つプラグイン向けのAPIの下位互換性を維持することが困難であり、プラグインが現在の「gedit」のバージョンと互換性があるかチェックする仕組みが必要になります。
メンテナンスを引き継ぐなら
「gedit」はC言語で作られています。また「macOS」をサポートするために、一部で「Objective-C」も使われています。
一方でプラグインの多くは、「Vala」や「Python」で作られています。
そのためもし「gedit」のメンテナンスを引き継ぐなら、これら4つの言語の扱いに長けている必要があります。
(ただしここにはビルド環境で使われる言語は含まれていません。)
この先どうなる?
さて、メンテナンスする人がいないということは、「GTK+3」等「gedit」が利用しているライブラリーの仕様変更や変化に追従できなくなる、ということです。現状「GTK+3」は安定したライブラリーであり、メンテナーがいなくてもしばらくは問題なく利用できるでしょう。
もしかしたらライブラリーのアップデートにより一部の機能がおかしくなる可能性もありますが、それでもそれなりの動作は期待できるでしょう。
しかし今後ライブラリーに大きな変化が訪れれば、「gedit」は動作しなくなります。
(そもそもビルドできなくなる)