SEUの提供を止めるべきか、続けるべきか、それが問題だ
IBMは、SEUの提供を止めるべきなのでしょうか。これは、Liam Allan氏がRyverで投げ掛けた素朴な疑問です。その問いに対して数多くの回答が寄せられ、IBM i エコシステムでのレガシー テクノロジーの使用に関して、そしてIBMが新しいテクノロジーを採用するよう顧客に強いるのをどの程度まで受け入れられるかという点に関して、はっきりと見解が分かれることが明らかとなりました。
IBMのSEU(Source Entry Utility: 原始ステートメント入力ユーティリティ)が、今もIBM i の世界で広く使用されていることは紛れもない事実です。統計データを確かめたわけではありませんが、少なくともアプリケーション開発またはプログラム保守作業の一部では、今でもIBM i 開発者の大半がグリーンスクリーン開発ツールを使用している形跡はあるようです。SEUと、レガシーの相棒であるPDM(Program Development Manager: プログラム開発管理機能)を使用している割合は、75%以上と言われています。
IBMは、長年、新機能によるSEUのアップデートを行っていませんが、それでもこのユーティリティをオペレーティング システムに付属させ続けているため、今でも使用されているのは当然の成り行きです。SEUおよびPDMのユーザーがRational Developer for IBM i (RDi)へ移行するとしたら、IBMとしては大歓迎でしょう。RDiは、RPG、COBOL、CL、およびその他のILE言語を書いて編集するためのJavaベースの統合開発環境(IDE)です。しかし、IBMに代ってRDiの開発を手掛ける Fortra 社(旧HelpSystems社)の最新のIBM i 市場調査によれば、RDiを使用しているのは、IBM i ユーザー ベースの4分の1に満たないようです。
RDiは、特有の問題をいくつか抱えており、RDiユーザーと反対派の間で、それぞれの感情を刺激しています。IBMが、ブラウザ ベースの開発ツール、 Merlinオファリングを開発することによって、RDiへの移行に対して抵抗感があることを認めたことは称賛すべきと言えるでしょう。そして、Allan氏によるCode for IBM i があります。これは、Microsoft VS Codeをベースにした オープンソースの開発ツール です。2022年にIBMの一員に加わったAllan氏は、誰かにCode for IBM i の世話と餌やりを頼もう としているようです。
そうすると、IBMの言わんとするところは明らかです。すなわち、IBM iでの開発には、何でもお好きなものをお使いください。ただしSEU以外で。
このコード エディターに向けられるすべての反感は、この質問に集約されるようです。すなわち、どうしてIBMは、SEUの提供を完全に止めて、コミュニティに他のツールを使用するよう仕向けないのでしょうか。6月にAllan氏が Ryver WebサイトでオープンソースIBM i ユーザーのコミュニティに対して尋ねたのは、まさにその質問でした。それに対する回答を通じて、様々なユーザーによる様々な見解が示されています。
IBM i の次のメジャー リリースからSEUを外すことについて、強い感情を表したユーザーが何人かいたようです。
「私は大賛成です」と、 CD Invest 社のオーナーで、Common Europe Advisory CouncilのメンバーでもあるKoen Decorete氏は記しています。「機能強化されなくなった古いものをそのまま残しておくことに私は反対です。こうして技術的負債が生まれるのです。一部の作業に今も使用しているのは、私のチームでも私ぐらいです。それを残して、使用し続けていると、古い終わったプラットフォームであるという印象を与えてしまいます。新しいツールを使用して前に進むべきです。」
「古いものの多くは取り除くべきだと思います」と、CD Invest社のソリューション アーキテクトで、 Common EuropeのプレジデントでもあるJuan Manual Alcudia氏は記しています。「O.S.から技術的負債を取り除くことは必須事項です。制限された状態でエディターを使用する必要がある場合に備えて、CL向けの代替の軽量エディターを用意しておくことはできるでしょうが、開発者向けというよりも、むしろシステム管理者向けです。」
ノースカロライナ州ヒッコリーの家具メーカー、McCreary Modern社のRyan Beckham氏は、強い賛意を示しています。「新しい技術およびツールを採用しようとしないことが、プラットフォームを行き詰まらせているとしたらどうでしょうか」とBeckham氏は記しています。「40年間、同じやり方でコーディングするつもりの開発者に合わせるのは、ばかばかしく腹出たしいことです。25年前に固定フォーマットRPGで書かれた、約12,000行の長さのアプリケーションが今でも大量にあります。当時は良かったのでしょうが、今の基準からするとひどいものです。最悪です。私たちのような顧客を動かす唯一の方法は、SEUの提供を止めることです。そうすれば、私たちはそれを感謝し、高く評価するでしょう。」
しかし、組織の中でSEUが極めて重要な役割を果たし続けている点に着目するIBM i ユーザーもいます。つまり、IBMがSEUの提供を止めることになれば、SEUが果たしている役割が欠落してしまうということです。
「IBMは、PDMと一緒に、SEUの提供を続けるべきです」と、長年にわたるIBM iコミュニティのメンバーおよびコンサルタントである、Jim Oberholtzer氏は記します。「私はVSCodeもRDiも使用していますが、どちらも私の顧客の間で広く受け入れられているわけではありません。ファイアウォールで、VPNとの接続、さらには内部でも一部の場所で止まってしまうことが何度もあります。ACSで必要なポートを開放することを顧客に納得してもらうことは、時には非常に難しく、厄介で、熟練の技が必要となります。SEUおよびPDMなしでは、私は、多くの現場でEDTF(中止の指示があるまで毎日)という状況で働くことになってしまうでしょう(考えるだけでゾッとします)。」
「私の意見は「現時点ではノー」です」と、日本の株式会社中部システムのシステム エンジニア、牛田吉樹氏は記しています。「日本では、DBCSをストリングとして扱います。5250エミュレーターでは、シフト コードをリアルに表現することができます。しかし、普通のテキスト エディターでは、シフト コードによって引き起こされる問題に悩まされることがよくあります。シフト コードの問題がすべて解決したら、答えは「イエス」になります。」
「私はまったくそう思いません」と、スイスのLogic IT-Services社のオーナー、Karl Fritz氏は記します。「私は普段、幅広いプログラミングでの第1の選択肢としてRDiやVSCodeやChatGPT(冗談です)を使用しています。しかし、Q&D(急場しのぎ)であれば、SEUは最強です。開発者の観点からは、そう考えるかもしれませんが、代替手段としても、無くすべきでありません。まったくひどい考えです。」
「私にとってSEUは、今でも重要なツールです」と、ドイツのIBM i開発者、Marks A. Litters氏は記しています。「もちろん、開発用にではありません。開発用には、RDi、MiWorkplace、VSCode(および、その他の多くの作業にはVisual Studio)を使用していますが、応急処置を行う必要があるときには、SEUは今でも非常に高速であり、どこを探さばよいか分っているときには、他のツールよりはるかに高速です。誰かが述べていたように、制限モードでも5250アクセスでは、常に利用可能です。何もインストールする必要はありません。」
SEUを手元に置いておくことと、他のツールへ移行することの、プラス面とマイナス面について述べるユーザーもいたようです。
「私は、SEUが大好きです。キーボードが古いダム端末のキーボードにマッピングされているので、まったく快適に操作できます。それが無くなるのは、正直、見たくありません」と、 Core-I Solutions社のJefferson "Jay" Vaughn氏は記しています。「しかし、もう何年もサポートされていないので、倉庫裏に処分されていなかったことが驚きです。」
「どのような形でも言語そのものの妨げになるというなら、賛成です。そのままだと、言語に対して継続的改善を行えない理由があるなら、すぐに無くすか読み取り専用にすることを支持します」と、IBM i開発者のJoseph Wright氏は記しています。「そうなる時までは、残っていても問題ないのではないでしょうか。ちょうど、Windowsの「メモ帳」のようにです。プログラムを書くツールとしては最新のIDEと比べて非力だからと言って、「メモ帳」を取り除くことはないでしょう。SEUも同じです。基準を定めるかどうかは、個々の開発者と彼らの勤務先の企業次第であり、VSCode、Merlin、またはRDiのような強力なツールを使用するかどうかは彼らが選ぶ必要があります。」
「馬を水辺に連れて行くことはできるが、馬に無理やり水を飲ませることはできない」と、Key Information Systems社(現在は Converge Technology Solutions社傘下)のシステム エンジニア、Steve Pavlichek氏は記しています。「SEUを外すだけでは、ベテランのRPGプログラマーを他の言語に乗り換えさせることはできません。進んで他の言語へ移行したい人にはツールが用意されていますが、前に進みたい意欲があるか、前に進むことが許されている必要があります。Merlinも解決策にはなりません。」
このプラットフォームでVSCodeスタイルの開発を推進するべく、おそらくどのIBM iコミュニティ メンバーよりも力を注いできたであろうAllan氏も、彼の意見に賛意を表しています。
「私はもちろん大賛成です」とAllan氏は記しています。「残念ながら、SEUはIBM iの妨げになっており、ユーザーが見るもの、そして見せられるものの大部分を占めていると思います。X年間そのように使用されているからと言って、問題ないとは限りません。RPGLEの新しいバージョンなどをサポートして、機能拡張可能だというなら(NeovimまたはEmacsのように)、考えも少し違ってくるかもしれませんが、そうではないのです。」
IBM i の導師であるJon Paris氏は、SEUが拡張可能でないというAllan氏の主張に異論を唱えます。「実際、SEUは拡張可能です。おそらく、ここで挙げられているエディターほどではないでしょうが、そうは言っても拡張可能ではあるのです」と彼は記します。「元々の質問に関しては、認めたくもありませんが、外してしまったら大変なことになるでしょう。」
もしかすると、プロプライエタリなエディターという鎖を解き放つ第3の道はあるのでしょうか。これは、 MobiGogo社のRichard Schoen氏によって提案されたアイデアです。
「SEUを機能拡張したいなら、オープンソースのSEUへと持ち込めるチャンスはあります」とSchoen氏は記します。「私は、まさに十数年間、ずっと機能拡張を求めていました。凍結されているなら、フォークさせて、オープンソースの拡張可能なバージョンのSEUを認めてくださいと言うだけです。OSEU、すなわち、オープンSEUです。」
「私は、むしろ無くなるのを見てみたいものです」と、IBMのオープンソース担当ビジネス アーキテクトのJesse Gorzinski氏は、Schoen氏の提案に反応しています。
Gorzinski氏は、この議論をTwitterに持ち出してアンケートを実施し、「SEUは、#IBMiから外されるべきでしょうか」と尋ねました。総投票数155票のうち、「まったくそう思わない」は約48%で、16.8%だった「まったくそう思う」とは大差が付きました。
SEUを巡っての議論は、語り草となっている後方互換性に関して、IBMが長年直面してきた難しい問題のちょうどよいショーケースとなっています。確かに、1980年代に行っていたように、今でもプログラミングすることができますが、それはあなたのビジネスにとって最善のことなのでしょうか。