株式会社クリアコード > ククログ

ククログ

タグ:

RubyKaigi 2016にスポンサーとして参加 #rubykaigi #oss_gate

予告通り、2016年9月8日から10日まで3日間開催されたRubyKaigi 2016にスポンサーとして参加しました。今年はブースを出せるということだったのでブースを出しました。(スピーカーとしての参加についてはHow to create bindings 2016を参照してください。)

クリアコードブース

クリアコードは例年RubyKaigiをスポンサーとして応援しています。応援することが目的なので特に会社としての明確なメリットを設定しておらず、次のような「こうなるといいな」が実現されたらラッキーくらいに考えています。

そのため、それほど前のめりなブース利用はせずに、次の方々にクリアコードブースの一部を提供しながら利用しました。

  • SMSさん
    • 背景1:スポンサーになるのがRubyKaigi 2016開催直前でブースを使えなかった
    • 背景2:OSS開発支援サービスbm-sms organization以下にあるdaimon-XXXの開発に参加しているつながり
    • 補足:寿司とトンカツのチロルチョコを配りながら採用活動をしていたのがSMSさんです。
  • やまねさん
    • 背景1:High Tech Seat in mrubyの発表内で実施した「ウォシュレットをmrubyで制御する」デモを展示する場所を探していた
    • 背景2:たいやき部つながり
    • 補足:たくさんの方がデモを体験して喜んでいたので場所を提供できてよかったです。

ブースの残りのクリアコード分ではOSS Gateの紹介をしていました。今のOSS Gateのワークショップは個人が対象(土曜日開催なので企業が社員に土曜日に行ってこいとはなかなか言えない)なので、企業でOSS開発に取り組みたいという方にはOSS開発支援サービスを紹介しました。何人かMozilla Firefoxのサポートに興味のある方がいたのでその方たちにはサポートサービスの説明をしました。もう少しGroongaの紹介もした方がよかったです。

発表後の質問の受け付け場所としてもブースを利用しました。これはとてもよくて、発表で触れていないことや実際に使ってみるにはどうしたらよいかなど、絵を描きながら話したほうがよさそうな話や時間がかかる話をすることができました。発表時の質疑応答時でもいくつかやりとりできたのですが、やはり、時間が限られていることもあり、別の場で補完できることは有用でした。今後、またブースがあるときは、発表後の質問の受付場所としても活用する予定です。

日本Ruby会議2009でブースを出したことがありますが、RubyKaigi 2016はそのときよりもよく設計されたブーススペースになっていました。飲食物がある休憩スペースと一体になっているために人の流れがあり、休憩時間を過ぎて話し込んでいてもセッションの邪魔にならないような部屋割りになっていました。また、ときおりスタッフが「なにか困っていることはないか」とフィードバックを受け付けに来てくれていました。途中まで、ゴミ箱がなくて少し不便だったのですが、解消してくれました。

RubyKaigi 2016はよいRubyKaigiでした。応援できてよかったです。実現されたらラッキーくらいの扱いのスポンサーのメリットですが、現時点ではOSS Gateに参加する人が増えるという件は効果がでています。20-30人くらい増えたので予想以上です。すごい。他の件についてはまだ問い合わせはありません。

つづき: 2017-01-05
タグ: Ruby | 会社
2016-09-13

クリアコード:RubyKaigi 2016にスピーカー・スポンサーとして参加予定

9月8日から10日の3日間RubyKaigi 2016が開催されます。

クリアコードは例年RubyKaigiのスポンサーをしています。去年のRubyKaigi 2015のスポンサーに引き続き、RubyKaigi 2016もスポンサーになりました。今年はブースを出します。ブースではOSS Gateとクリアコード自体のことを紹介する予定です。クリアコードが気になる人は遊びに来てください。

また、須藤と沖元がスピーカーとして話します。どちらも2日目の9月9日です。須藤は10:30からのセッションで最新のバインディングの作り方について話します。沖元は14:20からのセッションでRubyリファレンスマニュアルについて話します。

ところで、8月21日にリリースされたRubyist Magazine 0054号では東京 Ruby 会議 11 運営記録がよかったです。この記事の中に事前インタビューの目的が書いてあります。4つ目の目的として「発表者に事前インタビューすることで、発表の内容を事前に考えて貰う」が挙がっています。RubyKaigi 2016では事前インタビューはありませんが、ここに発表内容を事前にまとめることで同じ目的を達成できるはずです。ということで、須藤の発表内容を紹介します。

2016年のバインディングの作り方

バインディングとはRuby以外の言語(主にC言語とC++言語)で実装された機能をRubyで使うためのライブラリーです。バインディングを使うと、Rubyでその機能を実装しなくてもその機能を使えるようになるため、短時間で高品質の機能が手に入(ることがあ)ります。また、C言語での実装はRubyでの実装よりも10倍100倍速いことがざらにあるので、性能面でも有利です。画像処理・動画処理・音声処理・全文検索・機械学習・統計処理・暗号処理などは実装コスト・性能の両面からバインディングを利用して既存実装を活用するのが向いている分野です。

というような背景があり、RubyをWebだけでなく様々な分野で活用するためにはバインディングは重要です。そんなバインディングの作り方を紹介するのが須藤の話です。

以下、説明が続きますが、文章だけで図がないため関係がわかりにくいかもしれません。RubyKaigi 2016までには図も用意する予定です。

拡張ライブラリーとしてバインディングを作る方法

バインディングを作るために使える仕組みが拡張ライブラリーです。拡張ライブラリーはC言語で実装された機能をRubyに組み込む仕組みです。C言語で既存の機能をラップする拡張ライブラリーを作ることでバインディングになります。

拡張ライブラリーの難点の1つに「インストールするためにはCコンパイラーが必要なこと」があります。拡張ライブラリーを使うためにはコンパイルする必要があるため、Cコンパイラーがないと拡張ライブラリーを使えません。GNU/LinuxやBSD系などCコンパイラーを用意しやすいOSもあればそうでないOSもあります。たとえば、WindowsではCコンパイラーを用意することの敷居が高く、インストールが難しいです。

この問題を解決する方法としてfat gemというやり方があります。これはgemの中にビルド済みバイナリーを入れるというやり方です。こうすることにより、ユーザーの環境にCコンパイラーがなくても拡張ライブラリーを使えるようになります。fat gemはWindowsユーザー向けだけに用意すればよいです。Windows以外のよく使われている環境ではCコンパイラーを用意することは比較的簡単だからです。

拡張ライブラリーの難点はもう1つあります。バインディング対象の機能数に応じて実装コストがあがる点です。Rubyが拡張ライブラリー用に提供しているAPIは比較的使いやすいため、拡張ライブラリーとしてバインディングを作ることは技術的にそれほど難しくありません。ただし、対象機能を1つずつラップするため、対象機能が多いとその分手間がかかるのです。

この難点を解決する方法としてバインディングを生成する方法があります。拡張ライブラリーによるバインディングの実装にはある程度パターンがあるので生成することができるのです。SWIGというツールはそれを実現するためのツールです。

SWIGを使って拡張ライブラリー用のコードを生成してバインディングを作る方法

SWIGを使うと(多くの場合は)少ない記述でバインディング用の拡張ライブラリーのコードを生成できます。これで、少ない手間でたくさんの機能のバインディングを作ることができます。ただ、SWIGを使った場合でもいくつか難点があります。

SWIGも拡張ライブラリーを使ったバインディングなのでインストールが難しい問題があります。この問題をfat gemというやり方で解決できるのは前述のとおりです。しかし、SWIGを使った場合は別の問題もあります。インストール時にCコンパイラーとSWIGが必要になる点です。通常、SWIGはシステムにインストールされていないので別途インストールする必要があります。インストール時にSWIGを必要なくする方法があります。SWIGで生成した拡張ライブラリーのコードをgemに含める方法です。こうすることでインストール時にSWIGは必要なくなります。ただし、gemに含めたときに生成した機能しか含まれません。gemに含めたときの対象ライブラリーはバージョン1で、ユーザーがインストールしようとしたときはバージョン2になっていた、という場合、バージョン2で追加された機能は使えない、ということです。

性能面でも幾分オーバーヘッドがあります。手書きでシンプルに実装したバインディングとSWIGで自動生成したバインディングではシンプルに実装したバインディングの方が高速です。バインディングのメソッドを大量に呼び出す(何万回とか)場合は影響があるでしょう。

これまでのバインディングの作成方法ではインストールの難しさが難点としてでていました。これはC言語を使っていることが原因です。つまり、C言語を使わずにバインディングを作れればインストールが簡単になります。その方法はFFI(Foreign Function Interface)を使う方法です。なお、最近のRubyで使えるFFIの実装はすべてlibffiというライブラリーを使っています。

FFIを使ってバインディングを作る方法

FFIを使うとRubyでバインディングを書くことができます。拡張ライブラリーでやっていたことをRubyで書けるようになっただけで、1つずつ機能をラップしていかなければいけない点は変わりませんが、それをCではなくRubyで書けるようになることで書きやすくなっています。

バインディングにC言語を使わなくなったことによりバインディングのインストールは確かに簡単になるのですが、バインディングが動くためにはラップ対象のライブラリーは依然として必要です。そのため、Windowsユーザーがインストールしにくいという点はそれほど解決されていません。

また、バインディングを書く言語がCからRubyになっているので手間は減ってはいますが、対象の機能がたくさんあると結局手間なのは変わりません。

なお、FFIを使うとSWIGを使ったときよりも性能が落ちます。

SWIGが拡張ライブラリーのコードを生成するように、対象ライブラリーの情報を元にFFIを使ったバインディングを生成する方法があります。それがGObject Introspectionというライブラリーを使う方法です。

GObject Introspectionを使ってバインディングを作る方法

GObject Introspectionを使うと実行時に対象ライブラリーの情報を使ってバインディングを作成できます。古いバージョンと新しいバージョンを同時にサポートするというSWIGではインストールの難易度が上がるために難しかったことを容易に実現できます。

対象ライブラリーをgemに含めなければインストールが難しいという点はFFIを使ったバインディングと同じです。ただし、対象ライブラリーもgemに含める実装がRuby-GNOME2プロジェクト内にあるため、これを活用することで対象ライブラリーも含んだfat gemを提供できます。

GObject IntrospectionはRubyだけで使えるライブラリーではなく、PythonやJavaScriptなど他の言語でも使えるライブラリーです。これは、対象ライブラリーがGObject Introspectionをサポートしていればいろんな言語のバインディングがすぐに用意できるということです。これまで、バインディングは各言語ごとにそれぞれがんばって作成するものでしたが、GObject Introspectionベースにすることにより他の言語のユーザーと協力してバインディングを作成することができます。

以上のように、バインディング作成コスト(自動生成ベース+他言語ユーザーと協力でコスト削減)とインストールの容易さという観点からGObject Introspectionを使ったバインディングの作り方が魅力的です。しかし、難点もあります。それは、(現時点ではまだ)遅いこととGObject Introspection対応ライブラリーは限られているという点です。

性能に関してはRubyKaigi 2016までに改善する予定です。

というような話をする予定です。

まとめ

クリアコードは9月8日から10日にかけて開催されるRubyKaigi 2016にスピーカー・スポンサーとして参加します。この機会に多くの人と交流できることを期待しています。それでは、RubyKaigi 2016で会いましょう。

つづき: 2016-09-13
タグ: Ruby | 会社
2016-08-25

クリアコード10周年祝い開催 #cc10th

お知らせしていた通り、クリアコードの設立記念日である7月25日にクリアコード10周年祝いイベントを開催しました。今回はGroongaのサポートサービスでお付き合いのあった小峯さんにイベントの写真を撮ってもらったので写真多めでイベントの様子を紹介します。小峯さん、ありがとうございました!

クリアコード10周年祝い 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

会場を提供してくれたSpeeeさんは非常に柔軟に対応してくれました。非常に助かりました。ありがとうございます!

対応してくれたSpeeeのみなさん 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

設立以来10年に渡り協力してきたMozilla Japanさんからはフォクすけコラボのケーキを差し入れてもらいました。とてもおいしかったです!

フォクすけコラボケーキ 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

フォクすけFAQにある通り、フォクすけの最初のデザインはクリアコードメンバーの結城です。クリアコードのロゴも結城がデザインしたものなので、結城デザインをふんだんに使ったケーキとなりました。

Mozilla Japanからは浅井さんと伊藤さんが参加してくれました。代表の瀧田さんからは花束と手書きのメッセージカードをもらいました。ありがとうございます!

Mozilla Japanのみなさん 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

同じく、設立以来10年に渡り協力してきたミラクル・リナックスさんからは樽酒を差し入れてもらいました。(呑みきれなかったお酒は会場を提供してくれたSpeeeのみなさんに振る舞いました。お祝いのおすそ分け!)

ミラクル・リナックスの高橋さんと差し入れてもらった樽酒 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

最近は営業面でもミラクル・リナックスさんと協力しており、南がミラクル・リナックスさんのオフィスにいる機会が増えています。お祝いに来てくれた高橋さんともがっちり協力して仕事をしています。

他にも@yuumi3さんからは10年もののワイン(クリアコードと同じ!)を、安川さんからはスパークリングワインをいただきました。

@yuumi3さんと安川さん 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

@smellmanさんからはおつまみのナッツを、大久保さんからは和菓子をいただきました。

みなさんからお祝いいただき、クリアコードメンバー一同大変嬉しく思っています。

参加したクリアコードメンバー 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

イベントに合わせてたくさんのお祝いメッセージをいただきました。嬉しいのでここにも同じものを掲載します。


いわいさん

おめでとうございます!


@yuumi3さん

おめでとうございます〜


smellmanさん

ぴろたんのかっこいい姿を是非みたいです。


はやみずさん

10周年たいへんおめでとうございます!!


安川要平さん(YassLab代表)

10周年おめでとうございます! クリアコードさんを1つの成功事例として、弊社もOSSに継続的に貢献できる組織になれたらと考えております!


西岡さん(株式会社Speee)

おめでとうございます!


伊藤さん(一般社団法人Mozilla Japan)

10周年おめでとうございます。 まだ御社とのおつきあい短い私なのですが、参加させていただいてもよろしいでしょうか? どうぞよろしくお願いいたします。


渡邉さん(株式会社Speee取締役)

めでたいっす! 10周年のうち、ほんの一部しか期間はかぶってませんが、想いは強いっす!! 全力でお祝いしたいっす!!!


@tSU_RooTさん


@hiroysatoさん


zundaさん

10周年おめでとうございます!! 皆様が今後ともクリアコードとともにフリーソフトウェアの各方面でご活躍を続けることと期待しています hearts


lefさん(株式会社レピダム代表取締役)

クリアコード10周年、本当におめでとうございます! OSSを中心にISVとしてここまでの業績を残されるのがどれほど大変なことか。ソフトウェアを生業としている経営者として、ただただ尊敬です。 今後の更なる繁栄と躍進を祈念しております!


高橋さん(ミラクル・リナックス株式会社)

クリアコードの皆様 創立10周年をお迎えになり誠におめでとうございます。 クリアコードさんは、様々な開発案件を通じて共に成長してきた仲間であると感じております。 今後ますますのご躍進をお祈りいたしております。


高野さん(株式会社Speee)

10周年おめでとうございます! クリアコードさんの勉強会のおかげでOSS活動を始めることができました!


Hiroshi Ohkuboさん

最近、関係プロジェクトにて(しょぼい)パッチを取り込んでもらっています。親切にご対応頂きまして、アウトプット恐怖症が少し和らいできました。 もちろん、ブログをはじめとして、各種情報にも大変お世話になっています!


やまだあきらさん(有限会社ヴァインカーブ)

10周年おめでとうございます。

お仕事でも、プライベートでも、いつも本当にお世話になっています。お話をする中で刺激を受け、そのたびにOSSの楽しみを新たにしています。


広瀬俊哉さん(株式会社SEプラス取締役)

10周年おめでとうございます!! どちらの日程とも参加できず、すいません。

というわけで、Oiwaiの気持ちと感謝を書きました

クリアコード Before/After


島田浩二さん(株式会社えにしテック代表取締役)

会社を継続して運営していくことと、価値のあるソフトウェアを継続して開発していくことには、重なる部分があると考えています。

変化に耐えられるよう、コードをよい状態に維持し続けなければ、開発を継続することはできません。 そして会社も、よい状態に維持し続けなければ、いずれ変化に耐えられなくなってしまいます。

10年という節目を迎えられたということは、クリアコードのみなさまが「開発を続けられるコードを書く」ように、会社運営と真摯に向き合ってこられた結果なのだろうと拝察いたします。

10周年、誠におめでとうございます。心よりお祝い申しあげます。

「自分達がフリーソフトウェアを書いたり使ったりするというだけではなく、より多くの人がフリーソフトウェアを書いたり使ったりするようになればよい」

そんなビジョンで活躍し続ける会社が世の中にあるのは、とてもかっこいい、とぼくは思います。 これからもぜひ、そのかっこいい姿を後ろから追わせてください。 いつもありがとうございます。

クリアコードのみなさまの、今後ますますのご活躍を心よりお祈りしております。


てぃがーさん

以前OSS Gate WorkShopに参加させていただいたものです! 10周年おめでとうございます。


@su_kun_1899さん

10周年おめでとうございます!

「リーダブルコード」の読書ログに「この本で一番よかったのは解説だ」って書いています!リーダブルコードの解説を書いてくれてありがとうございます!

しかし、この本で最も素晴らしいと感じたのは巻末の解説だ。 正直なところ、可読性の高いコードを書くかどうかなんての個々人のパーソナリティに依存してしまうと思っていた。 (丁寧に変数名をつける人は、そもそも気を使えるでしょう、というように)

つまり、本書を手に取るような人はそもそもコードの品質に気を使っている人であり、問題はそうではない人たちが残念ながらいることなのだ。

解説では、この本を読んだ後にまず自分が実践し、 そして次に仲間たちに伝えていくことの重要さを説いている。

ほぼ全てのプロダクトが、一人だけで作っているわけではない。 こういう書籍を読んだ後に大事なのは、自分が得たものを如何に現場にフィードバックしていけるかどうかだと改めて教えられた。

関連ツイート:


tricknotesさん(株式会社えにしテック)

10周年おめでとうございます!

クリアコードさんからは気づけばいつも多くの学びをもらっているなと感じます。 それは例えば、気になって調べてみたライブラリ(クリアコードの方がメンテされている、というのに後から気づく)のコードからであったり、調べ物で行き着いた先のククログからであったり。

ちゃんと実績を積んで、その価値ある成果を誰でも自由に利用できる形で世界に残して続けている姿には尊敬の念を抱くばかりです。 わたしもその姿を目指して頑張っていきたいと思います!

今後のご活躍も陰ながら応援してます!


dynamisさん(一般社団法人Mozilla Japan)

クリアコード10周年!ステキ!(・・). これから更に10年、ますます発展されていくクリアコードさんとより緊密に仕事をしていければ幸いです。


鈴木大輔さん(有限会社ヴァインカーブ)

10周年おめでとうございます! これからもますますのご繁栄とご活躍をお祈りしています!


野村さん

会社設立十周年、誠におめでとうございます! 今後ますますご活躍くださいますこと、心より期待しております! :)


村上さん

クリアコード10周年おめでとうございます!


イベントではお祝いに駆けつけてくれたみなさんからのトークもありました。

安川さんからは「Ruby on Railsガイドを翻訳する活動はOSS Gateで取り組んでいる活動のようにOSS開発に参加する人を増やすきっかけだよなぁ」というトークがありました。その通りですね!ドキュメント関連の活動をきっかけにOSS開発に参加するというのもとてもよいですね!

Speeeの高野さんからは「Speeeさん向けOSS GateワークショップをきっかけにOSS開発へ参加するようになった!」というトークがありました。とてもうれしいことです。発表資料はクリアコード10周年祝い LTスライドで公開されています。高野さんのOSS開発への歩みはクリアコードさんのおかげでOSS活動デビューすることができました! - TECHNICA Speee engineer blogにまとまっています。

安川さんと高野さんのトーク 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

このような感じでみなさんとクリアコード10周年を楽しくお祝いできました!

イベントの様子 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

これからもクリアコードをよろしくお願いします!

集合写真 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0

つづき: 2017-01-05
タグ: 会社
2016-07-27

クリアコード10周年祝いイベント開催のおしらせ

クリアコードは7月25日が設立記念日です。今年の設立記念日(2016年7月25日(月))の夜はクリアコード10周年祝いイベントを開催することにしました。以下のような方はぜひお越しください!

  • クリアコード10周年をお祝いしたい!
  • クリアコードの活動が役に立ったことがあるのでお礼を言いたい!

クリアコードは設立当初から業務で開発したソフトウェアや業務で得られた知見などを多くの人が自由に使える状態で公開してきました。

たとえば、C/C++言語用のテスティングフレームワーク迷惑メール対策ツールFirefox/Thunderbird関連ソフトウェアなどはクリアコードが1から開発して公開しているものです。クリアコードが1から開発したものではなく、既存のソフトウェアに対しても同様です。修正・改良を本家に取り込んでもらって自由に使えるようになっているものが多数あります。量で言えば全文検索エンジンGroongaに関連するものが一番多いです。(たぶん。)

知見は以下のようにいろいろな方法でいろいろな内容を自由に使える状態で公開してきました。

10年間、このような活動を続けられたのはこれまでクリアコードに関わってくれたみなさんがあってこそです。そのような方々と一緒にお祝いし、どういうことで役に立てていたのかを共有できる場があると、これからのクリアコードの活動に役立てられそう!と期待しています。

残念ながら都合が合わなくて参加できない方は、オンラインでお祝いメッセージを受け付けているので、ぜひ、メッセージだけでもお送りください。

それでは、みなさんと一緒に10周年をお祝いできることを楽しみにしています。

つづき: 2016-07-27
タグ: 会社
2016-07-13

クリアコード第11期開始

2016年6月30日でクリアコードは第10期を終えました。10年存続したということです。

10年前、クリアコード設立したときは、10年続けられたらすごいね、と話していたものですがそれが実現したことになります。クリアコードのサイトのトップページにはその月にあっためぼしいことのリストがあります。2009年(3年目)以降はほぼ毎月なにかしらの項目があり、社外に報告できることを継続してきたことがわかります。

クリアコードは設立時から「フリーソフトウェア(「ユーザー」が自由に使えるソフトウェア)を大事にしながらちゃんとお金も稼ぐこと」を目指してきました。お金を稼がないと継続できなくなり、結果的にフリーソフトウェアも大事にできなくなってしまうからです。10年経った今でもその方針は変わっていません。今は、設立当初にやっていたことよりもさらに多くのことをできるようになっています。つまり、この10年でよりうまく方針を実現できるようになったということです。

参考:

2016年7月1日から第11期が始まりました。これからも方針を変えることなく、今よりももっとうまくできるようになっていく予定です。これからもクリアコードをよろしくお願いします。

タグ: 会社
2016-07-01

OSS開発支援サービスを開始 #oss_gate

クリアコードは「OSS開発支援サービス」の提供を開始します。

「OSS開発支援サービス」について

「OSS開発支援サービス」はその名の通り「お客さんがOSSを開発すること・お客さんがOSSの開発に参加することを支援するサービス」です。以下は支援の仕方の一例です。実際にこのサービスを提供するときは、以下の例をそのまま全部提供するのではなく、お客さんの現状にあった適切な支援はなにかを考えるところからお客さんと一緒に取り組みます。

  • お客さんが開発しているOSSの開発にクリアコードが参加する
  • お客さんが使っているOSSの開発に、お客さんが参加することを、クリアコードが支援する
    • 開発に参加する方法をワークショップ形式で伝える
    • バグレポートをする前にレポートをレビューする
    • 機能提案レポートをする前にレポートをレビューする
    • pull request・パッチを送る前にコードをレビューする
  • お客さんが開発したソフトウェアを、お客さんがOSSにすることを、クリアコードが支援する
    • ソフトウェアの一部をOSSにする場合、どの部分をどのようにOSSにするとよいかに関して技術面・ビジネス面から相談にのる
    • OSSをメンテナンスすることに関する情報提供・技術的支援

企業としてOSSを開発すること・OSSの開発に参加することにはメリットがあります。たとえば次のようなメリットです。

  • 企業外の開発者とやりとりしたり、企業外の開発者が書いたコードを読むことで、企業内の開発者の技術力があがる
  • 使っているOSSの問題を手元で回避するよりも、OSS側で直した方がメンテナンスコストが低い
  • 企業の技術力をアピールする機会になる
  • 企業外の開発者に企業を知ってもらいやすくなる

もちろん、すべての企業にとってこのようなメリットがあるわけではありません。このようなメリットがある企業もあるということです。そして、メリットがある企業を支援するのがこの「OSS開発支援サービス」です。

企業としてOSSの開発に取り組みたいという場合はお問い合わせください。どのように取り組むのがよさそうか、どんな支援が適切そうかなどを相談するところから一緒に取り組んでいきましょう。

サービスの紹介は以上です。以下はどうして「OSS開発支援サービス」を提供することにしたかについての話になります。興味があれば続きもご覧ください。

背景

実はクリアコードはすでに何年も前から同様のサービスを提供しています。

例として「お客さんが開発しているOSSの開発にクリアコードが参加する」の事例をいくつか紹介します。

SennaGroongaの前身の全文検索エンジン)は未来検索ブラジルさんが開発しているOSSです。Sennaの開発に参加し始めたのは2008年です。

Hatoholミラクル・リナックスさんが開発しているOSSです。Hatoholの開発に参加し始めたのは2013年です。

FluentdTreasure Dataさんが開発しているOSSです。Fluentdの開発に参加し始めたのは2015年です。

今回「OSS開発支援サービス」という名前をつけてサービス提供を始めた理由は次の2つです。

  • 「このようなサービスを提供していること」をわかりやすくるため
  • OSS Gateをもっと広めるため

前者に関してはこのようにブログを書いたり、問い合わせフォームに「OSS開発支援について」という項目を追加したりしています。飲食店で外にメニューがあると入るかどうかを決めやすい、というような感じです。

後者に関しては少し詳しく説明する必要があります。

OSS Gateは「OSS開発に参加する人を増やす取り組み」です。現在はそのための1つの方法としてOSS Gate ワークショップだけを開催しています。

OSS Gateワークショップは「OSS開発に参加したことがない人」向けに作られたものです。実際、そのような人たちがOSS Gateワークショップに参加し、OSS開発に参加するきっかけになったと言っています。

OSS Gateは、趣味であろうと仕事であろうと用途や目的は関係なくOSS開発に参加する人を増やしたいという取り組みです。しかし、仕事でOSS開発に参加する人を増やす、という観点ではリーチしにくい部分があります。そこをクリアコードでフォローできないかと考えています。

たとえば、OSS Gateワークショップの開催日と開催人数です。

現在、OSS Gateワークショップは奇数月の最終土曜日に開催しています。休日なので企業としてOSS開発に参加したいという場合に利用することは難しいです。ワークショップの内容はだれでも自由に使えるライセンスで公開しているので、自分たちで開催することもできますが、まだOSS開発に参加している人がいない場合は難しいでしょう。

OSS Gateワークショップの参加人数は徐々に増えていて、次回の7月30日開催分にはキャンセル待ちがでています。企業としてOSS開発に参加したい場合、企業内の開発者が一緒にワークショップに参加したくなりますが、多くの人数が一気に同日のワークショップに参加することは難しい状況です。

OSS Gateワークショップを業務時間中にその企業向けに開催するサービスをクリアコードが提供することで、企業での開催を推進します。これによりOSS Gateでリーチしにくい部分をフォローします。

OSS GateはまだOSS Gateワークショップだけに注力している段階です。OSS Gateワークショップに参加した人が、その後のOSS開発に関して相談できるなにかを提供したいね、という話もでていますが、まだその実現には至っていません。(興味のある方はOSS Gateのチャットで相談しましょう!)

企業でOSS Gateワークショップをやった場合も「OSS開発に参加する最初の一歩を踏み出した後のフォロー」が必要になることがあります。その場合はやはり業務時間にフォローして欲しくなるのですが、OSS Gateではまだそこをフォローできません。OSS Gateでフォローできるようになっても、企業内で秘密の情報を交えながらフォローした方がいいケースはフォローできません。そのようなケースはクリアコードでフォローします。

先日、Speeeさん向けにOSS Gateワークショップを開催しました。詳細はSpeeeさんのレポートOSS Gateにあるレポートを参照してください。

このとき、「OSS Gateワークショップの次の一歩のサポートもあるとうれしい」というフィードバックをもらいました。おそらくSpeeeさん以外もそう思うでしょう。クリアコードは以前からそのあたりをフォローするサービスを提供しています。そのサービスでOSS開発に参加する人が増えることはクリアコードとしてもOSS Gateとしてもうれしいことです。必要な人たちにこのサービスが届くように「OSS開発支援サービス」としてわかりやすくしました。

長くなりましたが、「OSS開発支援サービス」という名前をつけてサービス提供を始めた理由である次の2つについて補足しました。

  • 「このようなサービスを提供していること」をわかりやすくるため
  • OSS Gateをもっと広めるため

まとめ

「OSS開発支援サービス」の提供を開始したことを宣言しました。

このサービスを利用したい、自分たちも同様のサービスを提供したい(クリアコードとしてもOSS GateとしてもOSSの開発に参加する人が増えることはうれしいことなので、それをやりたいという企業を歓迎します)など「OSS開発支援サービス」に興味のある方はぜひお問い合わせください。相談しましょう。

タグ: 会社
2016-06-27

ワークライフバランス推進の取り組み

クリアコードでは社員全員が働きやすい環境をつくることによって、全ての社員がその能力を十分に発揮できるようにすることを目的として、10月からワークライフバランスの推進に取り組んでいます。今回はその取り組みを紹介します。

なお、この記事は取り組みの様子の社外への紹介だけでなく、クリアコード社員に向けての周知も兼ねています。

ワークライフバランスに取り組むきっかけ

クリアコードは創業から今年で10年となり、社員のライフステージも変化してきています。設立当初は一人暮らしの社員がほとんどでしたが、結婚して共働きをしている社員や、子育て中の社員が増えてきました。

そのような変化にともない、家事や子育てと仕事を両立したい、あるいは自己啓発の時間を確保したいといった声が聞かれるようになりました。以前からフレックスタイム制の導入、残業時間削減、有給休暇の100%取得などを行ってきましたが、家族と過ごす時間を増やす、自己啓発の機会を作るためには別の施策の必要性が増してきました。 そこで現在、東京都の中小企業ワークライフバランス推進助成金という制度を活用して、ワークライフバランスの推進に取り組んでいます。

ワークライフバランス実態調査

ワークライフバランス推進の最初の取り組みとして、社員がワークライフバランスについてどのように考えているのか、その実態を調査することにしました。新宿区のワーク・ライフ・バランスに関する企業および従業員の意識・実態調査報告書にある「ワーク・ライフ・バランスに関する従業員の意識・実態調査アンケート」調査票を使って社内アンケートを実施した結果からは、次の課題が見えてきました。

  • 就業規則があまり理解されていない
  • 柔軟な働き方を推進するための法制度について認知されていない
  • 仕事とプラベートの調和を図りたいが、実際は仕事を優先している(ただしワークライフバランスはまあまあ取れているという人がほとんど)
  • 時間短縮勤務と在宅勤務を望む人が多い

就業規則があまり理解されていない

アンケートでは会社の制度として様々なワークライフバランス支援策の有無と利用の意思についての質問がありましたが、支援策の有無については回答がバラバラであったことから、就業規則等が正しく認識されていないことがわかりました。

なお、アンケートで取り上げた各制度のクリアコードにおける有無は以下のとおりです。

Q 法定を超える育児休業、介護休業制度
A ありません。法定通りの育児介護休業規程となっています。利用実績はありません。
Q 短時間勤務制度
A あります。 育児介護のため1日6時間勤務にする制度があります。利用実績はありません。
Q フレックス勤務制度
A あります。2008年に導入し、すべての社員が利用しています。
Q 始業・終業時刻の繰り上げ・繰り下げ
A ありません。フレックス勤務制度を活用することで同等の効果が期待できます。
Q 残業の免除
A あります。育児期間中の残業を免除する制度があります。ただし、最近は全社員がほぼ残業0となっており、申請する必要がありません。
Q 残業時間の削減
A あります。就業規則で定めたものではありませんが、毎月残業時間が0になるように全社で取り組んでいます。 残業をした社員には、フレックス勤務制度を活用して、早帰りを推奨しています。
Q 転勤への配慮
A ありません。ただし、就業規則ではそのような規定はありませんが、これまでに会社都合で転居を伴なう転勤を命じたことはありません。(この設問は、全国に事業所があるような会社内での転勤を想定したものです。)
Q 勤務地限定・選択制度
A ありません。ただし、就業規則ではそのような規定はありませんが、勤務地は基本クリアコード本社であり、勤務地を限定する必要はありません。(この設問は、全国に事業所があるような会社内での転勤を想定したものです。)
Q 再雇用制度
A ありません。ただし、一度クリアコードを辞めた人を再び迎え入れるためだけの特別な制度は設けていないということで、辞めた人を迎え入れないというわけではありません。
Q メンタルヘルスの相談窓口の設置
A ありません。ただし、メンタルヘルスの不調についての相談に応えることはできませんが、治療のために通院しやすいよう勤務時間の変更や休暇を取得しやくすることはできます。

就業規則は社員であればRedmine上で誰でも見られるようになっています。 クリアコードの社員の皆さんは、ぜひこの機会に就業規則に目を通してみてください。 また就業規則の疑問点や、改善のアイデアがあれば、是非聞かせて下さい。

まとめ

今回はクリアコードにおけるワークライフバランス推進の取り組みについて紹介しました。就業規則から自社のワークライフバランスへの取組状況が見えてくると思います。読者の皆さんも、久しぶりに就業規則を読んでみてはいかがでしょうか。今回扱えなかった課題への対応はまたの機会に紹介します。

つづき: 2017-01-05
タグ: 会社
2016-01-20

クリアコード:RubyKaigi 2015にスピーカー・スポンサーとして参加予定

12月11日から13日の3日間RubyKaigi 2015が開催されます。なんと、もう今週です。3日目は学生は無料で入れるということなので、学生の方は3日目の16:40から咳さんのActor, Thread and meを聞きに行くといいです。最後の「and me」がかっこいいですね。

クリアコードは例年RubyKaigiのスポンサーをしています。去年のRubyKaigi 2014のスポンサーに引き続き、RubyKaigi 2015もスポンサーになりました。

また、須藤がスピーカーとして2日目の12月12日の10:45からのセッションで話します。Rubyのテスティングフレームワークの歴史+αについて話す予定です。

例年、クリアコードにとってRubyKaigiは数少ない露出の機会となっています。RubyKaigiに参加したことで正社員への応募やインターンシップへの応募がきます。昨年はRubyKaigi関連の機会を活用し、正社員が2名増えました。今回の機会もぜひ活かしたいところなので、クリアコードを知っていて応援したいという方は、会期中、まわりの人にクリアコードを紹介してください。ご協力よろしくお願いします。

リーダブルコードワークショップのチラシとGroonga族のステッカーも配布する予定なので、こちらも応援よろしくお願いします。

タグ: Ruby | 会社
2015-12-09

クリアコードとフリーソフトウェアとビジネス

クリアコードは2015年7月1日から10期目に入っています。クリアコードが設立当初から大事にしていることの1つにフリーソフトウェア(ユーザーが自由に使えるソフトウェア)があります。ただし、それを大事にするにあたって「継続できること」という制約をつけています。言い方を変えると、「お金を稼ぐ」ということです。フリーソフトウェアを大事にしているという響きだけ聞くと、お金度外視でひたすらフリーソフトウェアを大事にしているイメージを持つかもしれません。しかし、お金を稼がないと継続できないので会社は潰れます。それでは大事にすることができなくなります。

ということで、クリアコードはどうやってフリーソフトウェアを大事にすることとお金を稼ぐことを両立させようとしているかを整理します。

お金を稼ぐ方法

クリアコードが使っているお金を稼ぐ方法は次の通りです。

  • 導入支援
  • カスタマイズ
  • サポート
  • 受託開発

それぞれ簡単に説明します。

導入支援

導入支援とはフリーソフトウェアのインストール・設定を支援することの対価としてお金をもらう方法です。

Mozilla製品(FirefoxとThunderbird)でよくある方法です。他のフリーソフトウェアの導入支援をすることもありますが、Mozilla製品が一番多いです。

この方法は大まかにいうと次のような流れになります。

  1. 依頼者が実現したいことをよく聞く
  2. 聞いた内容を理解し整理する
  3. どのようにしたら実現できるかを検討する
  4. 実現方法を提案する
  5. 導入する

導入支援の依頼者は対象ソフトウェア周辺に関する知識が不足しているためクリアコードに依頼します。そのため、クリアコードは自分たちが持っている知識を活かして、適切な実現方法を提案し、実際に依頼者が実現したい状態を達成することが大事になります。知識があっても、依頼者が実現したい状態と違う状態を達成してしまっては適切な支援ができたとは言えません。そのため、依頼者が実現したい内容を理解することは非常に重要です。

この流れの中でフリーソフトウェアを大事にする方法は次の通りです。できるだけこれらを実現するように依頼者と調整しながら進めます。

  • 調査や実際の作業で得た知見を誰でも利用できる情報として公開
  • 開発したツールをフリーソフトウェアとして公開
    • 例:↑のリンクに書いています。
  • 他の導入支援のために利用した・開発したフリーソフトウェアを利用
  • 導入支援中に見つけた問題を報告・修正

フリーソフトウェアを大事にするということは「開発に参加する・寄付する」というイメージがあるかもしれません。しかし、それら以外にも、関連情報を公開したり、ソフトウェアを広めたり、困っているユーザーを助けることなども大事にすることです。そうすることで開発者たちの作業が減ることにつながるからです。

そのため、これらはどれもフリーソフトウェアを大事にすることにつながります。

フリーソフトウェアを大事にするとき、依頼者のことを忘れてはいけません。クリアコードがフリーソフトウェアを大事にする行動をすると、依頼者にとってもよい状態になることを大事にします。そうしないと、依頼者の満足度が下がって継続して一緒に仕事をできないからです。仕事にならないとお金を稼げません。

ここに挙げた方法では次のような観点で依頼者にとってもよい状態になると説明して理解を求めます。

  • 調査や実際の作業で得た知見を誰でも利用できる情報として公開
    • 他の導入支援のときにすでに公開していた情報を更新することができ、依頼者は更新された情報を無償で利用できます。(たとえば、Firefox/Thunderbirdのバージョンアップがあった場合など。)
  • 開発したツールをフリーソフトウェアとして公開
    • 他の導入支援のときにも利用できるようになり、その際に機能追加・問題修正した場合は依頼者は無償でその恩恵を受けられます。(たとえば、Firefox/Thunderbirdのバージョンアップに追従する作業など。)
  • 他の導入支援のために利用した・開発したフリーソフトウェアを利用
    • 作業時間を短縮でき、費用を少なくできます。
  • 導入支援中に見つけた問題を報告・修正
    • クリアコードが独自で調査・修正してパッチをメンテナンスするよりも、メンテナンスコストが下がるので、長い期間でみると費用を少なくできます。(導入して終わりではないので、長い期間をみるのは妥当なことです。)
カスタマイズ

カスタマイズとはフリーソフトウェアの設定変更、本体変更、既存のプラグインの変更、プラグインの新規作成などの作業の対価としてお金をもらう方法です。他のお金を稼ぐ方法である、導入支援、サポート、受託開発の一環として実施することが多いです。

依頼者固有の内容については公開しませんが、一般的に使えそうな知識やプログラムは、依頼者に説明して理解を得た上でできるだけ公開します。このときの方針は前述の導入支援のときと同様です。つまり、「クリアコードはこういうポリシーなのでこうしていいですよね?」ではなく、「依頼者にとってもメリットがあることなのでこうしていいですか?」というところを大事にするということです。

サポート

サポートとは運用中に発生した問題の調査、開発時の技術的問題の解決支援などの対価としてお金をもらう方法です。Webで検索すると「OSSサポートサービス」を提供している会社がいくつか見つかりますが、それらと同様のお金の稼ぎ方です。

Mozilla製品は導入支援後にそのままサポートを提供するケースが多いです。受託開発でシステムを構築した場合はそのシステムのサポートを提供することがあります。

一般ユーザーから直接問い合わせる形でのサポート(ヘルプデスクと呼ぶのでしょうか)は提供しておらず、情報システム部門の方経由、SIerさん経由、既存のサポートサービスのエスカレーション先としてサポートを提供します。

サポートは基本的にリモートから提供しています。つまり、直接依頼者のところにいって調べることはせず、情報を提供してもらい、それらを使って問題を解決します。ただし、「行ったほうが早い」ときは行きます。

リモートでのサポート提供ではどういった情報を提供してもらいたいかを適切に伝えることが重要になります。そうしないと闇雲に時間が過ぎていくからです。そうなると問題が発生している期間が長くなりますし、依頼者の負担も増えます。結果として、依頼者の満足度が下がり、サポートサービスの利用を打ち切るでしょう。

リモートで調査するというのはフリーソフトウェアの開発では普通のことなので、フリーソフトウェア開発で培った知見を活かします。どういう知見かというと、どういうときにこのケースが発生する可能性があり、それを確かめるためにはどういう情報を知ればよいか、また、その情報をいかに少ない負担で取得してもらうか、というのを考えるということです。そのために、状況を整理する、ソースから問題が発生する可能性のあるケースを洗い出す技術などが必要になります。具体例としていくつか過去の記事を挙げます。

サポートのときのフリーソフトウェアを大事にする方法は導入支援と同じですが、「導入支援中に見つけた問題を報告・修正」が多くなります。多くの場合、なにか問題があって問い合わせがきています。そのため、それを開発元に報告する機会も多くなる、ということです。

受託開発

受託開発は依頼者が欲しいソフトウェアを開発する対価としてお金をもらう方法です。契約方法は次のどちらかのパターンが多いです。

  • 最初は請負契約で、お互いに信頼できることを確認できていて準委任契約の方が向いていそうな内容(たとえば、作業開始時にすべての作業内容が決まらないとき)なら準委任契約にする
  • 準委任契約が向いていそうな内容のときは最初から準委任契約にする

開発するソフトウェアは、すべてがフリーソフトウェアの場合もありますし、一部だけフリーソフトウェアの場合もありますし、すべてがプロプライエタリなソフトウェアの場合もあります。仕事を受けるときはフリーソフトウェアになる度合いが大きい仕事を優先します。

開発するソフトウェアがすべてプロプライエタリなソフトウェアの場合でも、フリーソフトウェアを活用します。たとえば、RubyでWebアプリケーションを開発する場合は、Ruby、Ruby on Rails、Sinatraなどのフリーソフトウェアを活用しますし、GNU/Linux上でマルチメディアを再生するアプリケーションを開発する場合はGStreamerを活用します。これはフリーソフトウェアを大事にするクリアコードとしての最低限譲れないラインです。

なお、単に活用するだけでなく、問題点や改良点が見つかった場合は開発元に報告する、知見を公開するなどでよりフリーソフトウェアを大事にする活動につなげようとします。

ただし、このときもクリアコードの都合だけを考えないことが大事なポイントです。依頼者にとってもメリットがある形、少なくともデメリットがない形での実現を目指します。

最低限のラインは依頼者が満足することです。たとえば、依頼者と約束した機能を約束した妥当な期間内に実現していること、依頼者に素早く適切な回答を返し続けることで良好な関係を築いていること、などが満足につながります。もし、前に汚いコードで作ってしまった・本来必要ない作業も(気づかずに)実施しているなどの理由で、機能の実現にかかる時間が「長い印象」を与えることが続けば依頼者の満足度は下がっていくでしょう。(妥当な理由を依頼者が理解できるように説明できれば「長い印象」はもたれないでしょう。)

依頼者にとってのメリットが見いだせない場合(たとえば、それをやっていると時間が無くなって欲しいものが実現できない場合)は、業務の空き時間や趣味のフリーソフトウェア開発のときに開発元に報告します。

業務の空き時間を作るためには効率よく仕事をします。空き時間ができたクリアコードのメンバーは空き時間がない他のメンバーが溜めている問題を代わりに開発元に報告します。

クリアコードのメンバーはもともと好きでフリーソフトウェアの開発をしてきた人たちです。そんな人たちが、クリアコードに入ったから趣味のフリーソフトウェア開発をやめた、となるのはクリアコードとしてはうれしくありません。好きでフリーソフトウェアの開発をしていた人が減るからです。

クリアコードがフリーソフトウェアを大事にする方法として、メンバーが趣味に使える時間を増やすという方法があります。クリアコードは基本的に残業をしない働き方にしています。また、1年ほど前から有給休暇の有効期限切れ日数が0になるような取り組みを進めていて、今ではほとんどのメンバーが有効期限が切れる前に使い切っています。業務時間の一部を好きなように使ってよいという会社もありますが、クリアコードは休みの日を増やし、メンバーがフリーソフトウェアの開発に使える時間を増やすことでフリーソフトウェアを大事にしています。

まとめ

クリアコードがどうやってフリーソフトウェアを大事にすることとお金を稼ぐことを両立させようとしているかを整理しました。

クリアコードは、依頼者のことを大事にし、これからも継続してフリーソフトウェアを大事にしていきます。

タグ: 会社
2015-09-17

クリアコードに入社した理由: フリーソフトウェアを仕事にしたい

はじめまして、今年の2月にクリアコードに入社した横山です。この記事では、私がクリアコードに入社した理由のひとつである「フリーソフトウェアを仕事にしたい」ということについて、フリーソフトウェアやクリアコードに興味を持ったきっかけと、入社までの経緯をお伝えします。

フリーソフトウェアに興味を持ったきっかけ

私は社会人になってから本格的にプログラミングを始めました。研修や仕事でプログラミングに触れるにつれて楽しさを感じ、研修で触れたRubyがよさそうだったので、趣味でもプログラムを書いたりしていました。

その頃、何度か社内外の勉強会で発表する機会があり、既存のプレゼンテーションツールに不満を感じていました。そこで、新しいツールを探していたところ、Rubyで作られているRabbitというソフトウェアがあることを知り、次のような点が気に入って使い始めました。

  • テキストエディタで書けるのでバージョン管理しやすい
  • うさぎとかめのタイマーで経過時間とスライドの進捗がひと目でわかる
  • フリーソフトウェアなので不満があったら自分で直せる

しばらく使っていると、SlideShareにアップロードする機能がうまく動かないことに気づきました。Rabbitがフリーソフトウェアでなかったらそこで終わっていたのでしょうが、ソースコードが公開されていてすぐに読むことができたため、プログラマーとして成長したいと思っていたこともあり、自分で直してみる気になりました。

そこで送ったpull requestがこれです。おそらく、私が初めて送ったpull requestだと思います。数時間後には取り込んでもらえて、その日のうちに早くも修正が反映された新バージョンがリリースされました。すぐに好意的な反応をしてもらえたのが印象に残っています。

自分で使っているソフトウェアの問題を自分で直すことができるというところがとても気に入って、その後もRabbitを中心にいろいろなフリーソフトウェアに関わり始めました*1

クリアコードに興味を持ったきっかけ

初めてpull requestを出してフリーソフトウェアに関わり出した頃の私は、Javaを使った金融系システムの開発や保守を仕事にしていました。公開できるシステムではなかったので、フリーソフトウェアに関われるのは夜間や週末になります。初めのうちはそれで満足していたのですが、だんだんもっと深くフリーソフトウェアに関わりたいと思うようになりました。

そんなとき、RubyのカンファレンスであるRubyKaigiの過去の資料や動画を見ていて、フリーソフトウェアを仕事にしているクリアコードという会社があることを知りました。本当にフリーソフトウェアを仕事にできるのか、にわかには信じられませんでしたが、会社のWebサイトやブログにビジネスについての情報が公開されていて、本当なんだと思いました。

入社までの経緯

そのうちクリアコードの選考プロセスであるパッチ採用に応募してみようと思っていたところ、偶然にもRabbitの作者の須藤さんがクリアコードの代表取締役で、クリアコードに興味はないかと声をかけてもらったのが入社の直接のきっかけになりました*2

そして、今年の1月に今まで住んでいた札幌から東京に引っ越し*3 、2月から入社となりました。

まとめ

私がフリーソフトウェアやクリアコードに興味を持ったきっかけと、入社までの経緯をお伝えしました。フリーソフトウェアやクリアコードに興味がある方に参考にしてもらえるとうれしいです。

*1 Rabbitには今もコミッターとして関わっています。私のRabbitへのコミットの一覧はGitHubで見ることができます。

*2 特に採用試験のようなものはありませんでした。Rabbitまわりの活動が、すでにパッチ採用の選考プロセスとして認められていたようです。

*3 引っ越す直前、札幌地区の勉強会などでお世話になっていた方々に(私の希望で小規模でしたが)送別会をやってもらいました。正直なところ札幌を離れるのに抵抗があったのですが、東京に行く勇気をもらいました。疲れたときはそのときにもらった紅茶を飲んでほっと一息ついています。

タグ: 会社
2015-03-19

2008|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|
タグ:
RubyKaigi 2015 sponsor RubyKaigi 2015 speaker RubyKaigi 2015 committer RubyKaigi 2014 official-sponsor RubyKaigi 2014 speaker RubyKaigi 2014 committer RubyKaigi 2013 OfficialSponsor RubyKaigi 2013 Speaker RubyKaigi 2013 Committer SapporoRubyKaigi 2012 OfficialSponsor SapporoRubyKaigi 2012 Speaker RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer badge_speaker.gif RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer
SapporoRubyKaigi02Sponsor
SapporoRubyKaigi02Speaker
RubyKaigi2009Sponsor
RubyKaigi2009Speaker
RubyKaigi2008Speaker