rabbit-slide-Piro-presentation-oss-gate-workshop-fjord-bootcamp-introduction 2023.9.30.0

Sign up to get free protection for your applications and to get access to all the features.
Binary file
Binary file
Binary file
Binary file
data/scenario.rab ADDED
@@ -0,0 +1,474 @@
1
+ = 今日から\n参加できる!\nOSS開発
2
+
3
+ : theme
4
+ clear-code
5
+
6
+ : author
7
+ 結城洋志
8
+
9
+ : institution
10
+ 株式会社クリアコード
11
+
12
+ : allotted_time
13
+ 30m
14
+
15
+ = 軽く自己紹介
16
+
17
+ # image
18
+ # src = ./images/systemadmingirl.jpg
19
+ # relative_width = 30
20
+ # align = right
21
+ # relative_margin_right = -10
22
+
23
+ * ((*結城洋志*)) aka ((*Piro*))
24
+ * Firefox用拡張機能
25
+ * Tree Style Tabなど
26
+ * Firefoxにも何度か\n
27
+ バグ報告やパッチ提供
28
+ * OSS開発に関わる人を\n
29
+ 増やす取り組み「OSS Gate」\n
30
+ でワークショップ開催
31
+
32
+ = OSSの世界には断絶がある!
33
+
34
+ # image
35
+ # src = ./images/oss-gate-border.svg
36
+ # relative_width = 100
37
+
38
+ == プロパティー
39
+
40
+ : enable-title-on-image
41
+ false
42
+
43
+ = ワークショップの対象者層
44
+
45
+ # image
46
+ # src = ./images/oss-gate-target.svg
47
+ # relative_width = 100
48
+
49
+ == プロパティー
50
+
51
+ : enable-title-on-image
52
+ false
53
+
54
+ = ワークショップでやること
55
+
56
+ # image
57
+ # src = ./images/oss-gate-goal.svg
58
+ # relative_width = 100
59
+
60
+ == プロパティー
61
+
62
+ : enable-title-on-image
63
+ false
64
+
65
+
66
+ = 本日のアジェンダ
67
+
68
+ * オープンソースって何?
69
+ * 何が嬉しい?
70
+ * どう関わるの?
71
+ * 実際に関わってみる!
72
+
73
+ =  
74
+
75
+ = Part 1
76
+
77
+ オープンソースって何?
78
+
79
+ = ワークショップで思うこと
80
+
81
+ みんな、
82
+ ((*オープンソース*))のことを
83
+ 案外知らない
84
+
85
+ (('note:(ワークショップ参加者でも)'))
86
+
87
+ = 参加者に聞いてみたイメージ(OSSってどんな物?)
88
+
89
+ * (('wait'))LinuxカーネルやRedmine、\n
90
+ Railsなど((*大規模・高機能*))な物
91
+ * (('wait'))MetaのReactのように\n
92
+ ((*先進的な大企業*))が作る物
93
+ * (('wait'))自分のような((*一般人には*))\n
94
+ ((*縁遠い*))世界
95
+
96
+ = 参加者に聞いてみたイメージ(OSS開発者ってどんな人?)
97
+
98
+ * (('wait'))((*非常に高い技術力*))を持つ上級者
99
+ * (('wait'))聖人のように利他的な\n
100
+ ((*意識の高い人達*))
101
+ * (('wait'))自分のような((*一般人には*))\n
102
+ ((*縁遠い*))世界
103
+
104
+ = そんなことはない!
105
+
106
+ * すごい物((*も*))ある
107
+ * すごい人((*も*))いる
108
+ * (('wait'))すごくない((*ふつうの物*))や\n
109
+ ((*ふつうの人*))の方がたぶん多い(('wait'))
110
+
111
+ = そもそも
112
+
113
+ 「オープンソース」という言葉の正確な意味が知られていない
114
+
115
+ = 「オープンソース」の定義
116
+
117
+ * オープンソースライセンス\n
118
+ ((<"opensource.org/licenses/"|URL:https://opensource.org/licenses/>))\n
119
+ が設定されたソフトウェアは\n
120
+ ((*なんでも*))オープンソース
121
+ * (('wait'))GPL 3.0、MIT License、\n
122
+ BSD License、\n
123
+ Apache License 2.0...
124
+ * (('wait'))「すごい」かどうかは関係ない
125
+ * (('wait'))開発体制がオープンかどうかも無関係
126
+
127
+ = 「すごくはない」物の方が数は多い
128
+
129
+ * (('wait'))「文字列の先頭を空白で埋める」50行未満のライブラリー
130
+ * (('tag:x-small'))((<"github.com/left-pad/left-pad"|URL:https://github.com/left-pad/left-pad>))
131
+ * (('wait'))「常識的に考えて危険すぎ」な仕様が何年もスルー
132
+ * (('note:Log4j2のLog4Shell(発覚まで8年)'))
133
+ * (('wait'))ツギハギだらけのスパゲッティコード
134
+
135
+ = 「ふつうの人」達
136
+
137
+ * (('wait'))成り行きで((*関わってしまった*))人
138
+ * (('wait'))仕事の都合で((*関わらざるを得ない*))人
139
+ * (('wait'))関わり続けるうちに((*すごくなる*))場合はある
140
+
141
+ = 多くのOSSの実態は
142
+
143
+ * (('wait'))すごくはない((*けど、ありがたい*))
144
+ * (('wait'))様々な人が、((*自分に無理なく持ち寄れる範囲で*))持ち寄ってる
145
+ * (('wait'))関われそうな気がしてきませんか?
146
+
147
+ =  
148
+
149
+
150
+ = Part 2
151
+
152
+ オープンソースに関わると何が嬉しい?
153
+
154
+ = 1. 直近のメリット
155
+
156
+ 不満を自分で解消できる
157
+
158
+ = クローズドなソフトウェアは……
159
+
160
+ * 会社に入らないと開発に関われない
161
+ * 意見が開発者まで届かない
162
+ * 自分で改造することもできない
163
+
164
+ = オープンソースだと
165
+
166
+ * 誰でも開発に関われる
167
+ * 学生でも無職でも
168
+ * 意見を開発者に届けられる
169
+ * (受け入れられるとは限らない)
170
+ * 自分で改造もできる
171
+ * 改造版を配ることもできる
172
+
173
+ = 大げさに言えば
174
+
175
+ * 今すぐ「世界を変えられる」
176
+ * 楽しい!
177
+ * 確実に「何かが良くなる」
178
+ * やりがい
179
+
180
+ = 2. 中期的なメリット
181
+
182
+ ポートフォリオになる
183
+
184
+ = クローズドな会社での開発は……
185
+
186
+ * 転職時に実績として見せにくい
187
+ * 「これ、自分がやりました」と言えない
188
+ * 過去の仕事の成果を使い回せない
189
+ * 「前の会社でも同じことを実装したのに、またゼロからやるのか……」
190
+
191
+ = オープンソースだと
192
+
193
+ * 実績として見せやすい
194
+ * 信頼度の高い証拠になる
195
+ * 成果を使い回せる
196
+ * ライブラリとして、モジュール単位で、あるいは派生版として
197
+
198
+
199
+ = 3. 長期的なメリット
200
+
201
+ 恩返し・恩送り
202
+
203
+ = 自分もお世話になってきた
204
+
205
+ * 今やOSSを使わずに生活するのは難しい
206
+ * 毎日お世話になっている
207
+ * 自分もそこに加われる
208
+
209
+ = 自分の後にも続く人が出る(かも)
210
+
211
+ * 実装が引き継がれたり
212
+ * コードが参考にされたり
213
+
214
+ =  
215
+
216
+ = Part 3
217
+
218
+ どうオープンソースに関われる?
219
+
220
+ = 初学者の人が感じがちなハードル
221
+
222
+ * (('wait'))「自分には何も無いんで……」
223
+ * (('wait'))「自分はただ使うことしかできないんで……」
224
+ * (('wait'))そう思っているあなたにも((*持ち寄れる物*))がある!
225
+
226
+ = それは
227
+
228
+ * 「ふつうのユーザー」の視点
229
+ * 「初心者ユーザー」の視点
230
+
231
+ = どういうこと?
232
+
233
+ * OSS作者の感覚
234
+ * ((*自分(達)が使うため*))に作った
235
+ * ((*ついでに*))他の人も使えるよう公開
236
+ * (('wait'))((*他の人(達)が使いやすいようにはなっていない*))ことがある
237
+
238
+ = よくある話
239
+
240
+ * (('wait'))使い方の説明が無い
241
+ * 作者の知識とユーザーの知識に差がある
242
+ * (('wait'))必要な前提条件や前準備の情報が無い
243
+ * 作者の環境が特殊であることを作者自身が忘れている
244
+
245
+ = 実例
246
+
247
+ このプレゼン資料のこと
248
+
249
+ = テーマ「clear-code」本来の表示
250
+
251
+ # image
252
+ # src = ./images/screenshot-expected.png
253
+ # relative_width = 60
254
+
255
+ == プロパティー
256
+
257
+ : enable-title-on-image
258
+ false
259
+
260
+ = 自分の環境で表示した時の見え方
261
+
262
+ # image
263
+ # src = ./images/screenshot-actual.png
264
+ # relative_width = 60
265
+
266
+ == プロパティー
267
+
268
+ : enable-title-on-image
269
+ false
270
+
271
+ = 原因(後で分かった)
272
+
273
+ * (('wait'))フォントが未インストール
274
+ * 自分でインストールする必要があった
275
+ * (('wait'))作者の常用OS(Debian)と違う環境(Ubuntu on WSL on Windows 10)
276
+ * 作者環境で動く書き方が自分の環境では機能していなかった
277
+
278
+ = ユーザーとしてよく取る行動
279
+
280
+ * (('wait'))Webを検索して解決策を探す
281
+ * (('wait'))ユーザーフォーラムで質問する
282
+ * (('wait'))無事解決した……(一安心)
283
+ * (('wait'))ブログにでも書いとこう
284
+
285
+ = そこでもう一歩!
286
+
287
+ OSS開発\n
288
+ プロジェクトへ\n
289
+ ((*フィードバック*))\n
290
+ してみよう!
291
+
292
+ = 色々なフィードバックの仕方
293
+
294
+ * (('wait'))不具合を報告する
295
+ * (('wait'))原因を調べて明らかにする
296
+ * (('wait'))修正のプルリクエストを送る
297
+ * (('wait'))((*自分にできる所まででいい*))
298
+
299
+ = ためらう人は多い
300
+
301
+ * (('wait'))こんなしょうもないこと、報告したら怒られないかな……
302
+ * (('wait'))「自分で直せ」って突き放されないかな……
303
+
304
+ = 本当に「しょうもない」のか?
305
+
306
+ * (('wait'))確実に1人(=自分)は困っている
307
+ * (('wait'))「自分だけの問題」とは限らない
308
+
309
+ = さっきのフォントの問題
310
+
311
+ # image
312
+ # src = ./images/screenshot-actual.png
313
+ # relative_width = 60
314
+
315
+ == プロパティー
316
+
317
+ : enable-title-on-image
318
+ false
319
+
320
+ = 問題の捉え方を変える!
321
+
322
+ * (('wait'))((*自分1人が*))今まさに困っている\n
323
+ ((*自分1人のために*))解決してほしい!
324
+ * (('wait'))→同じことで困っている人が\n
325
+  ((*他にもいるかも*))
326
+ * (('wait'))→((*プロジェクトの課題として*))\n
327
+  ((*みんなのために解決*))\n
328
+  できるのでは?
329
+
330
+ = プロジェクトの課題と考える
331
+
332
+ * (('wait'))フォントが未インストール
333
+ * 「何々フォントが必要」という説明はどこにも無かった
334
+ * 説明があれば迷う人が減るのでは?
335
+ * (('wait'))作者の常用OS(Debian)と違う環境(Ubuntu on WSL on Windows 10)
336
+ * Debian専用というわけではない
337
+ * UbuntuでもWindowsでも使えた方が便利では?
338
+
339
+ = プロジェクトで解決すると
340
+
341
+ * (('wait'))今後同じ事での問い合わせが減る
342
+ * (('wait'))((*作者自身も*))環境移行時などに助かる
343
+
344
+ = 実際にしたフィードバック
345
+
346
+ * (('wait'))フォントのインストールを促す((*説明文をREADMEに追加*))\n
347
+ ((<"github.com/clear-code/rabbit-theme-clear-code/pull/2"|URL:https://github.com/clear-code/rabbit-theme-clear-code/pull/2>))
348
+ * (('wait'))Ubuntuでフォント指定が反映されない不具合を修正\n
349
+ ((<"github.com/clear-code/rabbit-theme-clear-code/pull/1"|URL:https://github.com/clear-code/rabbit-theme-clear-code/pull/1>))
350
+
351
+ = 実際の提案内容
352
+
353
+ # image
354
+ # src = ./images/readme-diff.png
355
+ # relative_width = 100
356
+
357
+ == プロパティー
358
+
359
+ : enable-title-on-image
360
+ false
361
+
362
+ = 「自分で直せ」と怒られる?
363
+
364
+ * (('wait'))公然と罵倒されるようなことはあまりない
365
+ * 「初手罵倒は悪手」程度の社会性は大抵の人が持ってる
366
+ * (('wait'))「手が足りないので」「方針に合わないので」と対応してもらえないことはある
367
+
368
+ = 「解決してもらえないなら負けじゃん……」
369
+
370
+ * (('wait'))作者の意図は「解決に関わってもらえると嬉しいな!」
371
+ * (('wait'))関われる((*可能性が開かれている*))
372
+
373
+ = 挑戦の機会にしてみよう
374
+
375
+ * (('wait'))「自分でやってみたいのでアドバイスを」と聞いてみる
376
+ * 案外気前よく教えてもらえるかも
377
+ * (('wait'))不完全でもプルリクエストしてみる
378
+ * アドバイスをもらえるかも
379
+ * マージされなくても「派生版」として開発を継続していく道はある
380
+ * その自由があるのが「オープンソース」
381
+
382
+ = 作者は基本的に孤独
383
+
384
+ * (('wait'))((*お客さん気分*))で来られると辛い
385
+ * (('wait'))中間として課題の解決に((*協力*))してもらえると嬉しい
386
+
387
+ = 協力は自分にできる所まででいい(再掲)
388
+
389
+ # image
390
+ # src = ./images/readme-diff.png
391
+ # relative_width = 100
392
+
393
+ == プロパティー
394
+
395
+ : enable-title-on-image
396
+ false
397
+
398
+ = 自分にできない部分は他の人の協力に任せる
399
+
400
+ * (('wait'))Ubuntu以外の環境は?\n
401
+ Arch Linuxではどうすれば?
402
+ * (('wait'))→Archユーザーの人が\n
403
+  書いてくれる事に期待
404
+ * 無理はしないでいい
405
+
406
+ = 話は分かった! けど……
407
+
408
+ * 具体的にどうやればいいか見当が付かない
409
+ * 一人でやるのは不安
410
+
411
+ = そこでワークショップ
412
+
413
+ # image
414
+ # src = ./images/oss-gate-icon.svg
415
+ # relative_width = 50
416
+ # align = center
417
+ # vertical_align = middle
418
+
419
+ (('tag:center'))
420
+ (('tag:x-large'))
421
+
422
+ == プロパティー
423
+
424
+ : enable-title-on-image
425
+ false
426
+
427
+ = 体験して門をくぐる
428
+
429
+ # image
430
+ # src = ./images/oss-gate-pass-through.svg
431
+ # relative_width = 100
432
+
433
+ == プロパティー
434
+
435
+ : enable-title-on-image
436
+ false
437
+
438
+ = よりくぐりやすく
439
+
440
+ # image
441
+ # src = ./images/oss-gate-support.svg
442
+ # relative_width = 100
443
+
444
+ == プロパティー
445
+
446
+ : enable-title-on-image
447
+ false
448
+
449
+ = 参考書籍
450
+
451
+ ((*これでできる! はじめての*))\n
452
+ ((*OSSフィードバックガイド*))
453
+
454
+ # image
455
+ # src = ./images/first-feedback-guide.png
456
+ # relative_width = 25
457
+ # align = right
458
+ # relative_margin_right = -10
459
+
460
+ * オンデマンド印刷の\n
461
+ 紙版、電子書籍として\n
462
+ 購入可能
463
+ * 全文のソースを公開中\n
464
+ ((<"github.com/oss-gate"|URL:https://github.com/oss-gate/first-feedback-guidebook>))\n
465
+ ((<"/first-feedback-guidebook"|URL:https://github.com/oss-gate/first-feedback-guidebook>))
466
+
467
+
468
+ = 株式会社クリアコード
469
+
470
+ * ((*自由なソフトウェア*))で((*持続的なビジネス*))を
471
+ * 法人のOSS利用者向けに、Tier2以上のサポートを有償で提供
472
+ * 案件の成果物をOSSとして公開
473
+ * 研修用にワークショップ開催
474
+ * ((<"www.clear-code.com"|URL:https://www.clear-code.com/>))
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-Piro-presentation-oss-gate-workshop-fjord-bootcamp-introduction
3
+ version: !ruby/object:Gem::Version
4
+ version: 2023.9.30.0
5
+ platform: ruby
6
+ authors:
7
+ - YUKI Hiroshi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-09-25 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: "[フィヨルドブートキャンプさん](https://bootcamp.fjord.jp/)との共催による[OSS Gateオンラインワークショップ
42
+ - フィヨルドブートキャンプ特別版](https://oss-gate.doorkeeper.jp/events/160648)での発表資料です。"
43
+ email:
44
+ - yuki@clear-code.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".rabbit"
50
+ - LICENSE
51
+ - README.md
52
+ - Rakefile
53
+ - config.yaml
54
+ - images/first-feedback-guide.png
55
+ - images/oss-gate-border.svg
56
+ - images/oss-gate-goal.svg
57
+ - images/oss-gate-icon.svg
58
+ - images/oss-gate-pass-through.svg
59
+ - images/oss-gate-support.svg
60
+ - images/oss-gate-target.svg
61
+ - images/oss-gate-workshop.svg
62
+ - images/readme-diff.png
63
+ - images/screenshot-actual.png
64
+ - images/screenshot-expected.png
65
+ - images/systemadmingirl.jpg
66
+ - pdf/presentation-oss-gate-workshop-fjord-bootcamp-introduction-scenario.pdf
67
+ - scenario.rab
68
+ homepage: https://slide.rabbit-shocker.org/authors/Piro/presentation-oss-gate-workshop-fjord-bootcamp-introduction/
69
+ licenses:
70
+ - CC-BY-SA-4.0
71
+ metadata:
72
+ source_code_uri: https://gitlab.com/clear-code/presentation-oss-gate-workshop-fjord-bootcamp-introduction
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubygems_version: 3.3.5
89
+ signing_key:
90
+ specification_version: 4
91
+ summary: 今日から参加できる!OSS開発
92
+ test_files: []