用語解説

OSS活動はエンジニアとしての強みになる!4つのメリットと今日からできる取り組み方

OSS活動とは、オープンソースソフトウェアの開発・保守に貢献する活動のことです。
エンジニアとしてのスキルを可視化し第三者からの評価を得られるため、副業・執筆・翻訳・転職など新たなチャンス獲得のきっかけになるなど、キャリアアップを目指す人にとって大いに意義のある取り組みです。
この記事では、OSS活動に取り組む4つのメリットや、今日からスタートできる活動方法を解説します。

1.OSS活動とは?

OSS活動とは、Open Source Software(オープンソースソフトウェア)の開発・保守を手掛ける活動のことです。

オープンソースソフトウェアとは、修正・拡張・再配布などが認められているソフトウェアを指します。

OSS活動の一例として、オープンソースソフトウェアの新規開発や、既存プロダクトのメンテナンス、プロダクトに付随するドキュメントの更新といった取り組みがあります。

2.OSSとは?

(1)修正・拡張・再配布などが認められているソフトウェア

OSSは、特定の企業がクローズドで開発する商用ソフトウェアとは大きく異なり、修正・拡張・再配布などが認められています。

1970年頃から、ソフトウェアおよびそのソースコードは、特定の企業の製品として評価されることが多く、修正・拡張・再配布などを禁じるクローズドな文化が形成されていきました。

しかし1980年代後半頃から、「ソースコードはオープンにするべき」と訴える人が増えたことでOSSが普及していき、そのニーズはますます拡大し続けています。

(2)ポピュラーなOSSの例

ポピュラーなOSSの具体例として

・Webブラウザ「FireFox」
・オフィスソフト「LibreOffice」
・メディアプレイヤー「VLCメディアプレイヤー」
・OS(Operating System)「Linux」
・データベース管理システム「MySQL」
・プログラミング言語「Java」「Perl」「PHP」「Ruby」「Python」

などが挙げられます。

OSS発展の背景には、世界中に広がる開発者コミュニティがあります。世のエンジニアたちが地道にメンテナンス活動を続けていくことで、プロダクトは毎日アップデートされていきます。そのためエンドユーザーは、いつでも快適に、セキュリティ面でも安心してそのプロダクトを使用することが可能になります。

(3)日本国内でもOSSのニーズが高まっている

OSSは近年、日本国内でのビジネスの現場でもニーズが高まっています。

IPA(情報処理推進機構)の調査によると、2010年時点で日本のソフトウェア開発企業の 66.8%が商用ソフトウェアの開発プロセスでOSSを利用している、という結果が明らかになっています。

OSSでは、ソースコードだけでなく、ソフトウェア構成や不具合、開発者間のコミュニケーションに関する履歴データ(時系列データ)も膨大に公開されています。

新たなソフトウェアの開発にこれらを利用することで、以下4つのメリットがあります。

・無償でソースコードを利用できるため、開発コストを抑えられる
・不都合があった場合でも、ソースコードの修正が可能
・活発に更新されているため、セキュリティ面で安心できるプログラムが多い
・有志のコミュニティによってプロダクトの信頼性が担保されているため、企業倒産や吸収合併によるプロダクトの消滅がない

このように、複数の観点からビジネスの現場でOSSを活用するメリットがあります。

3.OSS活動に参加する4つのメリット

エンジニアがOSS活動に参加することで、具体的にどのようなメリットがあるのでしょうか?

(1)専門領域について知見が深まる

自分自身の専門領域について引き出しが増え、知見が深まっていきます。

ひと口にOSS活動と言っても、例えば「Python開発に貢献する」「Ruby開発に貢献する」など、自分が理解している言語を入り口として、具体的に取り組む内容を選ぶことができます。

例えば、Rubyエンジニアとして働いているなら、その知識をベースに「Ruby領域でのバグ修正に取り組む」といった活動から始めることが可能です。

OSS活動を通して、日常業務とはまた違った課題に取り組むことになるため、そこへ「コミットすることで新たな知見が蓄積されていき、ひいては本業で役立つ引き出しも増えていく、というわけです。

(2)エンジニア同士の横のつながりができる

OSS活動の背景には、「特定の言語や、プロダクトに貢献したい!」と同じ目標を持つ有志が集まったエンジニアのコミュニティが存在します。

このコミュニティは、オンラインでのつながり、オフラインでのつながりの双方が考えれます。いずれにしても、言語やプロダクトの開発・修正・メンテナンスの活動を通じて、他のエンジニアとの間にコミュニケーションが生まれ、他社のエンジニアと「横のつながり」ができます。

同業者と横のつながりがあることは、多数のメリットがあります。さまざまな人と関わっていく中で自然とコミュニケーション能力やプレゼンテーション能力が向上していく、困った時に知見を共有できる、社会人として人脈・パイプが広がるなどの利点が挙げられます。

(3)第三者から評価を得られて、セルフブランディングになる

OSS活動を日々コツコツと続けていくと「バグを解消すた」「新規開発に貢献した」など、明確なアウトプットが残ります。そのアウトプットの質・量に応じて、他のエンジニアから客観的な評価を得られます。

オンラインコミュニティ上で活動を続けていくだけでなく、オフラインでの勉強会やカンファレンスの場で、自分が貢献した内容を発表することで、エンジニアとして強力なアピールになり、セルフブランディングにも寄与します。

(4)新たなチャンスを得るきっかけになる

OSS活動への貢献度が客観的に可視化・評価されるようになった先では、思いがけない新たなチャンスが舞い込んでくることもあります。

例えば、副業、執筆、翻訳、セミナー登壇の依頼、転職のオファーなどさまざまな事例があります。

エンジニアとして着実に力をつけてキャリアアップを図りたい人は、OSS活動へのコミットを重視すべきだと言えます。

4.今日から始める!OSS活動

OSS活動とは、誰でも、今日からすぐにその第一歩を踏み出すことが可能です。具体的な入り口をご紹介します。

(1)OSS活動の入り口「GitHub」

OSS活動に取り組みたい人は「GitHub」を見に行きましょう。

GitHubとは、ソフトウェア開発のプラットフォームです。GitHubには無数のオープンソースプロジェクトがホスティングされており、世界中のユーザーがここでプロジェクトを探してOSS活動に参加しています。

「Python」「Ruby」「JavaScript」「Firefox」などさまざまなプロジェクトがありますので、まずは自分自身が理解できる言語名あるいはプロダクト名で検索してみると良いでしょう。

[出典]GitHub
https://github.com/search?q=python+issues&type=repositories

(2)初心者が第一歩を踏み出すための入り口「GitHub Help Wanted」

「OSS活動も、GitHubを見るのも初めてで、どこから手を付けて良いか分からない…」という人は、「GitHub Help Wanted」を見てみましょう。

「Python」「Ruby」など何か言語を選択し、「bug」「easy」「help wanted」などレベルを絞り込んで、「バグ修正」など、直近で誰かの助けを求めているイシュー(Issue=課題)を探すことができます。

まずは、自分のスキルレベルに合ったイシューを見つけ出し、貢献への第一歩を踏み出しましょう。

[出典]GitHub help wanted
http://github-help-wanted.com/?languages=Python&labels=help+wanted&page=1&sort=created&order=desc

(3)勉強会・カンファレンスへの参加

GitHub上で日々、既存プログラムのバグ解決や新規開発といった地道な活動を積み重ねたら、オフラインでの勉強会やカンファレンスにも参加してみましょう。

エンジニア向けの勉強会やカンファレンスは、都内ではもちろんのこと、地方都市でも参加のチャンスはあります。

自分自身の活動内容に応じて、勉強会で発表・登壇をすることで、OSS活動への貢献度を大きくアピールすることができます。

必ずしも発表・登壇をしなくても、オフラインで他社のエンジニアとフェイス・トゥ・フェイスのコミュニケーションを取ることができて、他の人の貢献内容や熱意から良い刺激を受けたり、人脈を広げることにも役立ちます。

5.今すぐ第一歩を踏み出そう

OSS活動は、今日からでもすぐに始めることが可能です。

まずは、自分が現在保有しているスキルで対応できるバグ修正など、すぐに取り組めるイシューを見つけてトライしてみましょう。

第一歩を踏み出して、地道に貢献を積み重ねていくことが大切です。

エンジニアとしてのキャリアップのために、ぜひ取り組んでみてください。

[参考]
エンジニアがコミュニティ活動やOSS活動を絶対にやるべき理由
https://findy-code.io/engineer-lab/engineer-community-activities-reason

第2回 情報サービス・ソフトウェアに係る技術に関する施策・事業評価検討会 配布資料|経済産業省(2015年)https://www.meti.go.jp/policy/tech_evaluation/c00/C0000000H25/140304_zyouhou2/zyouhou2_2_5_3.pdf

OSS(オープンソースソフトウェア)とは?利用時のメリットと注意点https://hnavi.co.jp/knowledge/blog/oss/

システム開発でオープンソースを活用するメリット・デメリットは?https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2358