LPI-JAPANの鈴木敦夫氏に訊いたリベラルアーツとしてのIT教育とは
インフラストラクチャーのレイヤーに女性エンジニアが少ないという観点から、日本アイ・ビー・エム、レッドハットなどへのインタビューを行ってきた。今回はより初期の頃からオープンソース、Linuxを知るベテランのインタビューをお届けしたい。約1時間半に渡って初期のLinux、ファウンデーションモデルでのオープンソースプロジェクトのガバナンス、日本の教育制度まで幅広いトピックについて、LPI-JAPANの理事長である鈴木敦夫氏に語っていただいた。
鈴木さんは現在LPI-JAPANの理事長ということですが、そもそもLinux、オープンソースソフトウェアとの関係が始まった辺りまでさかのぼって紹介してくれませんか?
私は電通大を1980年に卒業して、当時のNECソフトウェアに入社したんですが、大型のマシンをやりたいって言ったらDIPSの開発に回されたんです。その後にEWS4800というUNIXのワークステーションの開発に携わりましたが、UNIXとの関わりはその辺りからですね。
UNIX自体の経験は大学の頃からで、当時東大の石田先生が持っていたPDP-11のUNIXマシンを使わせてもらうなどして、UNIXには触っていたんですね。EWS4800のOSの開発から始まってドライバーの開発、セキュリティ、マルチメディア周りまで、全体の統括をやっていました。
その後に「新しい事業をやりたい」ということでNESに戻ったんですが、なかなかやらせてもらえなくて、どうしようかと悩んでいた1998年頃にハロウィーン文書というのが出てきて。そこで社内で「これからWindowsとUNIXではどうなっていくのか?」みたいな議論があって、そこにUNIXを擁護する立場で呼ばれたりしてましたね。その時にLinuxについても説明した記憶があります。
その後に診療情報を入れるレセコンをLinuxベースで作ったり、メールの製品を作ったりしました。メールの製品をLinuxベースで作った時は、とにかくその頃のLinuxは何でもできちゃうので危なかったというのもあって、立ち上がったら専用のインターフェイスを出して、Linux自体には触れられないようなシステムにしてましたね。
その当時は基幹業務にLinuxを使うなんていうのは非常識で、Webのフロント部分とか情報系のシステムに使うべき、というのが私の考え方でしたから。その当時はNECにおけるLinuxビジネスの責任者みたいな立場でしたね。サポートから始めて製品を揃えること、これはつまりLinux上にポーティングする仕事も入ってますが、それとシステムインテグレーションをやって顧客向けのシステムを作るというのをやってました。
まだLinuxが出始めの頃ですね。
そうですね。当時のLinuxは言っちゃあ悪いですけど、ゴミでしたね(笑)。そして「これまで20年間やってきたことを全部なかったことにして、また最初からやるのかよ」って思いましたね。私からすればAT&TがやっていたSystem Vリリース4はとっても洗練されていて、コードもキレイで良いOSだったんですよ。それを脇に置いて、またゼロからやり直すっていうように感じていました。ただ、LinuxやUNIXというのは、コンピュータの基礎を知るためには凄く良い素材なんですよね。だからエンジニアを養成するためには必要だったと思います。当時だとメーカー系のUNIXもいろいろ出てきて、段々キレイなコードから余分なモノが付いてきて汚くなるっていうように捉えていたので、Linuxはそういう意味では良いOSでしたね。
いわゆるLinuxをビジネスにするという部分ではサポート、製品化、そしてシステムインテグレーションという3つの柱を中心にやってこられたわけですが、オープンソースソフトウェアとしてのLinux、コミュニティとしてのLinuxというのは鈴木さんにはどう見えていたんですか?
Linux自体の品質はまだ駄目でしたけど、コミュニティの意味はエンジニアの養育には非常に大きな意味があると思っていましたね。コンピュータを知るためにはLinuxは最適でした。そしてソフトウェアがオープンな形で開発されるというのも目の当たりにして「これはスゴイな」と思った記憶があります。
Linuxにはエンタープライズが使えるような機能は何もなかったけど、自由だけはあったということかもしれませんね。
結局、デバイスを繋ぐ、ドライバーを書くみたいな仕事をプロプライエタリな企業がやってもダメなんですね。そういうのはやりたいと思った人が自主的にやることで拡がっていくわけです。インターネットのようにいろいろなものが繋がる、IoTもそうですけど、そういうように共通のインターフェイスを定めてみんながそれを使ってソフトウェアを書くみたいなことは、オープンソースでないと不可能なんですよ。
ではここでちょっと別の質問をしたいと思います。日本のエンジニアがオープンソースソフトウェアに参加する、もしくはコミュニティを運営するとして、どうやったら上手くできるのか? これについて質問したいと思います。それぞれプロジェクトによってもさまざまで一概には言えないのかもしれないですが。
世界的にみても、上手く行っているオープンソースソフトウェアって数えられるくらいなんじゃないかなぁとは思いますが、私の考えでは一番大事なのは動機だと思うんですよね。その動機が他の人とも噛み合って上手くエコシステムが回り始めること、これですね。例えば、リーナス・トーバルズにとってみれば、彼の動機は「自己満足」だったと思うんですよ。それが世間的には価値があったということ、そしてそれに皆が乗ったという形だと思います。
The Linux FoundationのJim Zemlinは「LFでの最初の仕事はリーナス・トーバルズに給料を払うことだった」と言ってましたけど。
そもそもLFはOSDLが前身でIBMが旗を振って始めたんですが、ハードウェアを集めて検証するラボだったんですよね。その後にJimが雇われてという流れなので、Jimがそう言うのはわかります。でLFにしてもOpenStack FoundationにしてもCNCFにしても、最近は仕組みをちゃんと作って、ソフトウェアを約束通りにデリバリーするということができているのが上手く回っている気がしますね。
もともとはASF(Apache Software Foundation)からその流れは始まっていると思いますけど、それをキチンとシステム化したのはOpenStack Foundationだったんじゃないかな。それはやっぱりCOOであるMark Collierの功績だったと思います。ガバナンスをちゃんとやってビルドしてテスト、それからレビューを複数人でやってOKが出ないとマージされない。こういう仕組みを自動化したというのが効いてると思います。それをLFもCNCFも真似しているんだと思うんです。最近のCNCFはあまりガバナンスをちゃんとやっていないのが逆に良い結果を出してるんじゃないか? なんて言う人もいますけどね。
なぜ日本人が上手くコミュニティで活動できないのか? これに関しては本を正すと教育システムにまで話が遡りがちなんですが、「いろいろな人と議論する」とか「失敗しても良い」という雰囲気が日本には足らないというのが根源的にある気がするんですよ。
まぁ、それを言えば私は戦後教育に問題があったんじゃないかなとは思いますね。そもそも理系文系なんて区別も、イギリスの教育システムをそのまま持ち込んでしまったのが原因のような気がしますし。高校生の時に理系文系を分けるんじゃなくて、もっと教養を付ける教育を受けた上で、その先に自分の人生をどうしたいのかを考えて、それに最適な大学や研究室を選ぶ。そういうシステムになってないといけないんじゃないかと思います。
先日、レッドハットの女性エンジニアにインタビューしたのですが、その人は元は文系でコンピュータなんて知らなかったんですね。友人が情報系の学部にいて、その友人の誘いでたまたまコンピュータを触っておもしろそうと思ってエンジニアになったっていう人なんですが、初めて作ったプログラムが動いた瞬間がとても楽しかったっていうのを、今でも覚えていると言ってました。ソフトウェアは、文系でもまずやってみるっていうことができるとてもハードルの低いゲートだと思うんですよね。だから理系文系関係なく一度チャレンジして欲しいなと。
そうですね。それとコンピュータというかソフトウェアもインターネットもそうなんですが、全体を広く教える一般教養としてのIT教育みたいなものがあるべきだなと思っているんです。日本って常にボトムアップで教えようとするじゃないですか。例えば歴史だって石器時代から教えるのは良いけど、最後の近代のほうまでは来ない。日本が最近までどうやって外交していたのかは学べないんですよ。そこが実際には一番大事なのに。
だからプログラミングだけじゃなくて、まずはスマートフォンってどうやって動いているのか?とかこのWebサービスがどうなっているのか? このような概要を教えることが重要なんじゃないかなと思って、今はいろいろと考えています。つまり「リベラルアーツとしてのIT」というのをすべての人に届けられれば良いなと思ってます。
最近、RustというMozillaが作っているプログラミング言語の勉強をしていてC言語に比べるととにかくメモリー関連の操作を安全にすることを最優先に考えて作られているんですよね。あれを知っちゃうとC言語っていうのは野蛮というか原始的というか。なのでもしもリベラルアーツの中にプログラミング言語を入れるのであれば、ぜひRustを入れていただきたいと(笑)。
いや、そもそもC言語とかその前のB言語っていうのはアセンブラーを書きやすくしただけの言語ですから(笑)。ああいうのは凄く熟練した人だけが使うべきもので、アプリケーションをC言語で書くなんていうのは全然ダメですよ。型付け言語っていうのがあるんだから、そういうのを使いなさいって私なら言いますね。
最後に長い経験の中でコレは失敗した、上手くいかなかったということがあれば教えて下さい。
そうですねぇ。人の教育、育成ですかね。こればっかりはいろいろな評価方法をやってみたりしましたけど、上手くできたという印象がないんです。例えばもう一回やってみたらできますか? と言われても自信はないですね。振り返ってみれば自分もどうやって成長してきたか? ということですが、実は昔とあまり変わってないなぁと。成長してない気がします。
ベンダーの立場でLinuxの初期の頃から関わってきた鈴木氏は、オープンソースソフトウェアが持つコミュニティについてエンジニアの育成には非常に役に立つと語った上で、育成の難しさを最後に語ったことが印象的なインタビューとなった。鈴木氏が目指す「リベラルアーツとしてのIT」教育の実現に大いに期待したいと思う。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- EdgeX Foundryを推すNECの担当者に訊いた「忍者」的なシステムとは?
- KubeConで富士通のエキスパート江藤氏に訊いたOSSの勘所
- Huaweiが開発をリードするSODAのコミュニティマネージャーにインタビュー
- LPI-JAPANがCKAとCKADの国内実施と、Linux FoundationのAuthorized Certification Partnerとして国内認定されたことを発表
- クラウドネイティブ啓蒙のためのジャパンチャプター結成の背景をインタビュー
- LPIの日本支部が新型コロナウィルス下でのビジネスをアップデート
- LPI日本支部の新しく任命された理事とエグゼクティブディレクターにインタビュー
- オープンソースの資格制度を運用するLPIが日本支部を結成 LPI-Japanとの違いとは?
- OpenStackの本格普及を見据えた認定試験「OPCEL」、企業内クラウドを構築運用するエンジニア教育のスタンダードを目指す
- レッドハットのマネージャーに訊いた女性エンジニアを増やす方法とは?