Mage-3.0とMagento Open Sourceの行方

Adobe Commerce / Magento Open Source 2.4.9のリリースに遅れること5日。
Mage-OSプロジェクトでも新バージョンがリリースされました(リリースノート)。

今回はMagento Open Source 2.4.9とMage-OS 3.0の違いを踏まえつつ、オープンソースソフトウェアとしての広義のMagentoの行方について考えてみたいと思います。

Mage-OS 3.0「だけ」のハイライト

Mage-OS 3.0はMagento Open Source2.4.9をベースに開発されているため、Magento Open Source 2.4.9で行われた改修はすべて含まれています。
ここではMage-OS 3.0に「だけ」含まれる内容を取り上げたいと思います。

インタラクティブインストーラー

Mage-OS 3.0からは、"bin/magento install" コマンドで対話的にインストールができるようになりました。これまではすべてのオプションを"bin/magento setup:install"コマンドで一気に入力していたのですが、Mage-OS 3.0からは少しインストールが簡単になりました。もちろん、"bin/magento setup:install"も引き続き利用可能です。

RMA(返品保証)

Adobe Commerceには付属する機能ですが、こちらはMage-OSプロジェクトで独自に実装された、 "mage-os/module-rma"というエクステンションで提供されます。
顧客側からの返品のリクエストや運営側での状態管理・コミュニケーションができる機能です。

管理者アクションログ

こちらもAdobe Commerceには付属する機能です。 "mage-os/module-admin-activity-log"というエクステンションで提供されます。
管理者の操作ログを自動で残す機能で、監査証跡として利用できるものになっています。

管理画面フッターに「アップデートが利用可能」の表示

新リリースがある場合に「Update available: X.Y.Z」リンクをフッターに表示します。バージョンチェックはComposerリポジトリを直接確認する形でバックグラウンドで実行されます。
設定で無効化が可能です。

Minimal Distributionの提供

"mage-os/product-minimal-edition" という名称で、必要最小限な機能だけをパッケージ化したバージョンとしてリリースされています。
このバージョンは約98個のみのモジュールで構成されており、それ以外のモジュールについては個別にインストールが必要となっています。
例えば、Page BuilderやInventory、GraphQLが不要なプロジェクトにおいては、これらを最初から除外することが可能です。

開発者ツール

Mage-OS 3.0では、コミュニティが開発した以下の4つの開発者向けツールを同梱しています。

  • n98-magerun2 : 著名なMagento CLIツール。sys:info、cache:flush、db:console、dev:consoleなど多数のコマンドを実装。
  • Ignition for Magento : developerモードの例外でスタックトレース・リクエストコンテキスト・環境情報・エディタジャンプリンクを表示。本番では自動無効化され内部情報を漏らさないよう配慮
  • Varnish Extended : 本番でのVarnish運用向けの最適化、より細かいキャッシュ制御、運用ツール。適用にはアップグレード後にVCLの再生成・更新が必要。
  • Custom Admin Logo : テーマに触れずに管理画面とログイン画面のロゴを差し替えられる(Stores  > Configuration > Advanced > Admin > Admin Logo)。

Lazy Object Loading

PHP8.4以降を利用している場合、システムがコンパイル済みの場合にレスポンスを向上させるための機能として、Lazy Object Loadingが利用できるようになりました。
この機能はデフォルトで有効になっているため、無効化したい場合はenv.phpで "lazy_object_loading_disabled"を"true"にする必要があります。
または、クラス単位のPHPDoc定義に "#[NonLazy]" 属性を追加することで除外ができます。

なお、PHP8.3ではこの機能は利用できませんが、デメリットも特にありません。自動的に無効になります。

Adobe Analyticsモジュール群の削除

Adobe Analyticsは標準でバンドルされないように調整されました。
使う人にとっては有益ですが、使わない人にとってはコード量が増えてパフォーマンスが低下する遠因になるため、必要な人だけが入れたら良い形にするのは妥当ですね。

PHPのFTP拡張が不要に

Magento Open Sourceでは必須ですが、Mage-OS 3.0以降では任意になりました。

Magento_Backupモジュールの削除

"bin/magento setup:backup" コマンドは廃止されました。環境に合わせたバックアップ方法の検討が必要です。

このコマンドでバックアップをしたことはないので、「まだあったのか・・・」という感じですね。tarコマンドやgzipコマンド、mysqldumpやxtrabackupを使うほうが多いのではないでしょうか。

同梱エクステンションの更新

Mage-OSにだけ同梱されている以下のエクステンションが更新されています。

  • Page Builder Widget 1.4.1 → 1.5.0(PHP 8.5対応と入力サニタイズ強化、previewTemplatesのXMLノードマージ不具合修正)
  • Page Builder Template Import/Export 1.8.0 → 1.8.1(Consoleコマンドexecute()のint戻り値型を修正)
  • その他の独立バージョン管理アドオン(Automatic Translation、Inventory Reservations Grid、Meta Robots Tag、Theme Optimization、M137 admin theme)は2.3.0から変更なし

既にMage-OS 3.1がリリース済み

6月18日付けで、Composer root-updateプラグインの差し替えと、16件の不具合修正が行われたMage-OS 3.1がリリースされています(リリースノート)。
これから導入や移行を行うのであれば、Mage-OS 3.1を選んだほうが安全ですね。

Mage-OS の将来とは

Mage-OSプロジェクトは、「Adobeに頼らずにMagento Open SourceのコードやComposerリポジトリの維持を行う」ことを最初の目的としています。

関係者もMagento1.x時代からの開発者が多く、「アプリケーションとしてのMagentoをどうしていくか」を考えているようです。
現時点ではMagento Open SourceとMage-OSは高い互換性が維持されていて、エクステンションもほぼ共用できます。

将来はわかりませんが、少なくともMage-OS側は

  • よりコンパクトなディストリビューション(Magento Open Sourceとは逆方向)
  • プラットフォームとしての安定度や開発者向けの利便性向上

を重視しています。
AI連携・対応といった機能はMage-OS Labの側で進行していて、利用したい人が意図的に導入するという位置づけになっています。
今後開発される機能についても、よほど有益なものは標準としてバンドルされそうですが、原則としてはすべてオプション扱いになりそうです。

フロント側テーマが抱える課題

ヘッドレス構成をとらない限り、現在のMagento(Adobe Commerce / Magento Open Source / Mage-OS)のフロント側のテーマはかなり古い構成のままです。
Adobe側はAdobe Commerce OptimizerやExperience Managerに寄せたいらしくあまり手を入れるつもりがないようです。

Mage-OS側は全面刷新をした新テーマを考えているようですが、現状確定になったものはないようです。
このあたりはそのうち大きな分岐点になる予感がしています。

Magento Open Sourceの行方

Mage-OS側がフォークしたMagento Open Sourceに対して色々と手を加えたり、エクステンションの形で新機能を提供しようとしているのに対し、Adobe側は明示的なロードマップを提示していません。これはAdobe Commerceにおいても同様です。アプリケーション本体ではなく、周辺サービスによる強化は次々とリリースされていますが、本体のアプリケーションについては大きな変更はありません。

Magento1.x時代からの開発者たちやコミュニティ参加者が危機感を抱くのも当然で、ここ数年の進化のなさは危険とも言えるレベルに達しています。
できればMage-OSプロジェクトの状況がAdobe Commerce / Magento Open Sourceに対してプラスの刺激となり、進化が再開してくれることを祈るばかりです。

いずれにしても、代わりの選択肢があるということはAdobe Commerce / Magento Open Sourceの利用者にとってはいいことだと思います。
今後もMage-OSからは目が離せそうにないですね。