「サークルの新歓ポスター、もっとカッコよく作りたいけどデザインツールは高いし…」
「ゼミのアンケート集計、手作業でやってるけど正直めちゃくちゃ面倒…」
「毎日使ってる大学の履修登録システムって、一体どういう仕組みで動いてるんだろう?」
こんな風に感じたこと、一度はありませんか?
ITスキルが大事だって言われるけど、「プログラミング」って聞くと急に難しそうに感じて、何から手をつければいいか分からない…。周りはインターンとか始めてるし、正直ちょっと焦る…。
こんにちは! 『大学生のためのIT活用ラボ』へ、ようこそ。
実は、君が今抱えているそのモヤモヤ、そのほとんどはITの世界にある「オープンソース」という考え方を知るだけで、スッキリ解決できるかもしれません。
この記事を読み終える頃には、
- 「オープンソース」が何なのか、自分の言葉で説明できるようになる
- 文系の自分でもITスキルを学ぶ「最初の一歩」が見える
- 就職活動で他の学生と差がつく「武器」を手に入れるヒントがわかる
はずです。「自分にもできそう!」と思えるように、僕がしっかりナビゲートしていくので、安心してついてきてくださいね!
オープンソースって、一言でいうと何?
いきなり専門用語から入ると頭が痛くなっちゃいますよね。大丈夫、すごくシンプルです。
オープンソース(Open Source)とは、「ソフトウェアの設計図(ソースコード)を、誰でも自由に見たり、改造したり、再配布したりしていいですよ」という考え方のことです。
例えるなら、「超人気店の秘伝のラーメンレシピが、全世界に公開されている状態」って感じです。
普通のラーメン屋さん(多くのソフトウェア企業)は、レシピを秘密にしますよね。でも、オープンソースのラーメン屋さんは、「このレシピ、自由に見ていいよ!もっと美味しくなるようにアレンジして、新しいお店(新しいソフトウェア)を出してもOKだよ!」と公開してくれているんです。
みんなでレシピを改良していくから、どんどん美味しくなる(ソフトウェアの品質が上がる)。しかも、そのレシピ(ソースコード)を見ることで、料理の腕(プログラミングスキル)も磨ける、というわけです。
なんで大学生の君がオープンソースを知るべきなの?3つの理由
「ふーん、そういう考え方なんだ。でも、それが自分にどう関係あるの?」と思いますよね。めちゃくちゃ関係あります!特に大学生にとっては、メリットだらけなんです。
理由1:無料で超ハイスペックなツールが使い放題!
レポート作成、プレゼン資料作り、オンライン授業…。大学生活ではPCを使う機会が本当に多いですよね。
実は、私たちが普段何気なく使っているツールの多くが、オープンソース・ソフトウェア(OSS)なんです。
- Webブラウザの Google Chrome や Firefox
- プログラミング言語の Python や JavaScript
- 高機能なテキストエディタの Visual Studio Code
- スマホのOSである Android
これらは全部オープンソース。世界中のエンジニアたちが改良を重ねてくれているおかげで、私たちは無料で、しかも最高品質のソフトウェアを使えるんです。有料ソフトに手を出さなくても、OSSだけで大抵のことはできてしまいます。
理由2:ITスキルの「最高の教材」になる
プログラミングを勉強しようと思っても、何を作ればいいか分からなくて挫折しちゃうケース、すごく多いんですよね。
でもオープンソースなら、すでに動いている「完成品」の設計図(ソースコード)が見放題。一流のプロたちが書いたコードを読めるのは、最高の学習になります。
OSSプロジェクトを、大学の文化祭の模擬店に例えてみましょう。
- 出店者(開発者コミュニティ): 「最高のたこ焼きを作ろうぜ!」と集まった有志の学生たち。
- 秘伝のレシピ(ソースコード): 誰でも見られるように、店の壁に貼り出してあります。
- お客さん(ユーザー): たこ焼きを買って食べる人。
- 新メンバー(貢献者): 「もっとソースを甘くしたら美味しいかも?」と提案したり(改善提案)、実際に新しいソースを作ってきたり(コードを書く)、ポスターを作って宣伝したり(ドキュメント作成)する新入生。
最初は数人で始めた模擬店でも、レシピを公開することで色々な人が協力してくれるようになり、どんどん人気店になっていく。この「みんなで作り上げていく」感じが、オープンソースの醍醐味であり、学びの宝庫なんです。
理由3:就職活動で「本気度」をアピールできる強力な武器になる
「ガクチカ(学生時代に力を入れたこと)」で何を話すか、悩みますよね。
もし君が少しでもオープンソースに関わった経験があれば、それは他の学生と圧倒的な差をつけるアピール材料になります。
- 「OSSの翻訳作業を手伝いました」 → 語学力とITへの貢献意欲を示せる
- 「好きなOSSのバグ(間違い)を見つけて報告しました」 → 問題発見能力と主体性をアピールできる
- 「簡単な機能を追加するコードを書きました」 → 技術力と実践経験を証明できる
企業の面接官は、「自ら学びにいける学生か」「チームで協力できるか」を見ています。オープンソースへの貢献は、これらの能力を客観的に示す最高の証拠になるんです。
【未来の必須教養】オープンソースAIって何がすごいの?
最近、「ChatGPT」をはじめ、すごいAIがたくさん出てきていますよね。実はこのAIの世界でも、オープンソースの波が来ています。
オープンソースAIとは、その名の通り「設計図(モデルの構造や学習済みデータ)が公開されているAI」のことです。
これは、例えるなら「超一流シェフが開発した最新料理のレシピと、その味を再現するための特殊な調味料までセットで公開してくれている」ような状態。
これによって、企業や研究者だけでなく、私たち学生でも、最先端のAI技術を無料で手元で動かしたり、自分の目的に合わせて改造したりできる時代になったんです。
例えば、
- 自分の研究テーマに特化した文章を生成するAI
- サークルの写真を特定の画家の画風に変換するAI
なんてものを、自分で作れる可能性が広がっています。難しそうに聞こえるかもしれないけど、まずは「こんなこともできるんだ!」と知っておくだけで、未来の選択肢が大きく変わりますよ。
文系の私でも、オープンソースに関われる?
「話は分かったけど、結局プログラミングできないと意味ないんでしょ…?」 そんな不安を感じた文系の君、まったく問題ありません!
オープンソースへの貢献は、コードを書くことだけじゃないんです。
- 翻訳: 海外のソフトウェアの使い方の説明(ドキュメント)を日本語に翻訳する。
- デザイン: アイコンやWebサイトのデザインを提案する。
- バグ報告: ソフトウェアを使っていて「あれ、ここおかしいな」と思ったことを報告する。
- イベント運営: OSSの勉強会やイベントの企画・運営を手伝う。
など、あなたの得意なことで貢献できる道がたくさんあります。特に、分かりやすい文章を書くスキルや、企画・運営能力は、エンジニアコミュニティではめちゃくちゃ重宝されるんですよ。
大学で習ったPython、その先へ。OSSライブラリで3時間の単純作業を5秒で終わらせてみた話
「大学のプログラミングの授業、正直『これって何に役立つの?』って思ってませんか?」
僕も、高校、大学と情報を学び続けていますが、つい半年前まで、これが実際どうなるの?と思っている一人でした。授業でfor
文やif
文を習っても、いまいちピンとこない。そんな僕が、「プログラミングって、すげぇ…!」とその価値を実感できたのは、ある面倒な作業をOSSの力で解決した経験がきっかけでした。
始まりは、絶望的なExcel作業だった
僕が所属しているサークルで、新入生向けのイベントに関するアンケートを取りました。問題は、その集計作業。担当の友人5人が、それぞれ自分の担当分をExcelファイルで送ってくれたのですが、見事にフォーマットがバラバラ…。
全部で20個近くあるファイルを開き、コピペして一つのファイルにまとめる…想像しただけで気が遠くなる作業でした。 「これ、少なくとも3時間はかかるな…」と絶望しかけた、その時です。
「そうだ、Pythonを使おう」と思い立つ
ふと、授業で「Pythonを使えばExcelも操作できる」と先生が言っていたのを思い出しました。藁にもすがる思いで「Python Excel まとめ」と検索すると、Pandas
という言葉がたくさん出てきます。
調べてみると、このPandas
こそ、本編でも解説されている「オープンソース・ソフトウェア(OSS)」の一つで、データ分析を簡単にしてくれる超便利なライブラリ(道具箱のようなもの)だということが分かりました。
世界中のすごいエンジニアたちが開発してくれた道具を、僕みたいな学生が無料で使えるなんて…。これがOSSの力か!と感動し、早速使ってみることに。
書いたコードは、たったの数行
ターミナルでpip install pandas
と一行入力してPandas
をインストール。そして、見よう見まねで書いたコードがこれです。
Python
# 必要なライブラリをインポート
import pandas as pd
import glob
# 同じフォルダにあるExcelファイルを全部見つけてくる
excel_files = glob.glob('*.xlsx')
# 空のリストを用意
df_list = []
# 1個ずつファイルを読み込んで、リストに追加していく
for file in excel_files:
df_list.append(pd.read_excel(file))
# リストに入った全データを縦方向に合体!
all_data = pd.concat(df_list, ignore_index=True)
# 最後に、結合したデータを新しいExcelファイルとして保存
all_data.to_excel('completed_data.xlsx', index=False)
print('ファイルの結合が完了しました!')
3時間の絶望が、5秒の感動へ
正直、書いているときは「本当にこれで動くのか…?」と半信半疑でした。でも、実行ボタンを押した瞬間、魔法が起きます。
僕の目の前には、さっきまでバラバラだった20個のExcelファイルが、完璧に一つにまとめられた新しいファイルが生成されていました。かかった時間は、わずか5秒。
3時間かかると絶望していた作業が、一瞬で終わったのです。思わず「うわ、まじか…」と声が出ました。
この体験を通して、僕が学んだことは3つあります。
- プログラミングの本当の力: 授業で習う基礎は、身の回りの「面倒くさい」を解決するための強力な武器になること。
- OSSの偉大さ:
Pandas
のような便利な道具を、先人たちがOSSとして公開してくれているおかげで、僕らは車輪の再発明をしなくて済むこと。 - 学ぶ楽しさ: 「次はもっと面白いことができるかも」と、プログラミング学習へのモチベーションが爆上がりしたこと。
まとめ
お疲れ様でした! ここまで読んでくれて、ありがとうございます。
オープンソースの世界、少しは身近に感じてもらえたでしょうか?
- オープンソースは、「みんなで育てていく共有財産」のようなもの。
- 大学生の君にとっては、無料で使えるツールであり、最高の教材であり、就活の武器にもなる。
- プログラミングができなくても、翻訳やデザインなど、貢献できる道はたくさんある。
最初は「専門用語ばっかりで難しそう…」と感じるかもしれません。でも大丈夫。今日この記事を読んで、「へぇ、そんな世界があるんだ」と少しでも興味を持ってくれたこと、それが何より大きな一歩です。
その小さな好奇心が、君の大学生活を、そして未来のキャリアを、もっと面白くするきっかけになるかもしれません。
難しく考える必要はありません。今日からできる、ハードルの低い「最初の一歩」を3つ提案いたします。この中から1つ、ピンときたものを選んで、今夜にでも試してみてください。
- 身近なOSSを探してみよう! 君がいつも使っているスマホアプリやWebサービスについて、「(サービス名) OSS」で検索してみよう。意外な発見があるはずです。
- 無料のOSSツールをインストールしてみよう! レポート作成にも使える高機能エディタ「Visual Studio Code」を、自分のPCにインストールしてみましょう。多くのエンジニアが愛用するこのツールも、実はOSSなんです。
- 身の回りの「不便」をメモしてみよう! 今日の夜、自分のサークルやゼミ活動の中で「これがもっとITで便利になったらな…」と思うことを、スマホのメモ帳に1つだけ書き出してみてください。課題を見つけることが、解決の第一歩です。
もしあなたが、大学の授業でプログラミングを学んでいるなら、ぜひその知識を使って、身の回りの「面倒」を解決できないか試してみてください。OSSの世界が、きっとあなたの強力な味方になってくれますよ。
コメント