★テーマ
ソーシャルコーディングの世界
●スピーカー
フリーランス / Asakusa.rb
松田 明 氏
Ruby
Asakusa.rb
アジャイル開発でコンピュータ言語でエンジニアのスキルでソーシャルコーディングのスペシャルなよもやま話
●ソーシャルコーディングとは?
githubが最初に書いた
githubの標語みたいなもの
○githubとは
・最初はgitリポジトリホスティングサービス
・途中からただソースを置くだけでなく、それを人々が共有する事に意味を持たせる
○どうしてgithubはただのgitリポジトリで終わらなかったのか?
・Rubyだから
・Rubyはキメると気持ちいい(by Matz)
→みんなでキメて集団トランス状態
・ソーシャルコーディングとRubyという2つのカルチャーが相性良過ぎて、何となく発展して行った
○ソーシャルコーディング以前
・プログラミングはコンピューターを操るための手段
・機械言語
○ソーシャルコーディグ後
・コードは人間のためのもの
・以前は人間がコンピューターに向けて書くものだったが、それが人間が人間に向けて書くものになった
○言語を使って出来る事
・自己表現の手段
・コミュニケーションの手段
○自己表現としてのプログラミング
・文芸、著作活動など
・humanity
○人間らしさの獲得
・神(コンピューター)への隷属からの脱却
・もっと人間らしい形で言語を使っていこうというもの
・ソーシャルコーディングは人間讃歌!!
○コミュニケーションとしてのソーシャルコーディング
・自分が書いたコードが世界中の人に読まれて使われる
・世界中からpull reuestやメッセージが来る
・カンファレンスとかで会っても自分のソースを読んでくれてたりして、初対面でも友達みたいな感覚だったりする
●オープンソースvsソーシャルコーディング
Social Codingはオープンソースの一形態
○身分制度の変化
・オープンソース
プロダクトに人が群がる
一部のコミッターがいて、そこについて行く人たちだけ参加出来た
・Social Coding
誰でも自由にコミットを行うことが出来る
コミットが積み重なるとプロダクトになる
全てのリポジトリは平等
単純にnamespaceが切られているだけ
誰でも自由に他人のリポジトリを触ることができる
○ソーシャルコーディング革命
・SocialCodingは産業革命ではなく、市民革命だった
・プログラマはプログラムし、公開する権利を勝ち取った
・人民の直接参加
自らのソースコードの所有
主権在民
コミューン、すなわちコミュニティ
単にRubyを使って話している訳ではなく、自分たちが作っているからこその内容になる
●業務プログラマはソーシャルコーディングに乗るべきか?
○業務プログラマこそ殻に閉じこもらず、多様な文化に触れるべき
○普段コードが世間に出ない仕事をしているなら、ますますアウトプットが重要
●仕事でできるソーシャルコーディング
○枯れたプロダクトは使わない
○バグを踏んだらパッチを書く
せめて報告する
これをやることによって、世界のプログラマの質向上に貢献していく
○メリット
・会社と自分のいい宣伝になる
・仕事のコードをみんなが代わりに書いてくれる
・良いコードを晒しておくと良い人材がつれる
・設計もコードもきれいになる
○ソーシャルコーディング業務の始め方
・なんか作って公開する
・趣味の公開プロダクトを業務に投入してみる
・メンテも仕事のうち
・仕事でソーシャルコーディング!
○エンジニアのスキル
・業務と余暇の境目がどんどん曖昧になっていく時代の流れ
・ソーシャルコーディングスキルは、労働者としてのエンジニアにとっても必須のスキル
●ソーシャルコーディングの未来
書いている時間より読んでいる時間が長く、読む事が非常に重要
めんどくさい
変更があるか分からない
○今後欲しいもの
・pull型ではなくpush型のgithub
・今のソーシャルコーディング環境はまだ掲示板レベル
・メールで「パッチを書きました」とかの内容が送られる
・チャットのようなリアルタイムなソーシャルコーディング
・エディタ統合
・OS統合
・チャットクライアント統合とか
・ペアプロみたいなソーシャルコーディングプラットフォーム
○CIがどんどんカジュアルに
・デフォルトでCIが走っているので、テストを書かないとか論外
・そもそもテストって書きにくい
・もっと手軽に生成とか出来るようになるべき
○CIの問題
・コミットしたものしかテスト出来ない
・pull requestをマージしてみたら、CIが通らなかったりする
・pull request単位でCI出来るようにすべき
○基本インフラとしての信頼性
・一斉メンテ
日曜の夜(現地時間)が多い
日本だと月曜日の朝
週末で障害があったりしても、週明け朝一で対応出来ない
何ヶ月かいっぺんにある
○もっと仕事で使う
・いわゆるクラウド化
・一斉メンテしない
・月曜日の朝に落ちてない
・しかも速くなる
・今年当たりそろそろ?
○セキュリティはどうか?
・むしろ低下している
・本来ローカルのものであった社内リポジトリがWebアプリのいい加減さを備えてしまった
・Webに置いている時点で誰でもアクセス出来る可能性がある
○github:enterpriseというのもある
・明らかにめんどくさい
・第三者のファイルには触れない
・もっと細やかなアクセスコントロールが欲しい
Code is about the people writing it.
Social Codingは人
Yes We Code!
●感想
技術的な話はそんなになかったが、これからコーディングのスキルアップをしていく上で、
非常に役立つ内容だった。
知識をインプットすることは定常的にやっているが、アウトプットはなかなか出来ていない。
ただアウトプットするだけでなく、それに関して世界中の人からFBを受けられたり、というのも
とても魅力的に感じた。
今後はアウトプットの形として、ソーシャルコーディングの要素も今後取り入れていきたいと思う。
ソーシャルコーディングの世界
●スピーカー
フリーランス / Asakusa.rb
松田 明 氏
Ruby
Asakusa.rb
アジャイル開発でコンピュータ言語でエンジニアのスキルでソーシャルコーディングのスペシャルなよもやま話
●ソーシャルコーディングとは?
githubが最初に書いた
githubの標語みたいなもの
○githubとは
・最初はgitリポジトリホスティングサービス
・途中からただソースを置くだけでなく、それを人々が共有する事に意味を持たせる
○どうしてgithubはただのgitリポジトリで終わらなかったのか?
・Rubyだから
・Rubyはキメると気持ちいい(by Matz)
→みんなでキメて集団トランス状態
・ソーシャルコーディングとRubyという2つのカルチャーが相性良過ぎて、何となく発展して行った
○ソーシャルコーディング以前
・プログラミングはコンピューターを操るための手段
・機械言語
○ソーシャルコーディグ後
・コードは人間のためのもの
・以前は人間がコンピューターに向けて書くものだったが、それが人間が人間に向けて書くものになった
○言語を使って出来る事
・自己表現の手段
・コミュニケーションの手段
○自己表現としてのプログラミング
・文芸、著作活動など
・humanity
○人間らしさの獲得
・神(コンピューター)への隷属からの脱却
・もっと人間らしい形で言語を使っていこうというもの
・ソーシャルコーディングは人間讃歌!!
○コミュニケーションとしてのソーシャルコーディング
・自分が書いたコードが世界中の人に読まれて使われる
・世界中からpull reuestやメッセージが来る
・カンファレンスとかで会っても自分のソースを読んでくれてたりして、初対面でも友達みたいな感覚だったりする
●オープンソースvsソーシャルコーディング
Social Codingはオープンソースの一形態
○身分制度の変化
・オープンソース
プロダクトに人が群がる
一部のコミッターがいて、そこについて行く人たちだけ参加出来た
・Social Coding
誰でも自由にコミットを行うことが出来る
コミットが積み重なるとプロダクトになる
全てのリポジトリは平等
単純にnamespaceが切られているだけ
誰でも自由に他人のリポジトリを触ることができる
○ソーシャルコーディング革命
・SocialCodingは産業革命ではなく、市民革命だった
・プログラマはプログラムし、公開する権利を勝ち取った
・人民の直接参加
自らのソースコードの所有
主権在民
コミューン、すなわちコミュニティ
単にRubyを使って話している訳ではなく、自分たちが作っているからこその内容になる
●業務プログラマはソーシャルコーディングに乗るべきか?
○業務プログラマこそ殻に閉じこもらず、多様な文化に触れるべき
○普段コードが世間に出ない仕事をしているなら、ますますアウトプットが重要
●仕事でできるソーシャルコーディング
○枯れたプロダクトは使わない
○バグを踏んだらパッチを書く
せめて報告する
これをやることによって、世界のプログラマの質向上に貢献していく
○メリット
・会社と自分のいい宣伝になる
・仕事のコードをみんなが代わりに書いてくれる
・良いコードを晒しておくと良い人材がつれる
・設計もコードもきれいになる
○ソーシャルコーディング業務の始め方
・なんか作って公開する
・趣味の公開プロダクトを業務に投入してみる
・メンテも仕事のうち
・仕事でソーシャルコーディング!
○エンジニアのスキル
・業務と余暇の境目がどんどん曖昧になっていく時代の流れ
・ソーシャルコーディングスキルは、労働者としてのエンジニアにとっても必須のスキル
●ソーシャルコーディングの未来
書いている時間より読んでいる時間が長く、読む事が非常に重要
めんどくさい
変更があるか分からない
○今後欲しいもの
・pull型ではなくpush型のgithub
・今のソーシャルコーディング環境はまだ掲示板レベル
・メールで「パッチを書きました」とかの内容が送られる
・チャットのようなリアルタイムなソーシャルコーディング
・エディタ統合
・OS統合
・チャットクライアント統合とか
・ペアプロみたいなソーシャルコーディングプラットフォーム
○CIがどんどんカジュアルに
・デフォルトでCIが走っているので、テストを書かないとか論外
・そもそもテストって書きにくい
・もっと手軽に生成とか出来るようになるべき
○CIの問題
・コミットしたものしかテスト出来ない
・pull requestをマージしてみたら、CIが通らなかったりする
・pull request単位でCI出来るようにすべき
○基本インフラとしての信頼性
・一斉メンテ
日曜の夜(現地時間)が多い
日本だと月曜日の朝
週末で障害があったりしても、週明け朝一で対応出来ない
何ヶ月かいっぺんにある
○もっと仕事で使う
・いわゆるクラウド化
・一斉メンテしない
・月曜日の朝に落ちてない
・しかも速くなる
・今年当たりそろそろ?
○セキュリティはどうか?
・むしろ低下している
・本来ローカルのものであった社内リポジトリがWebアプリのいい加減さを備えてしまった
・Webに置いている時点で誰でもアクセス出来る可能性がある
○github:enterpriseというのもある
・明らかにめんどくさい
・第三者のファイルには触れない
・もっと細やかなアクセスコントロールが欲しい
Code is about the people writing it.
Social Codingは人
Yes We Code!
●感想
技術的な話はそんなになかったが、これからコーディングのスキルアップをしていく上で、
非常に役立つ内容だった。
知識をインプットすることは定常的にやっているが、アウトプットはなかなか出来ていない。
ただアウトプットするだけでなく、それに関して世界中の人からFBを受けられたり、というのも
とても魅力的に感じた。
今後はアウトプットの形として、ソーシャルコーディングの要素も今後取り入れていきたいと思う。