00:06
はい、みなさんこんにちは。kkeethのくばはらです。本日もやっていきましょう、kkeethのエンジニア雑談チャンネルです。
この番組ではウェブ業界に関することや、エンジニアについての雑談などの情報を発信していきたいと思います。
今回は久しぶりにちゃんとナンバリングの配信です。タイトルにある通りですけど、今回はエンジニア業界の車輪の再発明について、思うところを話していこうかなと思っております。
はい、この業界、特にソフトウェブとかウェブ業界にいらっしゃる方なら、たびたび聞いたことがあると思います。
車輪の再発明という言葉ですね。もちろん意味もご存知の方も多いと思いますが、一応ざっくりという説明をしますと、
語弊を招いた言い方になったりとか、誤解を招くかもしれないので、その辺をご了承いただければと思います。
本当にざっくりですけど、いわゆる既存のライブラリーとかフレームワーク、またはプロダクトもそうかな、
含めて既存のものを車輪と一旦置いておきます。それに対して新しく似たようなものを作るというか、もはや同じものを作るというのを車輪の再発明といったりします。
もちろん同じライブラリーとかフレームワークが既にあるのに新しいものを作ってもなという話はあるじゃないですか。
そういうことを揶揄したりとか、それに関してリソースだったり、こうするのは無駄だよねとか、既にあるものを作って何の意味とか価値があるのとか。
同じものを結局作ることによって他の人がどっち使えばいいのとか、惑わしてしまったりするとかっていうそういういろんなマイナスとか負の要素があるので、
車輪再発明することはあまり意味がないというか、よろしくないよねっていうような態度、観点がこの業界に結構あるんですね、意見として。
それは僕も結構わかるし、当時はそうだと思ってたんですけど、今時点で、改めて車輪の再発明という観点で思うところを語ると、
必ずしも悪い面だけじゃないなというふうに思ったりしますし、むしろ再発明した方がいいんじゃないかなっていうふうに感じる場面もやっぱりあったりはします。
例えばですけど、既存の車輪そのものが錆びついていたりとかボロボロだったり、いわゆるメンテナンスされてなかったり、
誰も見放さないで使わなくなったものとかあると思いますよね。
そういう古くなったりしたものっていうものを未だに使うかっていうともちろん使うことはないですし、
イシューとかバグがたくさん上がってるけど、メンテナンスチームも誰もサポートしませんみたいな、そんな車輪を使いたいかってそんなこともないですよね。
っていうのもあるので、一概に車輪の再発明自体が悪いというわけではなかったりしますし、
むしろ現代の技術を使って新しく車輪自体を作り直したりとか、現在のニーズに合わせた機能がついた車輪を作るとかっていうのは全然素晴らしい話だと思うんですよね。
今時点で使いたいのは絶対そっちの方だと思うので、一概に再発明がダメっていうのは違うんじゃないかなっていうふうに最近思ったりしてますし、
むしろどんどん再発明していっていいんじゃないかと思っていたりはします。
03:02
それが僕の車輪再発明の今思うところですね。
もう一個あとは、僕もOSSたまにやったりとかライブラリ作って公開してるんであれですけど、やはり再発明することによる学びって結構大きいと思うんですよね。
昔はこういう理由とかこんな機能がたくさんあって、そういうニーズがあったなというところですね。
それを背景とかベースにしてですね、ソースコード自体もそれをベースにして、現代のものにどんどん拡張したり発展させていくっていうのは一つありだと思っていて、
それならば本体の方にプルリクを出せばいいじゃんって思いますけど、出したところでそのコアの人たちがもう常に見てない可能性って大いにあり得るんですよね。
ですので、出したところでとかそこに時間をかけたところで見てもらえなかったらツラってなってしまうので、
それならもうフォークをして潔く。
フォークしてそのまま作っていってもいいですし、フォークしてドットギットを全部作り直すんですね。
新しく削除してまたギットユニットして作り直して、自分のリポジトリするのは全然ありだと思います。
それによって既存の人たちが作り出した資源というかソースコードの歴史を辿っていくと、設計であったりその思想というのは結構勉強になると思うんですよね。
やっぱり他人のコードをメンテナンスするって結構きついものは確かにあるんですけど、
とはいえどういう思想でやってきたかっていうかどういうコードを書いてきたかっていうのはすごく参考になったりとか勉強になることが本当に多いので、
そういう観点でもシャリンの再発明していくっていうのは全然ありだと思います。
ちなみに自分のOSSとしての活動をすることでOSSに貢献をするというか、
このウェブ業界に対してのコミットをしていくっていうところの貢献がすごくでかいですね。
ついでに自分のセルフブランディングでもなりますからね。
いろんな観点があってシャリンの再発明っていうのは実はメリットもたくさんあるので、
僕は結構推奨をお勧めしていきたいなと思っています。
もちろんジャージャバンバンバンやればいいじゃんっていう話になるかもしれないですけど、
もちろんそうではなくてさっき言ったネガティブな話、
あれはでも今言ったメリットの方で書き換えはできるんですけど、
やっぱりどうしても残ってしまうのは雑音のお話ですね。
雑音というとちょっと聞こえが悪かったり失礼になるんですけど、
ちょっとわかりやすさなので今回は許容していただければ幸いです。
要は欲しいものとか使いたいライブラリーって探しているものがあるんですけど、
結局さっきも言った通り似たようなものがたくさんあってどれ使えばいいのとか、
ちょこちょこここが違ったりここが違ったりとかで検索性が悪くなったり、
たどり着くまで時間がかかってしまったり迷わせたり惑わせたりするみたいな話がやっぱりあるので、
なるべくは雑音を増やしたくないというのは正直あると思うんですよね。
僕も増やされていらっしゃるとやっぱりたまにめんどくさいなって思ったりします。
でそのリポジトリ本体を見に行って、
イシュー見たりとかメンテナンスとか最終コミットとかいろんなものを見てから
使う使わないをやっぱり判断するんですけど。
OSSをやる方とかプロダクトライブラリを作られている方は、
ちゃんとそのクロージングというか閉じ方というところも観点に入れて
OSSをやられるのがいいんじゃないかなと思っています。
やっぱり自分たちとか自分はもうこのライブラリとか
シャリに対してコミットする気がもうないですとか、
06:02
正直飽きましたとか疲れましたとかいろんな理由があると思います。
とにかくやらないってことを決めたのであれば、
自分の中で意思決定したのであればそれをちゃんとそのOSSのライブラリに
リードミーでもいいですしとかに書いてアップしておく。
もうこのライブラリはメンテナンスしませんとか、
リポジトリを更新を止めるとか、
もしくはですね、
例えばnpmとかエコシステムの管理サイトとかに上げてるんであれば
そのエコシステムの方にもちゃんともう自分たちやりませんって
デプリケートにしてしまうとかっていう話ですね。
などなどそういう態度をちゃんと表明することが
一つそれもOSSへの貢献の一つだと思いますし、
大事なアクションだなと思ってます。
そういうことでやっぱりやるんだったらその出口戦略というと
ちょっと聞こえ大きいですけど、
ちゃんとクロージングってところも含めてOSSだなという風に
僕は思うのでそういう態度も考えた上で
コミットしていただくのがいいんじゃないかと思っておりますし、
これは自分の自家員の意味を込めてですね。
僕もなんかそう出してるんですけど、
メンテナンスしなかったらそれはそれでって話はあるので、
やっぱりちゃんと閉じ方っていうのは僕らも考えていきたいし、
もし閉じてないものがあったら改めて見られるかわかんないですけど
せめて一周あげて、
このライブラリーとかフレームワークってもう使えませんかみたいなところですね。
だったらちゃんとクロージングしていただくのいいんだよみたいな
一周あげておくのも一つありかなと思ったりはしました。
はい。
なかなかこの観点に立つの結構難しいし、
延期になってめんどくさがりで、
正直興味が湧かなくなったものに対してコミットするのは
それはめんどくさいと思ってしまうんですけど、
いくらでもやっぱり貢献したっていう意味があるんだったら
その貢献したメリットとかバリューを使いつつ
閉じていくっていうところをちゃんと表明するのも一つだなと。
やっぱり良いクリエイターだとそういうところを考えていくような
っていうのはあると思うので、
そこも検討してくださいっていうお話でした。
ちょっと言いたいことを今日はちょっと言ってみた感じですけど、
いかがでしたでしょうか。
参考になれば幸いですし、
何か意見あればお気軽にまさかり投げていただければ幸いです。
では今回の収録はこちらで以上にしたいかなと思います。
いつも聞いてください。
本当にありがとうございます。
ではまた次回の収録でお会いしましょう。
バイバイ。