リュウグウノツカイのように

深海で悠々と暮らしたい

ソースコードのコピペについて思うこと

まえがき

インターネットで参考になるプログラムがたくさん見られる時代、プログラム(ソースコード)もコピー&ペーストすることができます。コピペは悪ではありません。でも、なるべくならコピペしてほしくない...そう思う理由や、コピペをしてしまうシチュエーションなどを、なんとなく書かせてくださいな。

ソースコードをコピペして「良いとき」

GitHubを始め、個人サイトやブログでソースコードをコピペする機会が増えました。更にYouTubeでも、Dropboxなどオンラインストレージサービスを利用し配布が行われているチャンネルもあり、至れり尽くせりだと思います。こういった親切な人たちの思いで、最も多そうなのが「プログラムを参考にして、成長してほしい」(この人達からのアクセス率の向上や、チャンネル登録者数の増加にも繋がる)ではないでしょうか。

気軽にソースコードをコピペすることで、理解が進んだり、実際に動作を確かめられたり、このコードすげぇ!!って、なることもあるでしょう。さらに、他の人のプログラムを見る機会は意外とありません。「こんな書き方があったんだ~」と、改めて自分のソースコードを見直す機会にもなるはずです。

ソースコードをコピペして良いときは、気軽に試したいとき。誰が?自分自身です!。
少なからず、そんな風におもっているんです。

ソースコードをコピペして「悪いとき」

世の中、悪い人たちがいるんです。会社の納期に間に合わず、開発の現場で仕方なく使うこともあるでしょう。同情します。でも、もっとタチが悪いなぁと感じてしまう出来事が、専門学校の在学中にあったんです。多少の脚色はお許しくださいませ。

【ケース1】丸っとコピペし提出したAさん。

 Aさん、プログラミングが残念ながらお得意ではありません。ゲームが好きだから入学したのです。幸い、底抜けの明るさから周囲の友人が多く、よくプログラミングを教えてもらう姿を見ました。私も教えたことがあります。結局、卒業間近まで関数が分からず、大変そうでした。
 事件は1年次の進級課題でした。2Dのゲームを提出する課題で、自分でミニゲームを作成し、提出します。DXライブラリを利用し、C言語で開発。期間は12月~2月ぐらいでした。ホントに簡単なモノで良かったんです。弾が一つしかないシューティングや、ステージがスクロールしないアクションゲーム。そういったモノでも、自分で一つの作品を作り上げることに価値があったそうなんです。
 さて、Aさんには少々難しかった課題の様子。でも、提出しなければ進級できません。友人たちも一緒に進級したいのか、必死に教える毎日です。ホント良い友人を持ったな、Aよ。
しかし、友人らも課題を提出せねばなりませんし、どうせ提出するな凝ったモノを出したい。そういうお年頃なんです。だんだんとAさん構える時間は無くなっていくのでした。
 そうして、期限の2日前、ついにAさんから「提出できた!!!」と、嬉しい報告がありました。友人も私も嬉しかったです。だって、あの(失礼)プログラムがダメダメ(超失礼)なAさんが、1方向にしか弾を飛ばませんでしたが、それなりのシューティングゲームができたんです。頑張ったんだなぁと思える出来で、私達も教えて良かったと思いました。
 しかし、Aさんは進級課題をクリアできず、補習となってしまいました。何となくオチが見えてますが、まるっとコピペしたんです。参考に留めて、自分で変数名だけでも変えればいいものを、ホントに全てまるっとコピペです。担当講師が問い詰め、バレたんですね...。バレた理由は主に3つだそうで、1つ目はソースコードを検索したら、サイトがヒットした」。2つ目は「プログラムの処理を聞いても、答えられなかった」。3つ目は「今まで相談せずに、ギリギリで出した割にはキレイすぎるコードだった」。3アウト、バッターチェンジなのでした。

卒業論文なんかでは、文章コピペ発見システムみたいなものを聞いたことがありますが、プログラムも同じです。普段の学習態度や状況次第では、プログラムも検索してチェックされることがあります。せめて、自分で説明できるようにしましょう。もしかしたら難を逃れられます。

【ケース2】人のせいにしたBさん

 Bさん、なかなかのツワモノでして。分からない課題のプログラムを、直接知恵袋的サイトで質問しちゃいます。そして、ご丁寧に返信してくれる方が、世の中にはいるんです!!!その節は、いつも学友が大変お世話になっておりました。ただ、教えてくれたプログラムが思った通りに動作しないと「このプログラムは間違っている」「このソフトウェアはバグがある」「このPCが悪い」と、周囲を困らせる(喚き散らす)ことが、よくありました。知恵袋で質問すること自体は、間違っていません。上手く使えば素晴らしい回答を手に入れられます。
 でも、授業中に堂々と質問するのは、どうなんでしょう。悲しきかな、このような性格ですから、周囲とも上手くやれず、クラスメイトや講師にも相談することができず、Bさんなりの処世術だったのかもしれません。でも、ズルはよくありません。少しは自分で考えて、ダメそうなら頼るといいと思うんです。

【ケース3】無断利用するC講師

 オープンスクール、それは来年の入学生を呼び込むための、学校としてもビッグなイベントのようです。多くの学校で模擬授業や体験授業という、授業を実際に体験できる時間が組み込まれています。場合によっては、その様子を参加者に許可を取りつつ、SNSや学校HPに掲載しているようで、少子高齢化の中で大変だなぁと思います。ただ、自分の夢の職業を体験できるんですから、キラキラと期待感を持って、高校生の時は参加していました。カッコよくプログラムを操るその姿、憧れたんです。
 そのせいか、入学してもオープンスクールの内容に興味があり、ついでに講師のテクニックも盗めるのでは?と思い、よくC講師に質問や相談に行ってました。C講師もテストプレイヤーがノコノコ来てくれるので、都合が良かったのかもしれません。でも、ある時見てしまったんです。講師が作っている、そのゲーム・・・めちゃくちゃ見覚えがあるんです。それ、私も参考にしていたサイト様のゲーム!!!
 残念ながら、C講師はゲーム業界出身ではないのに、ゲーム科を受け持つよう言われてしまったそうで、それが若干のコンプレックス。月1回行われるオープンスクールに間に合わせるよう、他の講師から「他のサイトのコピペでいいんじゃない?」と言われ、止む無く使ったとワケを話してくれました。でも、それって業務効率化でもないし、ただのドロボウでは???と思ってしまいました。そんなC講師も私が卒業する頃には、自分で作ったプログラムでオープンスクールをやっていたので、まぁ良しとしましょうか。過去の話ですし。

「コピペさせない」という選択肢も。

昔、歌詞をコピペさせない仕組みのサイトに驚いたことがありますが、著作権を守れるんだなぁと無駄に関心した思い出があります。現在も、コピペできない仕組みのサイトがたまにあったりしますが、プログラムではあまり見かけません。でも、プログラムだって、参考にはできますが、コピペさせない仕組みを作ることができます。 softantenna.com

私は「動画化」することで、気軽にコピペできない方法を選択しました。気軽さがなくなりますので、他の動画やサイトよりも不便だと思いますが、プログラムは確認できますから、自分で打つなりすればいいのかな、と思ってます。せめてC講師のように、私のカワイイプログラムを勝手に仕事で使われては、敵わないんです。

ただ、私も鬼ではない(アクセス率の向上や、チャンネル登録者数の増加にも繋げたい)ので、プログラムを画像にしたり、一部分のみコード掲載して解説したりなどを考えています。そのためのブログかもしれません。

コピペをする前に・・・

人の褌で相撲を取る kotobank.jp

この言葉、思い出していただけると、正しいコピペか判断できると信じています。