PyCon JP 2017カンファレンスレポート

2日目 Masaaki Horikoshi氏基調講演「pandas開発でのOSS活動」,Pythonによるサーバレス開発,PythonでIoT,そしてLT~クロージングへ

この記事を読むのに必要な時間:およそ 6 分

皆様,こんにちは。PyCon JPメディアチームです。先日公開したカンファレンス1日目の記事はいかがでしたでしょうか? 本レポートでは引き続き,9月9日に行われた2日目の基調講演やカンファレンスなどの様子をご紹介します。Youtubeへのリンクもありますので,ぜひご自宅や職場でカンファレンスの様子をご覧ください。

2日目基調講演「pandasでのOSS活動事例と最初の一歩」 ― Masaaki Horikoshi

(小林正彦)

2日目の基調講演は,Masaaki Horikoshi氏による「pandasでのOSS活動事例と最初の一歩」です。Horikoshi氏はPythonでデータ分析を行う際のパッケージとして有名なpandas,ならびに並列・分散処理するパッケージであるDaskのコア開発メンバーをつとめています。また,自身でもPython, R, Rustでデータ分析のためのパッケージ開発を行っています。

Masaaki Horikoshi氏

Masaaki Horikoshi氏

講演では,科学計算分野におけるPythonの現状の紹介から始まり,自身がコア開発メンバーとして参加されているpandasのOSS活動の詳細,そしてこれからOSS活動をしていくために大事なことについて話していただきました。Horikoshi氏はこのプレゼンを通して,OSS活動に参加する際のハードルを下げられればとおっしゃっていました。

科学計算分野のPython

まず,汎用的なプラグラミン言語であるPythonが科学計算分野でよく使われる3つの理由を紹介しています。

  • 教育機関で使われている
  • C/Fortranで書かれた資産の利用が容易である
  • 科学計算系のOSSが発展・成熟してきている

現在は,OSSの成熟が進むことにより教育機関で使われることが多くなり,その結果OSSの成熟度が増していくといった良いサイクルができているということでした。

また,科学計算用のパッケージとして有名な「NumPy, SciPy, pandas, scikit-learn, matplotlib, jupyter」などの他にもタスクに応じて数多くのパッケージがあり,それらはPythonのエコシステムを生かして,チームでの開発体制が整っている点も良い特徴として挙げられていました。

さらには,国内外でさまざまな科学計算系のコミュニティ・イベントが活発化してきているそうです。Python全般および科学計算系のイベントとしてはPyConをはじめ,PyData, SciPyが有名です。データ系イベントの本家とも言えるSciPyの2017カンファレンスは9日間という長期間にわたり開催されました。データ系という分野だけでこの期間を実施できるということからも,年々,科学計算分野に対する関心が高まっていることを示しています。

pandasでのOSS活動事例の紹介

次に,Horikoshi氏がpandasのコミッタになるまでの経緯や,コミッタとしての具体的な活動内容を紹介していただきました。

はじめてissueを投げたのが2012年後半で,Pull Requestを送信しはじめたのが2014年前半のこと。それから1年ほどしてコアチームに選出されたそうです。pandasのコアチームメンバーに選出されるには,質・量においてともに高い貢献度のある活動をしていることと,活動期間(1年以上)の実績が評価され,コアチームメンバの推薦・投票をもって決定となります。それからは,issueへの回答,コードレビューといったコミッタの役割をこなしているとのことです。プロジェクトのスコープを決めることも役割の1つ,ということでした。

「重要なことは,プロダクト・コミュニティの品質を維持するための仕組みをつくること」とおっしゃっていました。たとえば,プロダクトの品質である「使いやすさ,バグの少なさなど」を担保するための取り組みの1つとして,PyPIに対してさまざまなバージョンのwheelを提供したりしているそうです。

また,pandasの場合はパフォーマンスが重要になってくるので,コミット前後でパフォーマンスが低下していないかなどもチェックしているとのことでした。

コミュニティの品質としては「オープンであること,参加しやすくサポーティブであること」は重要です。オープンなコミュニケーションの例として,極力Github上でやりとりをし,メーリングリストの中で開発のディスカッションはしないようにしているそうです。また,行動規範やドキュメントを整備して,はじめての方が入りやすいように配慮しています。

pandasの開発プロセスはいきなりできあがったわけではなく,多くのエンジニア(800人ほど)が関わってきた結果として今があるということでした。

2日目基調講演の模様

2日目基調講演の模様

OSS活動 最初の一歩

そして,講演の最後に,⁠これからOSS活動をはじめるための最初の一歩」というテーマについて詳しく教えていただきました。

まず,⁠OSS活動はコードの修正だけではない」ということ。宣伝活動やノウハウの共有,バグのレポートなどもOSS活動の1つだそうです。

最終的にはコード修正をしてPull Requestをすることになりますが,最初からそこを目指さずに,まず最初に「1つのプロジェクト/1つの機能」を対象として範囲を狭めて活動していくことを勧められていました。⁠ドキュメントの改定」といった比較的簡単なものでも喜ばれるそうです。

Pull Requestを送付するためにまずはissueを探します。issueにつけられたタグを見て,難易度,分野を確認してみましょう。もし直したいissueが見つからない場合は自分で書いたほうがいいとのことです。issueを書くことで該当箇所の修正が受け入れられるかどうかを事前に確認できます。また,issueを起こすことで有識者からアドバイスをもらえることもあります。まずは,直す意思を示すことが重要とのことでした。

Pull Requestを送付する際にハードルに感じる要因として,英語力,Gitの使い方,そもそものPythonの技術力などがあると思いますが,それらはあまり気にする必要はないとのことでした。仮に問題があったとしても教えてくれるので,とりあえず送ることが大事。最低限のルールを守れていれば臆することはない,とのことです。まずは,今日から気になるプロジェクトをwatchしてみましょう。

講演後には質疑応答がありましたが,こちらも活発に質問が飛び交い,とても盛り上がりました。基調講演の様子は質疑応答も含めてこちらで動画配信していますのでぜひご覧ください。

著者プロフィール

小林正彦(こばやしまさひこ)

メディアスポンサー対応、PyCon JP 2017メディア会議企画担当。

PyCon JPにはPyCon JP 2017にスタッフとして初参加。株式会社アークシステム所属。SEサービスに従事。企業システムの開発から運用までITのライフサイクル全般にわたるソリューションを提供している。開発、運用業務効率化のためにPythonを使用している。

Twitter: @donadeno


山口祐子(やまぐちゆうこ)

PyCon JP 2017広報・メディアスポンサー担当。PyCon JPは2016年から参加。

株式会社リヴァンプにて,コンサルタント兼エンジニアとして従事。現在は主にデータ分析を担当している。前職でエンジニアとして従事していた際にfabric(デプロイツール)を試してみたのをきっかけにPython好きに。趣味はヴァイオリン演奏とマラソン。

Twitter: @yukofeb


陶山嶺(すやまれい)

メディアスポンサー対応、PyCon JP 公式ガイドアプリのAndroid版の開発を担当。PyCon JPにはPyCon JP 2015で初めて一般参加。Python自体に貢献しようとPyCon JP 2016からはスタッフとして参加している。

渋谷のカラフル・ボード(株)に勤務し、8月から広島の尾道でリモートワークを実践中。前職ではiOS/Androidアプリ開発、現職ではPythonとGCPでのサーバーサイド開発をメインとしている。学生時代から一番好きな言語はずっとPython。

Twitter: @rhoboro

バックナンバー

PyCon JP 2017カンファレンスレポート

コメント

コメントの記入