♥OSS

学生向けに勉強会や開発イベントを開催していたら、♥OSSになった人がやったことや思ったことなどを書くことにしました

GitHubでライブラリを公開したら★300以上がついて海外からも注目された学生にインタビューしてみた!

前年開催したリーダブルコード勉強会やアプリコンテストに参加いただいた大学院生 kentya6 (Kengo Yokoyama) · GitHub さんが、Swiftで作った以下のライブラリをGitHubで公開したところ、★300以上ついた! というお話を聞きつけ、その経緯やどんなことが起こったのか、インタビューしてきました!

github.com

-まずは自己紹介ということで、普段行っている研究や開発で、どんなことをされているか、教えてもらえますか?
私の在籍している 筑波大学高度ITコース では、研究ではなくPBL形式のチーム開発を行っていて、顧客の要望をヒアリングして実装に落とし込み、最後に納品するというシステム開発を行っています。
修士2年になってからは別のプロジェクトが始まりましたが、修士1年では施設内ナビゲーションアプリCampusAR を作成していました。
(補足: CampusAR は幾つかのアプリコンテストで表彰されていますe-ZUKAスマートフォンアプリコンテスト2014でグランプリを受賞 | enPiT BizApp × 筑波大学

-開発では普段どのような言語やツールOSSを使ってらっしゃいますか?
言語としては、iOS開発でSwiftObjective-CAndroid開発でJava、 Web開発でHTML5、CSS3、JavascriptPHPScalaを主に使っています。
ツールとしては、Yeoman, Gulp, npm, Bower, CocoaPodsなどで色々自動化しています。また、画像はImageAlphaやImageOptimなどを使って容量を削減してから開発に使ってます。(WebPやBPG形式にもチャレンジしたいです。)

OSSは、AngularJS, Angular-Material, TwitterBootstrap, AFNetworking, SwiftyJSON, Volley, GSONなど、あとはインフラ周りでVagrantやDocker、Ansibleなども使ってます。

 

自作アプリと同様のものがOSSで公開され、バザール形式の開発でどんどん高機能化していくところを見て、OSSの魅力を感じた

-そもそも、このライブラリを作られたモチベーションはどういうものだったのでしょう?
2011年にGPUを使った自作のリアルタイム画像処理アプリ RECamera をAppStoreにリリースしたのですが、2012年に BradLarson/GPUImage · GitHub というOSSGitHubに登場しました。

当時は「競合が出てきたけどまだ大丈夫だなー」と余裕があったのですが、1・2ヶ月経つと多くの開発者がGPUImageにコミットするようになり、あっという間にRECameraで書いてきたコードよりも高機能なライブラリができあがっていきました。

このときにOSSの強さと魅力を実感したことで、前々から私もOSSとして何かライブラリを公開したいとは思っていたところ、去年の夏頃、とあるインターンシップで自身のプロダクトをブラッシュアップするという機会があり、このライブラリを作成しました。

-まさに「伽藍とバザール」を、身をもって体験されたのですね。
このライブラリの開発にはどの程度の期間かけられたのでしょうか?

インターンの応募用に開発して、その期間は、構想2日・実装1日ってとこです。電車で移動時などの隙間時間でやってました。

-では、そのライブラリをGitHubで公開しようと思ったモチベはどういうものだったのでしょうか?
ここ数年のGitHubの利用者数や、私自身が今までGitHubを使っていた(といっても当時は気になるリポジトリに★をつけたりクローンして実行するだけでしたが)こともあり、OSSとしてライブラリを公開するなら、まずGitHubだなーと思っていたので、公開する場所はGitHubしか考えていませんでした。
また、そろそろ私が★をつけるのではなく、★をつけられる側になりたいという思いがありました。

ライブラリ公開後、AppleGoogleSkypeCookpadなどのエンジニアが★をつけてくれて、海外からもオファーがきた!

-★をつけられる側になりたいとはいいですね。
実際にライブラリを公開後、時系列で、どのようになりましたか?

リポジトリを作成して公開した当初は、特に誰からも注目された様子はなく、友達の★が1個つく程度でした。
ですが、今回作成したライブラリはiOSということもあり、最初から CocoaControls
Custom Controls for iOS - Cocoa Controls での掲載を考えていました。
そして1~2週間後に審査が通り、掲載されたところ、そこからユーザがきて★が増えていきました。

授業の休み時間毎に★がどんどん増えていき、テンションがあがったのを覚えています。

CocoaControlsに掲載されて1週間くらいは毎日★20ぐらい増えていて、多い時は一日で★60ぐらい増えたりもしました。
2~3週間もすると★は200個程になり、GitHubSwift部門でトレンド一位をとったり、海外のブログQiitaの記事 でも紹介されるようになりました。
1ヶ月もすると★は300個程になり、iOSBytesというPodcastで紹介されたり、StackOverflowでも 投稿 されていたりするので、世界のどこかのiOS開発者が私のライブラリを使ってくれています。

公開から半年たった今では★370を超え、GitHub AwardsのSwift部門で日本6位、世界52位になってます。

また、海外の会社から一緒に開発をやらないかと誘われたり、フリーランスの招待などが届いたりしました。あとGitHubで公開しているアドレスへのスパムメールも増えました(笑)

-海外からオファーがくるとか、GitHubに世界920万人の開発者がいることを感じますね。ちなみに、★が300以上つくと、どんな気持ちになりましたか?
まずは素直に嬉しいです。また、300以上の★の数や、Issueが飛んでくることで、作成したライブラリを使ってくれている人がいることを実感します。
ですので、もっといいライブラリを作ろう!という気持ちになります。

また★を付けてくれた人の中にはAppleGoogleSkypeCookpadと所属が書かれていたりして、そういう人達からも★をいただけたことがとても嬉しかったです。

公開するにあたって、READMEを充実させ、読みやすいコードを意識した

-公開してからライブラリが使われるように工夫した点はありましたか?
★が多くつくことで、多くの人に見られているという実感がわき、読みやすいコードを書こうという気持ちがより強くなりました。なので、Web上にいくつかあるSwiftのコーディング規約に則ってコードを書くことを意識するようになりました。

また、GitHubで公開するにあたり、READMEを充実させることを第一に考えました。
内容が分からないライブラリを毎回クローンして手元のPCで実行して初めて結果が分かるよりは、ライブラリのページにきた段階で全容を把握できたほうが第三者から見て分かりやすいと思いました。

なので、まずREADMEにデモ用のGIFアニメーションを置き、さらにライブラリでできることの機能一覧、ライブラリの使い方、インストールの仕方を書きました。また、今後開発していく内容も書いたりしました。
(補足 この記事 わかりやすいREADME.mdを書く | SOTA を参考にしていました。)

また、ライブラリのデザイン面も意識しました。様々なアプリのデザイン案投稿サイトなどを見ていると、グラデーションがかかった半円などのプログレスバーを多く見かけました。今回開発したライブラリはグラデーションやプログレスバーの形状指定を1行で簡単に指定できることをアピールポイントとしました。

ちなみに、一度OSSとしてライブラリを公開すると、次は何を公開しようかという気持ちが自然と芽生えてくるようになります。
今では、普段の開発からライブラリ化できるところは切り離し、GitHubに公開するということを考えています。既にいくつかライブラリのストックはあるので、準備ができ次第新たなライブラリを公開する予定です。

現在、注目しているOSSプロジェクトとコントリビュート方法は?

OSS活動に浸かりつつあるkencha6さんが今、注目しているOSSプロジェクトはありますか?
OSSプロジェクトでは、
ResearchKit/ResearchKit · GitHub
angular/material · GitHub
atom/atom · GitHub
facebook/react · GitHub
GoogleCloudPlatform/kubernetes · GitHub
などです。

特にFacebookが公開しているプロジェクトでは
facebook/react-native · GitHub
facebook/hhvm · GitHub
などが興味深いです。

あわせて、mixiのトレーニング系OSS や、デンキヤギ株式会社の就業規則をGitHubに公開する といった動きもいいなと思います。

-挙げていただいたOSSプロジェクトに対して、どんなコントリビュートをお考えですか?
大体以下の順序でやっていけたらと思っています。

  1. コメントの誤字脱字などの修正
  2. マジックナンバーを無くすなどの簡単な修正
  3. 冗長な部分をリファクタリング
  4. この3つをやっていくなかでプログラムを把握して、新機能をコミット

-お手本のようなコントリビュート方針、ありがとうございます!!
最後に、今後どんな開発や技術領域に携わっていきたいとお考えですか?

世の中で広く普及する「前の」分野の開発をしていきたいです。
最近だとIoTが注目されてますが、その分野にもとても興味があり、実際に iOSからLED電球をいじったりBLE - スマートLED電球をiOSから制御してクリスマスな雰囲気を演出する - Qiitaもしています。
また、昨年のSEゼミさんの ウェアラブルガジェットパーティー でGoogleGlassアプリを開発できたことは、まさしく私がやってみたかったものの一つでとてもいい経験でした。

携わっていく技術領域としては狭い範囲では特に決めておらず、まずはネイティブ領域を一番の得意分野とした上で、Web系やインフラ周りもやっていきたいです。

-G.W.中だったにも関わらず、ご協力ありがとうございましたー!!
(インタビュー終わり)


SwiftiOSそのもののオープンソース化は予定がない現状ですが、先日の Rebuild: 88: Five Years Of Terrible Coding (Brian Gesiak) でもSwiftのテスティングフレームワーク、Quickの作者が登場され、周辺のOSSプロジェクトの状況をお話されていたので、本体はOSS/フリーソフトでなくてもOSS活動できる時代になりました。


というわけで、学生のOSS活動に関するインタビューはいかがでしたでしょうか?

私どもは今回のインタビューを聞いていて、先日、YARV等の開発者・笹田耕一さんからOSS Hack Weekendシリーズに参加される学生の方々に向けていただいたメッセージと、ピタリ符合していたことに感動していました!

OSSの世界には、興味深い課題がたくさんあります。
そして、OSSへの貢献は、世界中の利用者へ、すぐに届きます。
それはつまり、皆さんのコードが、
世界を(ちょっとかもしれないけど)変えるということです。
これまで学んできたことを活かしてみませんか?
世界はあなたの挑戦を待っています。”

Ruby 処理系開発者
株式会社セールスフォース・ドットコム、Heroku SMTS
笹田耕一 さま より-


OSS開発に興味のある学生の皆さま、OSS開発のお作法を知る3つの勉強会、リーダブルコード / GitHub / OSS Hack 4 Beginners と、実際にOSSプロジェクトに対してコントリビュートする2日間の開発イベント、OSS Hack Weekend の公式サイトを先週4/27よりオープン&受付開始していますので、ご参加ぜひぜひお待ちしております!

[勉強会]
プログラミングが好きな学生のためのリーダブルコード勉強会 2015 | SEゼミ
プログラミングが好きな学生のためのGitHub勉強会 2015 | SEゼミ
プログラミングが好きな学生のための勉強会 OSS Hack 4 Beginners | SEゼミ

[開発イベント]
プログラミングが好きな学生のための成果発表 OSS Hack Weekend | SEゼミ


また、もしOSS活動をされている学生の方が周りにいらっしゃれば、インタビューしたいと思っていますので、自薦他薦問わず、ぜひお声掛けくださいませー!

伽藍とバザールを読んで,まつもとゆきひろ:ネットを支えるオープンソース〜ソフトウェアの進化 という講演に行ってきた

f:id:sezemi:20150420174604j:plain

前回のエントリーの通り,OSSに関する開発イベントや勉強会を行うにあたり,伽藍とバザールを読んで,その背景となる文化を感じようと思い,その集大成として,

まつもとゆきひろ:ネットを支えるオープンソース〜ソフトウェアの進化 | Peatix

という講演に参加してきました.
# ハッカーと画家 も読んだのですが,同様に刺激的で,Lispサイコーという話が半分でした.Y combinatorの話とはまた違って,趣がありました(ここでは触れません)

 

伽藍とバザール

伽藍とバザール*は,一部のエリートプログラマ達がクローズドに作る,いわゆる伽藍方式の方が,品質が良いソフトが出来るとされていたところに,すべてオープンにして世界中のプログラマがよってたかって開発するバザール方式で開発したLinuxが大成功し,それが何故できたのか,探求していくというお話で,後半はそのOSS開発コミュニティをどう作るのか,というお話でした.

*ネットでも公開されていますが,私が読んだのは書籍となったもので,伽藍とバザール / ノウアスフィアの開墾 / 魔法のおなべ という3本の論文の和訳と第4章 エリック・レイモンド大いに語る / 第5章 ノウアスフィアはぼくたちの開墾を待っている / 第6章 訳者あとがき が収録されています 

伽藍とバザール

伽藍とバザール

 

 

その伽藍 v.s. バザールの大きな違いとして,バザール方式の以下のような点を挙げていました。

"はやめのリリース,しょっちゅうリリース"
早めのリリース、ひんぱんなリリース。そして顧客の話を聞くこと。

 

まさか,1997年の論文にこんなことが書かれているとは驚いたのですが,まさしくモダンとされる開発方法と同じなんですね.


以前にクリアコードの須藤さんから「今のアジャイルなどはすべてオープンソースの開発文化から来てるんだよ」と言われていたのを実感できてなかったのですが(スイマセンスイマセン),だいぶ時間がたって腹落ちした次第です.

 

なぜ,無償の活動にエンジニアは参加するのか

そして,次に重要になるのが,なぜボランタリーにも関わらず,世界中のプログラマが参加したのか,というところなのですが,伽藍とバザールでは,

そのしょっちゅうリリースの貢献者に,しっかりとしたエンジニア界での評価というご褒美があるから

とありました.

 

また,なぜ、そんな評価という無形のご褒美が効いたのか,訳者の山形浩生さんの 第6章 訳者あとがき には原著者のエリック・レイモンドさんがこう答えたとあります 

Raymondの答・・・・・・みんな暇だから。暇で、物質的にはある程度充足しているから。
 これは大事なポイントだ。そして、そういう物質的に充足した社会では、従来の市場による稀少資源の配分システムが機能しない。
 そのとき、別の原理が動き出す。贈与によって名声を得るという原理だ。これがハッカーたちにフリーソフトを書かせる動機なのだ! 

 

そして,この文化により,バグを作ってしまった人をDisるのではなく,バグを直した人が賞賛される文化になり,品質(機能も含め)が高まったとありました.

 

そして,この評価システム (例えば★やフォロー,コントリビューターを記載する) をうまく取り入れ,見える化したのがGitHubであり,全世界で920万人が使われる原動力が,ここにあったのかと目からウロコでした.

*何かのエントリーでGitHubはエンジニアのSNSだぜ,というのを見た気がしたのですが,ようやくそれが符号しました
*どこで見たんだろう?


ネットを支えるオープンソース ソフトウェアの進化 という講演に参加して質問した

こういった見地をもとに,この講演に参加してきました.

kci-salon05.peatix.com

プログラムとしては,第一部にまつもと ゆきひろさんの講演と,第二部にパネルディスカッション(まつもとさん,Mozilla Japan代表の瀧田さんがパネラー,TechCrunchJapan編集長の西村さんがモデレーターとなって進行) という,2つの構成でした.

まつもとさんの講演では,エンジニアから見たOSSの世界と,ビジネスの見地から見たOSSの世界と,この二極から講演され,エンジニアから見たOSSの世界では,ソフトウェアの歴史を紐解き,コードが自由に見れて改良できた牧歌的な時代から,幾つかの事件から商用ソフトへの流れ,それに対するオープンソース・ソフトウェアのムーブメントと歴史について講演されました.

この講演では,色々なお話が聞けて,リチャード・ストールマンさんという天才プログラマがいなければ,今のOSSはまた違ったものになっていたので,未来の教科書に載せるのはこの方だとおっしゃっていたり,ソースコードを読むことが優秀なエンジニアへの道だとか,ビジネスの観点からは,今後OSSを活用していかなければ,自社の差別化要素となるコアコンピタンスとなるソフトウェアの開発スピードが遅くなる,などなど30分の講演があっという間でした.

 

そして,この中で締めくくりとしてお話されたのがこちらでした.

技術者の楽園を守る = フリーソフトウェア/OSS がある意味

 

# まつもとさんの講演の締めくくりの言葉そのものはリチャード・ストールマンさんがよく使う,Happy Hacking! でした.(どこかで使いたいなぁ)

# Happy Hacking Tシャツがある! 

GNU Press | Free Software Foundation Online Shop | Buy GNU t-shirts, books, stickers and stuffed gnu toys


どういうコントリビュートが良いのか?

そのあとのパネルディスカッションでは,どちらかライセンスやOSSコミュニティの意思決定についての話が多かったのですが,途中,OSSの世界に足を踏み入れたときのことを,Mozilla Japan 代表の瀧田さんがお話されていて,最初はコントリビュートするとか非常に面倒くさくて,敬遠してきたのですが,その壁を超えたとき、世界中のエンジニアが反応してコメントをもらったりしたのが感動だった,とお話されていました.

これをもっと聞きたいなぁと思い,講演終了後にまつもとさん,瀧田さんに突撃質問して,下記2点を伺ってきました.

はじめてのコントリビュートで必要なこと

コードだけじゃないというのが御両所のご意見で,自身ができることでコントリビュートすれば良いということでした
もちろん,タイポの修正でも良いし,エラー発生を挙げてもよいし,ドキュメントのローカライズでも良い(瀧田さん曰く,学生にはオススメですということで,実際にMozillaのあるプロジェクトで入試英語の試験勉強のためにローカライズで活躍していた高校生コントリビューターがいたとのこと),ただし気をつけて欲しいのが,Pull Requestの粒度やコーディンスグタイルやコントリビュート方法をしっかり読むことを挙げて頂きました.

まつもとさん,瀧田さんのはじめてのコントリビュートが何だったのか

まつもとさんは使っていた Chain Mail* というフリーソフトに対してパッチを送ったら,「もう開発をしていないので,あなたが引き継いで下さい」と言われたのが,はじめてのコントリビュートだったそうです.(*その後,メンテナーになられたまつもとさんがcmailと変えています)
# るびま にその時の模様が出ていました 
 Rubyist Magazine - Rubyist Hotlinks 【第 1 回】 まつもとゆきひろさん

続いて,瀧田さんに伺うと,Mozilla Firefoxローカライズがはじめてのコントリビュートだったそうです.

# ちなみに瀧田さんに関するWeb記事の連載の締めくくりのタイトルは "学生の内にオープンソースの世界を踏み台にしろ!" でした
 挑戦者たちの履歴書(144):学生の内にオープンソースの世界を踏み台にしろ! - ITmedia エンタープライズ
 

コントリビュート方法については,伽藍とバザールでも書かれており,上記のまつもとさん,瀧田さんのお答えとは,ばっちり合う内容でした.

4.利用は最大の賛辞ーーそしてカテゴリーキラーは追随ソフトよりもよい。
5.むずかしくて退屈な作業(たとえばデバッグドキュメンテーション書き)に継続的に貢献するのは、面白くて簡単なハックをいいとこ取りするよりも賞賛すべきことである。
6.機能の大幅な(non-trivialな)拡張は、低レベルのパッチやデバッグよりもいい。

 第2章 ノウアスフィアの開墾 13 どれほどすばらしい贈り物? より(番号は文中より)

 

上記の5.6.は一見すると,矛盾しているように見えますが,文中ではOSSプロジェクトでは相互作用していると補足されています.

ハッカーに、独自の新しいツールを開発するのと,誰か別の人のツールの拡張と、どっちで有名になる見込みが高いかときいたら、答えはまちがいなく「新しいツール」になるだろう。でも、次の二つならどうだろう。

  1. 一日ほんの数回、だれにもわからない形でOSから呼び出されるだけの真新しいツールだけど,急速にカテゴリーキラーになるもの
  2. ことさら新しくもないしカテゴリーキラーでもない既存ツールに対する拡張をいくつか。ただしそのツールは毎日使われて、毎日多くの人の目に直接触れる

この場合,ハッカーは最終的に前者に落ち着くにしても、かなりためらうはずだ。この両者は、だいたい同じくらいの地位を持っている。

 第2章 ノウアスフィアの開墾 13 どれほどすばらしい贈り物? より

 

まとめ ーOSS開発文化とは?

ということで,フリーソフトウェア/OSSの開発をほとんど知らなかった人間が,その開発文化に触れて感じたことをつらつらと書いてきましたが,まとめると,

OSSの開発スタイルはモダンな開発スタイルと同じだよ!(というよりOSSの方が断然早いんだよ!)
・エンジニア同士が互いに賞賛する文化があるよ!
OSSの世界で活躍することで,ハッカーハッカーと認めてもらえる,得難いチャンスがあるよ!
・貢献するには知っていたほうがよいお作法があるけど,自分に合ったコントリビュート方法があるよ!

ということでした.


さらに,今まで企業の採用ページでOSS活動を推奨します,とあっても「ふーん」ぐらいだったのですが,企業はちゃんと戦略的に,OSSコミュニティでの活躍を期待していて,そこで賞賛を獲得することが企業のブランディングに繋がっていることに,いまさら気付きました! 

sezemi.hatenablog.com

 


そして,最後は繰り返しになりますが,OSS Hack Weekend という開発イベントとリーダブルコード / GitHub / OSS Hack 4 Beginners という3つの勉強会を開催します.

 

sezemi.hatenablog.com

 

まもなく公式ページをオープンしますので,ぜひご期待ください!(まだ作っています)

学生向けに "OSS Hack Weekend" という開発イベントと,関連する "リーダブルコード/GitHub/OSS Hack 4 Beginners" という3つの勉強会を開催します

f:id:sezemi:20150406194819p:plain

前回のイベントより,企画しては頓挫し,あーでもないこーでもないと試行錯誤する日々が続きましたが,ようやく2015 夏までに開催する勉強会や開発イベントが固まりましたので,公式ページより先にブログにてご案内します.
# 公式ページオープン&申込開始はG.W.前後の予定です


前年2014は「チームでいいプロダクトを開発しよう」というテーマ(≒目標)でしたが,この2015 夏のテーマは,

OSSの世界で自身の実力を試そう」

として,開発イベントや関連する勉強会を開催します.

■背景

このテーマを選んだ背景として,

このような動きが加速する中で,このOSS開発文化に触れ,コントリビューターになろうとすることは,OSSの世界での活躍だけでなく現場での基本動作が習慣化されたり,イイ感じの評価が得られる絶好の機会になると考えています.

"私たちも,オープンソース・ソフトウエアが積み上げてくれたソースコードという知識を利用することで「巨人の肩に乗る」ことが可能になるのです。"

フリー言語で真のプログラミングを学ぶ - Part1 オープンソース/C言語に学ぶ「ソースコードの読み方」:ITpro written by まつもと ゆきひろさん


また,学生時代のアウトプットを採用基準にする企業が増える中,学生/企業双方がOSSへの貢献内容やどのプロジェクトを選んでいるのかを知ることで,お互いのエンジニアリングレベルや技術のベクトルを知る一つの基準になると考えています.

"人はハッカーを名乗ればハッカーになれるわけじゃないーー
他のハッカーハッカーと呼ばれた時点で、人はハッカーになるんだ。"

「伽藍とバザール」第2章 ノウアスフィアの開墾 より

OSSの世界だけでなく現場の開発で活躍できる術を学ぶ3つの勉強会

とは言え,無闇にPull Requestしろというのではなく,あくまでコントリビュートされる側の意図に添えるよう,3つの勉強会を開催します!!

1. 実際やってみて読みやすいコードとは何かを知る
=> リーダブルコード勉強会 | 6/6(sat) 開催

 by リーダブルコード(オライリー・ジャパン刊) 解説執筆者 須藤 功平さん github.com

2. Git/GitHubの基本操作に慣れPull Requestを送れるようになることと,良いPull Requestとは何かを知る
=> GitHub勉強会 | 6/20(sat) 開催

 by GitHub実践入門(技術評論社刊)著者の大塚 弘記さん github.com

3. 実際のOSSプロジェクトを題材に準備(コードの読み方やコーディングスタイル知るとか)して具体的な問題発見&解決方法をやってみる
=> OSS Hack for Beginners (勉強会) | 6/27(sat) 開催

 by 須藤 功平さん


どの勉強会でも,OSS開発への造詣が深い方々を勉強会のトレーナーやメンターとしてお招きし,OSS開発の作法や現在の状況を学んでいただきます.
# 各勉強会は自由参加です(もちろん個別の勉強会のみ参加するのもOK)
# 前年に続き,申込特典として勉強会で使用する書籍は先読み用として参加前にプレゼント&送付します

■成果発表となる開発イベント

そして,それらの勉強会で学んだことを実際にアウトプット(=成果発表)する開発イベントも開催します!

OSS Hack Weekend | 7/11(sat)-12(sun) 2日間開催

勉強会のトレーナー,メンターが引き続きサポートする環境で,好きなOSSを選んで,
拡張するもよし,高速化するもよし,バグ修正をするもよし,ドキュメントを整備するもよし,コントリビュート方法は様々に,2日間で実際にPull Requestを送っていただきます.
# プルリク特典としてオリジナル "OSS チョットデキル (デキル トハ イッテナイ) " Tシャツプレゼント (マージ特典も!!)
# 企業が主導開発するOSSプロジェクトの中の人がいらっしゃるかも!?
# この開発イベントのみの参加でもOK


ちなみに,OSSプロジェクトの選択は,学生/企業の枠を超えて,ワイワイみんなで決められるよう,リーダブルコード勉強会からチャットを開設し,以下3つから1つを選び,1人 or ペアを組んでコントリビュートしていただきます.

  • 企業が主導で開発するOSSプロジェクト
  • 事務局がピックアップしたOSSプロジェクト
  • 自分がコントリビュートしたいと思っているOSSプロジェクト


最後に,
各勉強会ならびにイベント内容の詳細を現在ブラッシュアップしている最中なので,もしこんなことやって欲しい,このOSSプロジェクトを取り上げて欲しい,などのご要望やご質問などあれば,TwitterFacebook等を通じて,ぜひお気軽にお問合せ下さいませ!

SEゼミ運営事務局 (@sezemi_seplus) | Twitter
https://www.facebook.com/seplus.sezemi


では,OSSチョットデキル を着たい,もしくは OSS コントリビュート チョットデキル (マージ特典!?)を着たい学生の皆さま,お会いできることを楽しみにしてます!!

GitHubでリポジトリを公開している国内企業をまとめてみた

関連エントリーがあるのだけど,仕事で国内を網羅する必要があったので,ついでにやってみた.anond.hatelabo.jp

気になる企業があれば,コードを読んでみたり,所属エンジニア情報を見てみても良いかも知んないなぁと思ってます.
(間違いや追記情報があれば,ぜひ教えていただけると助かります.)

abc順 *リポジトリがほとんど無い & 無いところは外しています

企業名 URL
Aiming https://github.com/aiming
Akatsuki https://github.com/aktsk
cookpad https://github.com/cookpad
CrowdWorks https://github.com/crowdworks
CyberAgent https://github.com/cyberagent
Cybozu https://github.com/cybozu
DeNA https://github.com/dena
Drecom https://github.com/drecom
dwango https://github.com/dwango
Geisha Tokyo Entertainment https://github.com/geishatokyo
GMO pepabo https://github.com/pepabo
GREE http://gree.github.io/
Hatena https://github.com/hatena
Kaizen Platform https://github.com/kaizenplatform
KAYAC https://github.com/kayac
KLab https://github.com/KLab
mixi https://github.com/mixi-inc
nekojarashi https://github.com/nekojarashi
NEXT https://github.com/next-group
Pixiv https://github.com/pixiv
Rakuten https://github.com/rakutentech
SmartNews https://github.com/smartnews
Tokyo Otaku Mode https://github.com/tokyootakumode
Treasure Data https://github.com/treasure-data
VASILY https://github.com/vasilyjp
Wantedly https://github.com/wantedly
Yahoo! JAPAN https://github.com/yahoojapan

4/21 Treasure Data を追記しました

ウェアラブルガジェットパーティというGoogle Glassなどウェアラブル端末を使ったアプリコンテストを開催しました!

レポートが遅くなりましたが,10/11より2週間の期間で,Google GlassやG Watchを使ったアプリを開発する学生向けコンテストを開催しました!

このアプリコンテストは,Google GlassやG Watchを開発会場に常設し,土日や平日夜間を使って,個人エントリーの方やチームを組んだ皆さんが思い思いの進捗で開発され,最終日10/26 のDemo Dayでデモを中心に披露し,それを審査するという流れで進めました.

・賞品写真: Google Glass / Moto360 / G Watch / Moff / Leap Motion / ChromeCast 

f:id:sezemi:20141118115105j:plain

・開発風景

f:id:sezemi:20141118115002j:plain

  

コンテスト結果

その結果がこちらです!


SEゼミ | GoogleGLASSなど新しい領域にチャレンジしたい学生エンジニアのためのハッカソン,ウェアラブルガジェットパーティ

 

DEMOの様子

Demo Dayでは開発知見が殆ど無く,Glass Developerのサイト通りコードを書いてもエラー吐く,インスコもできない,音声コマンドが通らない,などなどの闇があったにも関わらず,いずれもレベルの高い仕上がりのデモが披露されました!!

f:id:sezemi:20141118114812j:plain

f:id:sezemi:20141118114821j:plain

GlassのViewFinderで表示される画像から指で指定した範囲の写真の撮影ができる「In My Hand」のデモ

f:id:sezemi:20141118114912j:plain

Glassで認識した家電を音声とタップで操作「Glassで家電を操作してみた」

f:id:sezemi:20141118120515j:plain

アプリをインストールしている方が近づくと振動し,画面色で気持ちがわかる「QI Watch」

f:id:sezemi:20141118114803j:plain

手をかざした対象の色を認識し,照明がその対象色に近い色に変わる「Color Picker G」

f:id:sezemi:20141118114629j:plain

教師が予め設定した質問を音声コマンドで出題でき,そのコメントデータがニコ動風にGlassのディスプレイに表示されるTA Glass (画像はCromeCastでミラー画面を転送したもの)

 

期間中に初めてOpenCVにチャレンジし実装する方もいれば,リーン・スタートアップよろしくValidationするチームもいれば,ECHONET Liteというプロトコルを使って家電を操作にチャレンジする人もいるなど,間に合うかどうか心配する一方で,本当に野心的に開発されておられ,そのレベルの高さに脱帽してました‥

#スポンサーからは全員採用したいとのお声が上がるほど

個人的には教室の「?」を可視化するTA Glassや,パーティやクラブで異性の気持ちがわかるQI Watchが欲しいなぁ.

 

今後GlassやWatchのアプリ開発に挑戦するエンジニアの方向け知見

参加した学生の方から寄せられたGoogle GlassAndroid Wearのアプリ開発に取り組むエンジニア向けの知見は下記の通りです.(2014年10月現在)

・基本的にはスマートフォンと同じであるが、ボイスコントロールなど特有なことが大変かもしれません。マニフェスト記述漏れとか細かなミスともあるので、気をつけてください
・Glassの処理能力、プロセスの切り方
・意外とwatchは制限が辛いっす
・はじめにそのウェアラブル端末で使える機能などを調べつつアイデア形成を進めていった方が良い。
・実機は必要
・GlassはEmulatorないけど端末でデバッグできるよ
・まだウェアラブルデバイスの開発環境は初期段階で未来的で高度なアプリはリソース的に厳しい.簡単に開発できて計算コストが少ないアプリならいいかも.そしてみんなウェアラブルデバイスを使う日がくるのか!?
・はじめてAndroid開発される方いたらこの本オススメです!ほんとわかりやすいです! 

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

 

 

スクラム勉強会も開催

また期間中は,チーム開発に取り組む方向けに,SCRUM BOOT CAMP THE BOOK 著者の西村直人(@nawoto)さんをお招きし,短期開発に効くスクラム勉強会を開催しました!

ポスター制作を通じて,何を作るのか,何がユーザーに響くのかをチームで共有する演習や,小さくとも動くものを作り開発を進めるやり方をマシュマロチャレンジで実際にやって頂きました.

#西村さん,ありがとうございました!!

f:id:sezemi:20141118122132j:plain

 

まとめ

Google Glass / G Watchを使ったWGPというアプリコンテストを10/11~10/26で開催しました

OpenCVを使ったアプリが3組も発表されるなどレベルの高いデモが披露されました

・未知の領域の開発はそれなりに闇もあるけど,楽しいよ

アジャイルな開発はコンテストやハッカソンでも使えるよ


開催話側としては,ウェアラブルという未知の領域で,知見をみんなで共有し,ワイワイガヤガヤ開発していたのが心に残る風景でした!

f:id:sezemi:20141118115547j:plain

ご参加頂いた皆さま,あわせて本コンテストと6月から続いた全勉強会にスポンサーいただいた楽天様,本当にありがとうございました!!

 

また来年2015年3月にSEゼミ 2014 Winter として,勉強会やコンテストなど開催しますので,引き続き,ご愛顧のほど,よろしくお願いします!!

ウェアラブルガジェットパーティの賞品が確定しました!

台風がくるとか来ないとか(2014/10/9現在),言っている中,いよいよウェアラブルガジェットパーティ(WGP)が10/11(土)のキックオフパーティを皮切りにスタートします!!


SEゼミ | GoogleGLASSなど新しい領域にチャレンジしたい学生エンジニアのためのコンテスト,ウェアラブルガジェットパーティ

 

タイトルがまだ直っていませんが(今更気付いた),ハッカソンからアプリコンテストに変更し,参加特典だったガジェットはコンテスト賞品に変更となりました.

その賞品ですが,ようやく入荷のメドがつき,開催を2日前に控えたところで,ようやく確定できたので,発表します!!

ウェアラブルガジェットパーティ賞品

お待たせした分,ご満足頂ける内容になったと思っています!!

1位の方から賞品は先取り / ウェアラブルじゃないガジェットもあるのはご愛嬌

 

賞品が欲しいと思った学生エンジニアの方は,まだ参加申し込みを受付していますので,ぜひ申込お待ちしております!!

 

なお参加条件は下記のとおりです.

 (開発するもの: GoogleGlass or G Watchに対応するアプリ)

  • キックオフパーティ (10/11) でコンテストに個人 or チームでEntryすること
  • Demo Day (10/26) までにMVPを開発し,プレゼン&デモをすること

 

また開発会場は 10/12 , 13 , 18 ,19 と開放しており,検証端末としてGlassとWatchを常設しているほか,ホワイトボード,参考書籍などを置き,リモートもしくはオンサイトで開発を進めていただきます.(会場への参加は自由)

 

あわせて,10/12 18:30 からは短期開発に効くスクラム勉強会を併催し,SCRUM BOOT CAMP THE BOOK (翔泳社刊) の著者,西村直人さんをコーチとしてお招きし,数あるスクラムの手法から短期開発に効くワザをワークショップ形式で身につけていただきます.(WGP参加者以外も参加可能)


短期開発に効くスクラム勉強会 - connpass

 

では,いよいよウェアラブルガジェットパーティ開幕です!!

ウェアラブル端末はコンピュータではなく「新しいI/O」と考える

f:id:sezemi:20140808152628j:plain

前回のリーン・スタートアップ勉強会では、
ウェアラブル端末を使った新しいアプリ・サービスを考えよう
というのが課題だったのですが、実際にウェアラブル端末を題材として考えてみて、どう思われたのかをアンケートしていました。

 

Q.実際にウェアラブル端末を題材としてみて、端末に関する気付いたことや今後の予測、感じたことなどご入力下さい。

f:id:sezemi:20140808153241p:plain


まだ普及段階に無いせいか、利用イメージすることが難しく、どうしてもスマートフォンでできる、ウェアラブルである意味が見出せないというご意見が多かった結果となりました。

ウェアラブルガジェットパーティ(WGP)というハッカソンを企画中のところ、これはちょっと由々しいことなので、あーでもないこーでもないと深堀りして考えてみました。

そして、タイトルの結論に辿り着いたので、そこまでの過程を記載します。

(以降、完全に主観であり、当たり前のお話過ぎる部分があるのですが、ぼっちで考えて、自分なりに結論にたどり着いたことに興奮してしまったのでエントリーしています。ご容赦ください)


スマートフォン is 手のひらサイズのコンピュータ

まず、スマートフォンとは何か、いろいろ定義がありますが、これは下の記事の堀江貴文さんのお話を拝見して、唸ってしまいました!

スマートフォンは電話ではなくてPCです。インターネットに常時接続したPCが手のひらにある世界が来ているんです。

「世界が変わらないのはエンジニアのせいでもある」堀江貴文氏がフリーエンジニアに向けて放つ5つの提言 - エンジニアtype


そして、スマートフォンはコンピュータであると考えると、ウェアラブル端末の位置付けが非常にスッキリ考えられたのです。

 

#この線で考えると、タブレット is 持ち運びしやすく操作が簡単なパーソナルコンピュータとなり、PCとほぼ同等の機能を求められている現状を考えると、まさしくPCのリプレイスを果たすデバイスですね


ウェアラブル端末 is not 身につけられるコンピュータ

現在のウェアラブル端末はスマートフォン(つまり、コンピュータ)との連動を前提としており、ウェアラブル端末はコンピュータが備えるべき五大装置、つまり入力、演算、出力、記憶、制御の全ては満たしておらず、コンピュータとは言えません。(あくまで2014年8月現在)

つまり、ウェアラブル端末はスマートフォンを代替するものではありません。

#となると、スマートフォンの代替は 電脳か? ロボットか? と思ってしまいますね


ウェアラブル端末 is 何 ??

スマートフォンがコンピュータという前提に立つと、

ウェアラブル端末は「新しい I/O」

と言えるのでは無いでしょうか。
また既存のI/O、キーボードやマウス、モニターなどと違い、「身につけられる = 五感(*)を使う」という点が大きく異なっています。

(*)正確には視覚、聴覚、触覚ですね (今のところ鼻や舌と関連する端末は無いはず!?)

 

となると新しいI/Oであるウェアラブル端末では、Inputが見たもの、音声、脈拍、振動、ジェスチャーなどになり、同じくOutputが視野の一部、振動、音などになります。

そして、五感に訴えやすくなるため、拡張現実、仮想現実を生み出しやすくなります。

当たり前の話で恐縮ですが、スイマセン、自身の頭をクリアにするためにも、この定義が必要でした。 


ウェアラブル端末を使った既存アプリ・サービスの新しいI/O を考えると面白い

新しいコンピュータが登場したと考えると、私の場合、どうしてもその上で動く新しいアプリ、サービスを考えてしまい、発想が難しくなりました。

ただ、これを単なるI/Oと考えると、何も新しいアプリにこだわらなくなり、「既存のアプリに新しいI/O を加えるとどうだろう」と考えると、私の場合、アイデアが色々と出てきました。

ex.

新しいI/Oを使って、mail、SNSなどのコミュニケーションを、よりリアルに、より拡散しやすくする
新しいI/Oを使って、ゲームやミュージックなどのエンターテインメントを、より臨場感が得られるようにする
新しいI/Oを使って、ナビや乗り換え案内を、よりわかりやすくする
新しいI/Oを使って、レシピを、より投稿しやすくする
新しいI/Oを使って、出退勤管理システムを、より自然にする

etc.

 

これをお読みの皆さんはいかがでしょうか?

ウェアラブルらしい新しいアプリを考えなくてよかったんだ!!!! って開放感? は得られますでしょうか。
(もちろん新しいアプリが出てくるのは凄いことなのですが...)

 

#ちなみに既存アプリとのマッシュアップの実現例

 

 

ということで次回のハッカソン、ウェアラブルガジェットパーティは、

 (1) ウェアラブル端末を使った新しいアプリを作ろう(*)
 (2) ウェアラブル端末を使って人気アプリをマッシュアップしよう

 (*) 最低限動いて検証できるMVPまでの開発を指しています

この2テーマで開催しようと考えています!!!!


学生の皆さまには、この(2)のテーマが面白いかどうか、メンション、DM、メールなどどんな手段でもかまいません、 ぜひご意見をお寄せいただきたく、
そして、面白いかも! と思われた (2) の人気アプリをもつ企業の皆さま、ぜひぜひ一緒に考えさせてください!

 

ご意見、感想などお待ちしています!!