Rabbit Slide Show

Rubyと仕事と自由なソフトウェア

2021-01-22

Description

Rubyで仕事をしているみなさんに自由なソフトウェアのことを知ってもらいたい!

Text

Page: 1

Rubyと仕事と
自由なソフトウェア
須藤功平
株式会社クリアコード
Rubyセミナー Online
2021-01-22
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 2

私とRubyと仕事と自由なソフトウェア
✓ 2003年より自由なソフトウェアを開発
✓ 2004年よりRubyコミッター
✓ 2006年よりクリアコードに勤務
✓ 2008年よりクリアコード代表取締役
✓ 2009年よりRubyKaigiにスポンサー
2011年までは日本Ruby会議
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 3

クリアコード
✓ ↓の両立を重視
✓ 自由なソフトウェアの推進
✓ 稼ぐ
✓ Rubyの活用方法
✓ ミドルウェアの柔軟性向上
メールフィルター・全文検索エンジン・ログコレクター・…
✓ Webアプリはあまり作らない
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 4

想定参加者
業務で
Rubyを使っている
プログラマー
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 5

話すこと
✓ 自由なソフトウェア?
✓ 仕事と自由なソフトウェア
✓ Rubyの仕事で自由なソフトウェア
✓ 実現方法の紹介
✓ 事例紹介
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 6

話したかった!
が!
まとまらなかった!
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 7

まとめる作業
✓ 関連資料の再確認
✓ www.gnu.orgの資料
✓ opensource.orgの資料
✓ クリアコード・自分の活動の再確認
✓ 関連資料との考え方の違いはある?
✓ 自分はどう思う?どう感じる?
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 8

わからなくなった!
✓ 自分の活動はそれほどでもなかった
✓ 悪くはないと思う
✓ けど、そんなにすごいわけではない
✓ 考えていた構成が微妙な気持ちになった
✓ 自由なソフトウェアをそんなに推進していない
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 9

話すこと
私のもやっとを聞いて
どう思ったか教えて!
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 10

自由なソフトウェア
✓ ユーザーの
✓ 開発元ではない!
✓ コンピューティングの自由が
✓ 自分がどうコンピューターを使うかを
コントロールできる
✓ 保証されたソフトウェア
自由ソフトウェアとは?
https://www.gnu.org/philosophy/free-sw.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 11

自由なソフトウェアの定義
✓ 目的を問わずプログラムを実行する自由
使い方を開発元にコントロールされない
✓ プログラムを研究・改造する自由
学べる・パッチを書ける。私はこれがすごく欲しい。
✓ コピーを再配布する自由
✓ 改変したバージョンを配布する自由
パッチを共有できる。共同開発できる。私はこれもすごく欲しい。
最初の2つは各ユーザーがコントロールするため
最後の2つは複数のユーザーが集団でコントロールするため
自由ソフトウェアとは?https://www.gnu.org/philosophy/free-sw.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 12

なぜ自由なソフトウェアが重要なのか
✓ ユーザーがコントロールできないと…
✓ 開発元がユーザーをコントロールできる
✓ 開発元が悪用する余地がある
✓ 例:開発元に嫌われたら使えないかも
あなたは悪だと私が判断したので使わせません
ポジティブな理由:ユーザーがみんなと協力できる
自由ソフトウェアはいまやさらに重要だ
https://www.gnu.org/philosophy/free-software-even-more-important.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 13

なぜ自由なソフトウェアが重要なのか
私の場合
✓ 重要そうな気がするから…
✓ コンピューターを使い始めた頃
自由なソフトウェアのユーザーで助かったから
✓ 自由なソフトウェアがより多い世界のほうが
少なくとも自分はうれしそう
✓ 倫理的にそうするべきというのは
そんな気はするけど説明はできない…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 14

なぜ自由なソフトウェアが重要なのか
仕事の場合
✓ コントロールできないことはリスク
✓ 例:すぐに直さないとクリティカル!
✓ 開発元:半年後に対応する→困る
✓ 自分たちで直す選択肢がある
✓ 素早く学べることは競争力の源泉
✓ 自由なソフトウェアは学ぶよい材料
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 15

重要だと思う?
✓ 私はうまく伝えられた経験があまりない…
✓ 不自由だけど便利なソフトウェアは使わないの?
✓ 自由を大事にするって不自由だね…
それは不自由じゃなくて不便なんだよ…
自由で便利なソフトウェアを増やしたいな!
✓ 不自由なソフトウェアと比べたときの
自由なソフトウェアのメリットは?
✓ そういうんじゃなくて
自由が重要だと思うから自由を守りたい
たとえ今は実現できていても守らないと失われていくかもしれない
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 16

メリットを教えてよー
✓ それが「自由なソフトウェア」と
「オープンソース」の考え方の違い
どちらもだいたい同じソフトウェアを指す
✓ 自由なソフトウェア:自由が大事だから守る
✓ オープンソース:自由なソフトウェアの方に
実用的なメリットがあるからそうする
なぜ、オープンソースは自由ソフトウェアの的を外すのか
https://www.gnu.org/philosophy/open-source-misses-the-point.html
What is "free software" and is it the same as "open source"?
https://opensource.org/faq#free-software
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 17

不自由なソフトウェアとのスタンス
自由なソフトウェア
オープンソース
ソフトウェア
よい
普通
オープンソース
自由なソフトウェア
不自由なソフトウェア
悪い 不自由なソフトウェア
なぜ、オープンソースは自由ソフトウェアの的を外すのか
https://www.gnu.org/philosophy/open-source-misses-the-point.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 18

オープンソースのメリット
✓ 不自由なソフトウェアより
よいソフトウェアを作れる
✓ ソースコードを共有する自由があるので
みんなで共同開発できる
✓ ユーザーがソフトウェアを
コントロールできるので
ベンダーロックインを避けられる
https://opensource.org/about
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 19

企業で利用するメリット
✓ 一から作るより速くできることが多い
✓ 問題時に自分たちで調査・修正できる
✓ 複数のベンダーに協力依頼できる
✓ 安いことが多い (無料であることも多い)
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 20

企業で開発するメリット
✓ 技術面での対外的なアピールに使える
✓ 人事・案件獲得・ユーザー獲得
✓ 社内の技術力アップ
✓ 一部をOSSとして切り出す:設計力アップ
✓ 既存のOSSの開発に参加:全体的にアップ
社内とは違った開発スタイルから学ぶ
✓ 社外の協力を得られることもある
新規でOSSを公開する場合は滅多に発生しない
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 21

オープンソースよさそう?
✓ 「自由が重要」よりもピンとくる?
✓ 結果的に自由なソフトウェアが増えるなら
オープンソースの説明でいいんじゃない?
✓ そうなのかなぁ…いいのかなぁ…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 22

私のもやっと(1)
✓ オープンソースのメリットよりも
大きな実用的なメリットが
不自由なソフトウェアで実現される
世界がきたらどうなる?
✓ たとえばクラウドサービスみたいななにか
✓ 不自由なソフトウェアばかりだけど
便利な (気がする?) 世界
✓ 学びにくく自分たちで調査修正できない世界…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 23

オープンソースとGitHub
✓ GitHubは不自由なソフトウェア
✓ GitHubはオープンソースを応援している
https://github.com/open-source
✓ 自由なソフトウェアの開発のために
不自由なソフトウェアを活用する?
✓ 自由なソフトウェアを重視していると言えるのか
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 24

自由なソフトウェアとサービス
✓ 自由なソフトウェア
✓ 自分のコンピューターで実行するときの話
✓ 手元にソフトウェアのコピーがあるときの話
✓ サービス
✓ 手元にソフトウェアのコピーがない
✓ 「自由」・「不自由」と区別する事に意味がない
Network Services Aren't Free or Nonfree; They Raise Other Issues
https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 25

自由なソフトウェアとサービス
✓ 自由なソフトウェアは
不自由なソフトウェアで実装された
サービスを使うべきでないのか
✓ 現時点ではなんとも言えない!
なんとも言えないのか!
✓ ただし、使うべきではないサービスはある
✓ ローカルで実行していた処理を代替するサービス
不自由なソフトウェアをローカルで使うことと同じ
Network Services Aren't Free or Nonfree; They Raise Other Issues
https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 26

自由なソフトウェアと
衝突しないサービス
✓ ユーザーのコンピューティングではない
サービス
✓ 情報をやりとりするサービス
✓ 例:Webサービス・リポジトリーサイト
✓ GitHub:リポジトリーサイトの1つ
自由なソフトウェアの開発にGitHubを活用することはアリなの!?
そのサーバはいったい誰にサーブするのか?
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 27

自由なソフトウェアとGitHub
✓ 自由なソフトウェアの中でも特に
GNUプロジェクトのリポジトリーに適切な
サービスを評価
✓ GitHub:不適格
不自由なJavaScriptを使わないといけないから
そこかー!
✓ gitlab.com:悪くない
GNU Ethical Repository Criteria Evaluations
https://www.gnu.org/software/repo-criteria-evaluation.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 28

私の落としどころ
✓ 基本的にgitlab.comを使おう
https://gitlab.com/clear-code
✓ なにか理由があるときはGitHubを使おう
✓ GitHubにあるプロジェクトの開発に参加する
✓ 関連プロジェクトがGitHubを使っている
例:ruby/csvとかruby/fiddleとかのdefault gem/bundled gem
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 29

私のもやっと(2)
✓ 不自由なソフトウェアを活用する
自由なソフトウェアの開発
✓ 例:CUDAを活用する機械学習ツール
✓ オープンソースならアリ
✓ よりよいソフトウェアを作ることが目的
✓ 自由なソフトウェアならナシ
なぜ、オープンソースは自由ソフトウェアの的を外すのか
https://www.gnu.org/philosophy/open-source-misses-the-point.html
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 30

Red Data Tools
✓ Ruby用のデータ処理ツールを提供
https://red-data-tools.github.io/ja/
✓ Rubyでデータ処理の仕事をできるように!
✓ Apache Arrowの開発にも参加
https://arrow.apache.org/
✓ 各種言語で使えるデータ処理の共通基盤を開発
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 31

Apache ArrowとCUDA
✓ 基本的なサポートが入っている
✓ がっつりサポートはRAPIDSという別プロジェクト
https://rapids.ai/
✓ Rubyサポートのために
NVIDIAのGPUを用意して開発
✓ Rubyでできることを増やすためだけど
不自由なソフトウェアの利用を促進するよなぁ…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 32

私の落としどころ
✓ もやっとするけどやるかぁ…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 33

私のもやっと(3)
✓ お客さんへはオープンソースな説明
✓ 成果をオープンソースにすると
お客さんにはこんなメリットがありますよ!
✓ 社内・こういう場などでだけ
自由なソフトウェアな説明
✓ 自由なソフトウェアの話をしているだけ
悪くないと思うんだけどこのくらいでいいのか…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 34

自由なソフトウェアで仕事
✓ 利用して製品開発
✓ 例:Railsを使って受託開発・自社サービス開発
✓ 販売・サポートサービス提供
✓ 例:Red Hat Enterprise Linux
✓ 無料で配布して宣伝し、別のところで稼ぐ
✓ 例:Redmineは無料
RedmineのクラウドサービスMy Redmineは有料
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 35

最近のもやっと事例
✓ よくあるパッケージのように
ライセンス販売してくれないか?
✓ 背景:社内手続きが楽になるから
✓ 元のソフトウェアはリライセンス可能な
自由なソフトウェア
✓ やれなくはないけど
自由なソフトウェアを不自由なソフトウェア
として提供することになる…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 36

落としどころ
✓ ソリューション(?)として提供しよう!
✓ パッケージ・設定・配布・サポート一式を提供
✓ お客さんは自由なソフトウェアを使える
✓ でもそういう伝え方はしていない
✓ この提供方法なら手続きを進めやすい?
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 37

OSSサポート事例
✓ オープンソースに取り組みたい企業を
サポート
✓ 例:Speeeさん
✓ サポート内容例:
✓ オープンソースプロジェクトの開発に
参加する方法をレクチャー
✓ 新入社員へなぜこの組織はオープンソースに
取り組みたいのかを説明
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 38

OSSサポート事例の落としどころ
✓ 興味がある人には自由なソフトウェアの
ことも伝える
✓ 今回みたいにあまりうまく説明できないけど…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 39

まとめ
✓ 業務でRubyを使っているプログラマーが
業務でより自由なソフトウェアを活用する
ノウハウを紹介したかった!
✓ オープンソースの話っぽくなってボツ
✓ 自由なソフトウェアに関する
私のもやっとを共有した
✓ そんなにRubyは関係なくなってしまった…
✓ なにかしら思うところがあればうれしいな…
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Page: 40

連絡先
✓ クリアコード
https://www.clear-code.com/contact/
✓ Ruby・自由なソフトウェア・オープンソース・
仕事のことなどなど
✓ Red Data Tools
https://gitter.im/red-data-tools/ja
✓ Rubyをデータ処理で使うことについて
Rubyと仕事と自由なソフトウェア
Powered by Rabbit 3.0.1

Other slides

Apache Arrow Apache Arrow
2018-12-08
Apache Arrow Apache Arrow
2018-11-17
Apache Arrow Apache Arrow
2017-06-13
Apache Arrow Apache Arrow
2017-05-28
Mroonga! Mroonga!
2015-10-30