折り紙の巨匠との出会い
僕がこのリバースエンジニアリングを知ったのは世界一周でイランに行った時のことでした。
日本語ペラペラの折り紙の巨匠(イラン人)がいて折り紙についていろいろ教わりました。
真ん中の立方体の角が凹んでいる形の折り紙をご覧ください。
見づらい写真しか残ってなかったので作り直してみました。
巨匠「Yukiさん、この角が凹んだ形のキューブを自分で作ってみてください。」
錯覚のようにみえる一瞬頭が混乱しそうなこの折り紙。
よかったら一度手を止めて一緒に考えてみましょう。
ちなみに一枚の紙からではなく、何枚かの紙を組み合わせるユニット折り紙の構造になっています。
実際は手に取って分解して考えることができるので見た目ほど難しくはないですが、作る時とは全く違う頭の使い方をします。
実際はこのような仕組みになっています。
完成した作品からその構造を分析するこの思考のプロセスをリバースエンジニアリングと呼ぶんだよと教わりました。
まさに想像力と創造力を養う再創造の学問ですね。
リバースエンジニアリング
リバースエンジニアリング(Reverse Engineering)をもう少し広い意味で考えてみます。
直訳すると逆行する工学ということになりますが、既にある製品、人工物を分解しその物の構造を分析し製造方法を解析する学問です。
カレーに例えてみましょう。行きつけのカレー屋さんの味を家でも再現したいとします。
「確か野菜はこれくらいの大きさで、ルーはとろみがあったから結構煮込んでるな…ご飯の硬さはこのくらいで…」と完成品の見た目や味、匂いから分析して完成品の作り方を考えますよね。
この思考も言うなればリバースエンジニアリングと同じです。
料理の場合は折り紙と違って分解できる要素に限界があるので見た目、味、匂いといった情報を頼りに分析するので難しい面もありますが。
リバースエンジニアリングでできること
ではこのリバースエンジニアリングが身の回りでどのように役立つか考えてみます。
一言で言えば「完成品はあるけど、作り方がわからない」ものだったらなんでも適用することができますね。
例えば先ほどのカレーの例で言えば、「完成品のカレーは食べることができるけど、商品だからレシピまでは教えてくれない」という状況です。
(歴史的)建造物
例えば壊れてしまった歴史的建造物を修復するときなんかにも役に立ちそうですよね。
遥か昔に作られたものだと、どういう風に建てられたのか建て方が分からない場合もあります。
歴史的価値のあるものだと、分解したりできないので、試しに新しく作ってみるという安易なリバースエンジニアリングはできませんが…
今の技術だと建造物を3Dで解析して建築するなんてことも可能ですよね。
プログラミング
インターネット上の制作物(プログラム)からソースコードを読み込む作業もリバースエンジニアリングと言えます。むしろグーグルで検索してみるとこのような意味合いでIT用語として使われていることが多いようです。
例えばこのブログも元はHTML,CSSの記述といった材料からできているわけです。
これを利用すれば、自分のイメージするプログラムのソースコードからプログラムを自作することができます。
しかしこのリバースエンジニアリングには問題もあって、知的財産権を侵害する可能性があるということです。著作者がソースコードを配布している場合はいいですが、そうでない「パクリ」の場合、著作者に損害を与えればこれは知的財産権の侵害ということになります。
行きつけのカレー屋さんの味を完全再現してカレー屋さんをオープンしたら知的財産権の侵害に当たるかもしれない!?😲
カレーの知的財産権てなんだよ!笑とツッコみたくなるけど損害の妥当性とパクった成果物だということが立証できたらそうなるのかも…笑
余談:肉じゃがはリバースエンジニアリングの成果物?
僕がこのリバースエンジニアリングを知った時に思い出した話があります。
それは肉じゃがの誕生秘話。
真偽のほどはさておき、このシェフのやったことはまさにリバースエンジニアリングですね。それが失敗(?)部分的に材料を変えたことで新しい物が生まれたと。
失敗は成功のもと。(肉じゃがおいしい!😋)
このように単純に完成物→材料のプロセスを辿るだけではなく、そこから改良を加えて新しい完成品を創造するところにこのリバースエンジニアリングを学ぶ意義があるかもしれません。
なので今度は醤油の代わりにソース(sauce)を用いるなんていうのはどうでしょうか?
「ソース(source)」だけにね。
HAHAHA!!
おまけ
さて次の折り紙はどうやってできているでしょう?(超難題)
コメント