rabbit-slide-kou-speee-cafe-meetup-02 2016.9.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,394 @@
1
+ = OSS開発者を\n増やしたい!
2
+
3
+ : author
4
+ 須藤功平
5
+ : institution
6
+ クリアコード
7
+ : content-source
8
+ Speee Cafe Meetup #02
9
+ : date
10
+ 2016-09-01
11
+ : allotted-time
12
+ 15m
13
+ : theme
14
+ clear-code
15
+
16
+ = ここでいうOSS開発
17
+
18
+ * 1から独自で開発だけでなく
19
+ * 既存OSSの開発も含む
20
+ * 例:要望提案
21
+ * 例:バグレポート
22
+ * 例:pull request
23
+
24
+ = OSSを開発する動機
25
+
26
+ 人それぞれ
27
+
28
+ = 動機例
29
+
30
+ * (('wait'))反応が欲しい・注目されたい
31
+ * (('wait'))転職活動で使える材料が欲しい
32
+ * (('wait'))技術力向上
33
+ * (('wait'))○○機能が欲しい
34
+ * (('wait'))コミュニティーで活動したい
35
+ * (('wait'))使ってばかりじゃ申し訳ない
36
+
37
+ = OSSを開発する動機
38
+
39
+ * (('wait'))独りよがりがいい
40
+ * 他人の損得は気にしなくていい
41
+ * ((*自分*))が割に合うと思うか?がいい
42
+
43
+ = 利用OSSにバグがあった!
44
+
45
+ どうする?
46
+
47
+ = 昨日の実例:Vagrant
48
+
49
+ CentOS 5のVMにsshできない…
50
+
51
+ % vagrant up centos-5-i386
52
+ ...
53
+ centos-5-i386: Key inserted! Disconnecting ...
54
+ centos-5-i386: Warning: Authentication failure. Retrying...
55
+ centos-5-i386: Warning: Authentication failure. Retrying...
56
+ ...
57
+
58
+ (('note:PGroongaのRPMをビルドしようとしていた'))
59
+
60
+ = 利用OSSにバグがあった!
61
+
62
+ * どうする?
63
+ (1) (('wait'))とりあえずツイート?
64
+ (2) (('wait'))ググる?
65
+ (3) (('wait'))最新バージョンを確認?
66
+ (4) (('wait'))違うOSSに乗り換え?
67
+
68
+ = 私の場合
69
+
70
+ よく使っているOSSの場合は…
71
+
72
+ * 調べて
73
+ * 直して
74
+ * 報告
75
+
76
+ = ググった
77
+
78
+ (('note:http://qiita.com/cock1doodledoo/items/b32382776f76fb2d627c'))
79
+
80
+ (('note:少し違う現象っぽいが'))↓で直ると書いている
81
+
82
+ # coderay ruby
83
+
84
+ config.ssh.insert_key = false
85
+
86
+ (('wait'))
87
+ (('tag:center'))
88
+ 回避策っぽい…調べよう
89
+
90
+ = 調べて
91
+
92
+ パスワードではログインできた
93
+
94
+ % vagrant ssh centos-5-i386
95
+ vagrant@127.0.0.1's password: (vagrant)
96
+ [vagrant@localhost ~]$
97
+
98
+ = 調べて…
99
+
100
+ ログを確認
101
+
102
+ [vagrant@localhost ~]$ sudo less /var/log/secure
103
+ ...
104
+ ... sshd[3750]: Authentication refused: bad ownership
105
+ or modes for file /home/vagrant/.ssh/authorized_keys
106
+ ...
107
+
108
+ = 調べて……
109
+
110
+ パーミッションを直すと\n
111
+ 公開鍵でログインできた
112
+
113
+ [vagrant@localhost ~]$ chmod go-rwx ~/.ssh/authorized_keys
114
+ [vagrant@localhost ~]$ exit
115
+ % vagrant ssh centos-5-i386
116
+ [vagrant@localhost ~]$
117
+
118
+ = 調べて………
119
+
120
+ authorized_keysでgrep
121
+
122
+ % grep authorized_keys /usr/share/vagrant
123
+ .../plugins/guests/bsd/cap/public_key.rb:...
124
+ ...
125
+ .../plugins/guests/linux/cap/public_key.rb:...
126
+ ...
127
+ .../plugins/guests/solaris/...
128
+ ...
129
+ .../plugins/guests/solaris11/...
130
+
131
+ = 調べて…………
132
+
133
+ GNU/Linuxなので↓を確認
134
+
135
+ .../plugins/guests/linux/cap/public_key.rb
136
+
137
+ chmod忘れを発見
138
+
139
+ = 直して
140
+
141
+ # coderay diff
142
+ --- .../linux/cap/public_key.rb.orig ...
143
+ +++ .../linux/cap/public_key.rb ...
144
+ @@ -54,6 +54,7 @@
145
+ if test -f ~/.ssh/authorized_keys; then
146
+ grep ... > ~/.ssh/authorized_keys.tmp
147
+ mv ~/.ssh/authorized_keys{.tmp,}
148
+ + chmod 0600 ~/.ssh/authorized_keys
149
+ fi
150
+
151
+ rm -f '#{remote_path}'
152
+
153
+ = 報告
154
+
155
+ * masterを確認
156
+ * (('wait'))(('note:https://github.com/mitchellh/vagrant/blob/master/plugins/guests/linux/cap/public_key.rb#L57'))
157
+ * (('wait'))同じchmodがすでにある!
158
+ * (('wait'))手元で修正して元の作業を継続
159
+
160
+ = ふりかえり
161
+
162
+ * 最初から最新バージョンを確認すればよかった?
163
+ * (('wait'))今回は調べた方でよかったかも
164
+ * (('wait'))10分位だしVagrantの事がわかったし\n
165
+ (('note:(最新バージョンの用意は手間だった)'))
166
+ * (('wait'))↑((*自分*))が割りに合ったか基準
167
+
168
+ = なぜ報告するのか
169
+
170
+ * (('wait'))自分が何度も回避するのが面倒
171
+ * ↑((*自分*))が割に合うか基準
172
+ * よく使うOSSなら違うマシンでも遭遇しやすい
173
+
174
+ = 類似の事例
175
+
176
+ * mrubyがクラッシュするので修正
177
+ * #2732, #2867, #3087, #3090, #3129
178
+ * (('wait'))((*自分*))がパッチを管理するのが面倒
179
+ * PostgreSQL 9.6beta1の\n
180
+ DROP ACCESS METHOD IF EXISTS\n
181
+ が動かないので修正
182
+ * (('wait'))本体で直らないと((*自分*))の実装が手間
183
+
184
+ = OSSを開発する動機
185
+
186
+ * 独りよがりがいい
187
+ * ((*自分*))が割に合うならやるといい
188
+ * (('wait'))OSSを開発する敷居が高いと\n
189
+ なかなか割に合わない!
190
+
191
+ = OSS Gate
192
+
193
+ OSS開発の\n
194
+ 敷居を下げる\n
195
+ 取り組み
196
+
197
+ = Gate == 門
198
+
199
+ 境界にあるもの
200
+
201
+ = 扱う境界
202
+
203
+ # image
204
+ # src = images/oss-gate-border.svg
205
+ # relative_width = 100
206
+
207
+ == スライドプロパティー
208
+
209
+ : enable-title-on-image
210
+ false
211
+
212
+ = ターゲット
213
+
214
+ # image
215
+ # src = images/oss-gate-target.svg
216
+ # relative_width = 100
217
+
218
+ == スライドプロパティー
219
+
220
+ : enable-title-on-image
221
+ false
222
+
223
+ = やりたいこと
224
+
225
+ # image
226
+ # src = images/oss-gate-goal.svg
227
+ # relative_width = 100
228
+
229
+ == スライドプロパティー
230
+
231
+ : enable-title-on-image
232
+ false
233
+
234
+ = 未参加者→参加者
235
+
236
+ # image
237
+ # src = images/oss-gate-workshop.svg
238
+ # relative_width = 100
239
+
240
+ == スライドプロパティー
241
+
242
+ : enable-title-on-image
243
+ false
244
+
245
+ = ワークショップの内容
246
+
247
+ * (('wait'))未参加者の後押し
248
+ * すでに興味はある!
249
+ * (('wait'))どう後押せば…?
250
+
251
+ = 未参加の理由?
252
+
253
+ (1) (('wait'))やり方がわからない
254
+ (2) (('wait'))なんとなく不安
255
+
256
+ = ワークショップの内容
257
+
258
+ (1) (('wait'))やり方を1つ教える
259
+ * やり方がわかると参加できる!
260
+ (2) (('wait'))OSSの開発に実際に参加する
261
+ * 不安なのは((*未経験*))だから
262
+ * ワークショップで経験しよう!
263
+
264
+ = 門をくぐる
265
+
266
+ # image
267
+ # src = images/oss-gate-pass-through.svg
268
+ # relative_width = 100
269
+
270
+ == スライドプロパティー
271
+
272
+ : enable-title-on-image
273
+ false
274
+
275
+ = よりくぐりやすく
276
+
277
+ # image
278
+ # src = images/oss-gate-support.svg
279
+ # relative_width = 100
280
+
281
+ == スライドプロパティー
282
+
283
+ : enable-title-on-image
284
+ false
285
+
286
+ = 募集中!
287
+
288
+ # image
289
+ # src = images/oss-gate-join-us.svg
290
+ # relative_width = 100
291
+
292
+ == スライドプロパティー
293
+
294
+ : enable-title-on-image
295
+ false
296
+
297
+ = OSS Gateワークショップ
298
+
299
+ * ターゲット:未参加者→参加者
300
+ * 奇数月の最終土曜に開催中!
301
+ * 次回9/24
302
+ * 次々回11/26
303
+
304
+ (('tag:center'))
305
+ oss-gate.doorkeeper.jp
306
+
307
+ = 組織としてOSS開発
308
+
309
+ * 個人
310
+ * 自分が割に合うと思うときに開発
311
+ * 組織
312
+ * (('wait'))「OSS開発する方針だからやろう」?
313
+
314
+ = 組織とOSS開発
315
+
316
+ (('note:多くの組織にとって'))\n
317
+ OSS開発は\n
318
+ 目的でなく手段
319
+
320
+ = 組織としてOSS開発する動機
321
+
322
+ OSSを開発する結果として…
323
+
324
+ * 技術力アップ
325
+ * 開発効率アップ
326
+ * 知名度アップ
327
+
328
+ (('wait'))↑こっちが目的
329
+
330
+ = 技術力アップ
331
+
332
+ * 既存OSSの開発
333
+ * 社外のコード・やり方から学ぶ
334
+ * (('wait'))新規OSSの開発
335
+ * 1ソフトウェアのすべてを経験できる
336
+ * 設計判断・告知・ユーザー対応…
337
+ * 経験から得られるものはたくさん
338
+ * 社内で不足している機会を提供
339
+
340
+ = 開発効率アップ
341
+
342
+ * 独自修正の管理より\n
343
+ 開発元に修正を提供
344
+ * (('wait'))アップデートの難易度を下げる
345
+ * (('wait'))メンテナンスするものを減らす
346
+
347
+ (('wait'))
348
+ (('tag:center'))
349
+ OSSを開発\n
350
+ (開発元に修正を提供)\n
351
+ する方が割に合う
352
+
353
+ = 知名度アップ
354
+
355
+ * 技術者に技術でアピールできる
356
+ * 「あの○○さんがいる会社」
357
+ * 「○○が得意な会社」
358
+ * 求心力アップ・広告効果
359
+
360
+ = 組織としてOSS開発する動機
361
+
362
+ OSSを開発する結果として…
363
+
364
+ * 技術力アップ
365
+ * 開発効率アップ
366
+ * 知名度アップ
367
+
368
+ ↑こっちが目的
369
+
370
+ = 組織としてOSS開発
371
+
372
+ * ×
373
+ * 「OSS開発する方針だからやろう!」
374
+ * ○
375
+ * 「このケースは○○だからOSS開発は((*あなた*))の割に合うんじゃない?」
376
+ * 例:Railsの独自修正を抱えるよりも開発元に提供した方が((*あなた*))が開発しやすくなるんじゃない?組織はそのための時間を確保するよ。
377
+
378
+ = OSS開発支援
379
+
380
+ # image
381
+ # src = images/oss-development-support.pdf
382
+ # relative_height = 100
383
+ # align = right
384
+ # relative_margin_right = -10
385
+
386
+ * 企業向けサポート
387
+ * Speeeさんにも\n
388
+ 提供中
389
+
390
+ == スライドプロパティー
391
+
392
+ : enable-title-on-image
393
+ false
394
+
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kou-speee-cafe-meetup-02
3
+ version: !ruby/object:Gem::Version
4
+ version: 2016.9.1.0
5
+ platform: ruby
6
+ authors:
7
+ - 須藤功平
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-09-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rabbit
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: rabbit-theme-clear-code
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: "「OSS開発」をテーマにしたSpeee Cafe Meetup #02用の資料。OSSを開発するかどうかをどう判断すればよいか、OSS開発者になる最初のステップはどうしたらよいか、組織にOSS会はts派を増やすにはどうしたらよいかを説明。"
42
+ email:
43
+ - kou@clear-code.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".rabbit"
49
+ - README.rd
50
+ - Rakefile
51
+ - config.yaml
52
+ - images/oss-development-support.pdf
53
+ - images/oss-gate-border.svg
54
+ - images/oss-gate-goal.svg
55
+ - images/oss-gate-join-us.svg
56
+ - images/oss-gate-pass-through.svg
57
+ - images/oss-gate-support.svg
58
+ - images/oss-gate-target.svg
59
+ - images/oss-gate-workshop.svg
60
+ - pdf/speee-cafe-meetup-02-want-to-increase-oss-developers.pdf
61
+ - want-to-increase-oss-developers.rab
62
+ homepage: http://slide.rabbit-shocker.org/authors/kou/speee-cafe-meetup-02/
63
+ licenses:
64
+ - CC BY-SA 4.0
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 2.5.1
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: OSS開発者を増やしたい!
86
+ test_files: []