Erlang Ecosystem Foundationの紹介

この記事は [Elixir Advent Calendar 2019](https://qiita.com/advent-calendar/2019/elixir) 7日目の記事です

昨日は @tamanugi による [みんな大好きパイプラインの正体を追え！](https://qiita.com/tamanugi/items/3ddd38b2c68cd50f96e1)でした

# はじめに

皆さんErlang/Elixirやってますか？？
プログラミング言語には発展と普及が不可欠です．みんなで使ってみんなで作れば，どんどん楽しい世界が広がっていきます．
本記事では，そんな目的で "Let’s Grow Together." をスローガンとして活動している団体である[Erlang Ecosystem Foundation](https://erlef.org/)（略称：EEF）を紹介したいと思います．
（筆者の認識や理解が誤っている可能性もあるので，これこうじゃない！？？というのがあればドシドシお知らせください！）

[![eef-logo](https://erlef.org/images/eef-logo-transparent-50dc5585775bc8a05ede78c539aafbd3.png?vsn=d)](https://erlef.org/)

なお筆者は2019年9月に開催された[ElixirConf JP 2019](https://fukuokaex.connpass.com/event/138846/)でこんな登壇しました．その配下のMentionsもご参照ください^^;

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I introduced <a href="https://twitter.com/TheErlef?ref_src=twsrc%5Etfw">@TheErlef</a> on <a href="https://twitter.com/hashtag/ElixirConfJP?src=hash&amp;ref_src=twsrc%5Etfw">#ElixirConfJP</a> LT Session<br>Thank you so much, <a href="https://twitter.com/miriampena?ref_src=twsrc%5Etfw">@miriampena</a>, she completely agreed my proposal about this opportunity. <a href="https://t.co/RfRySmKCbP">pic.twitter.com/RfRySmKCbP</a></p>&mdash; TAKASE hideki (@TAKASEhideki) <a href="https://twitter.com/TAKASEhideki/status/1170234621528666112?ref_src=twsrc%5Etfw">September 7, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

非技術な話しでスミマセン，でもAdvent Calendarはお祭りだしいいじゃないの（たぶん


# Erlang Ecosystem Foundationとは？

ErlangおよびElixirコミュニティにおける個人によって構成される，ボランティアベースの非営利の団体です．

目標は，ElixirやErlangをはじめとした，Erlang VM/BEAMで動作する全てのプログラミング言語について，多様なコミュニティを形成してこれをサポートします．そして，言語およびランタイムの技術を発展させて，オープンソースプロジェクトの継続的な開発を促進し，形成されたエコシステムを，皆さんで一緒に**「育てる」**ことです．

団体名の"Erlang"はプログラミング言語自体を指しているわけではありません．Erlang VMで動作する全ての言語が対象です．

- Elixir
- Erlang
- LFE
- Clojerl
- などなど

なお本拠地はカリフォルニアに置かれています．

# やっていること

## Working Groups


BEAMテクノロジの発展や広報展開など，特定の課題に取り組むWorking Groupsを編成して活動されています．特に関心のある分野としては，ドキュメントや教材の整備，言語間の相互運用，性能改善のアプローチなどが挙げられています．

EEFのメンバは，基本的にはいずれかのWG（複数もOK）に加入して，メンバ同士で議論や連絡や開発を進めながら，そのトピックに対する活動を行っていきます．

現在は下記のWorking Groupsが活動しています．
各WGの活動の詳細は https://erlef.org/wg/ からのリンクをご参照ください．

- Marketing
- Building and Packaging
- Fellowship
- Security
- Observability
- Sponsorship
- Education, Training, & Adoption
- Documentation
- Embedded Systems
- Infrastructure

### Embedded Systems Working Group

筆者はこの中の [Embedded Systems Working Group](https://erlef.org/wg/embedded-systems) で活動中です！
本WGは，ElixirのIoT開発フレームワークである[Nerves](https://nerves-project.org/)，Erlangのbare-metal/hard real-timeランタイム＆対応HWボードの開発に取り組んでいる[GRiSP](https://www.grisp.org/)の関係メンバで編成されています．

活動内容の目標としては，Erlang VMを使用した組込みシステムとIoTデバイスを開発するためのAPI，ツール，および，開発基盤の標準化，さらにはその改善と促進活動を行います．

設立メンバとしてこのWGに参加できていることを，筆者はとっても光栄に思いながら活動しています．技術的トピックへの取り組みはもちろんのこと，日本／アジア圏でNerves/GRiSPを広める活動をやっていきます！！
\# [NervesJP](https://nerves-jp.connpass.com/)もよろしくどうぞ！！

[![NCJP_Logo1_V1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240349/a4c2e825-fb18-018b-9e56-051e43b1c29d.png)](https://nerves-jp.connpass.com/)

### 新たなWorking Groupを提案できます！

Working Groupsのリストにご自身の興味に近いものが無い場合は，新しいWGの設立を提案できます．金銭的支援もあります．
[Template](https://erlef.org/wg-proposal-template)に記載があるとおり，WGの趣旨や目的，BEAM Communityにもたらす貢献，支援が必要な理由などをまとめて，Board Committeeの審査を経て設立が承認されます．

例えば各種文書や教材の翻訳に取り組むとかどうですかね？？
これは筆者がElixirConfなどで立ち話している範囲ではありますが，英語圏の方もElixir/Erlangの技術資料がほとんど英語しかない状況には課題感を持っている印象を受けています．また，ある技術の発展にはglobalizationと同じくらいでlocalizationも不可欠！と思っています．

## Stipend Program

https://erlef.org/stipends/

いわゆる奨学金プログラムです．
BEAM communityの拡大と成長に役立つ活動を，金銭的に支援する枠組みです．
もちろんElixir/Erlangのオープンソース開発活動（ライブラリも含む？）に対する支援を申請することが可能です．また，分かりやすい例として，ConferenceやWorkshopの開催にかかる資金援助も申請が可能です．教材開発やTrainingの実施も対象に含まれます．

日本国内では[Erlang & Elixir Fest](https://elixir-fest.jp/)や[ElixirConf JP](https://fukuokaex.fun/)がビッグイベントとしてありますし，他にもさまざまWorkshopなど企画したい方がいらっしゃるかと．
この取り組み，活用してみませんか？？（筆者お手伝いしたいです！

# メンバになるには？

さぁ皆さんEEFに加入したくなったでしょう？？
https://members.erlef.org/join-us

幾つかのMembershipが設けられています．
それぞれ保有できる権利やdutyが異なりますが，[bylaws](https://erlef.org/bylaws/)の特に第4条（Article IV）を熟読してください（ワタシも理解しきれていないし，日本語化したいなぁ^^;

## Basic Members

会費無料／無期限です．
まずは気軽に加入してみよう！の制度ですね．

会合やWG活動に参加する権利はありますが，会合（？）における投票権を行使することはできません．

## Supporting Members

会費有料の制度です．投票権や活動決定権を持つことができます．
（他のMembershipでも，議決権は年に4回以上行使しないといけないようです）

- Annual Supporting Membership: $99.00で1年間の活動期限（自動更新あり）
- Lifetime Supporting Membership: $999.00で無期限

ここまでのMembershipは上記のフォームより申請・決済が可能です．

## Managing Members

ここからけっこうあやふやです（スミマセン

Board Committeeに貢献の意思を表明して承認されることで資格を得られます．活動の方向性や予算配分を議論できることになるのではないかと．
ただし活動のdutyがあり，月に少なくとも5時間はEEFの活動に費やすことが求められます．

いわゆる[Board Members](https://erlef.org/board_members/)に該当するのではと思われます．（もちろんElixir CreatorのJoseも居ます！）

## Contributing Members

会費無料かつ会合参加権を有し，さらに投票権も持つことができます．
EEFの目標を推進するプロジェクトで，月に少なくとも5時間，無償で一般に公開されているオープンソースソフトウェアの開発または保守に関連する作業を実施していることを示す必要があります．

## Fellows

いわゆる名誉会員ですね．投票権を有するメンバの2/3以上の支持で資格を得ることができるようです．


## Sponsors

企業や組織としてEEFに加入することもできます．寄付金額は事業規模によって最低額が定められています．
Working Groupsの活動やStipend Programの原資は，主にSponsorsからの寄付支援で成り立っています（多謝！

Erlang/Elixirのプロダクション採用でよく知られている多くの企業が，すでにSponsorsとして加入されています．
https://erlef.org/sponsors/

Sponsorになると上記のように企業ロゴが掲載され，Erlang/ElixirのEcosystemの成長に貢献していることを示すことができます．よろしければぜひご検討ください！！

# メリットは何なの？

うおぅ，鋭い質問ですねぇ^^;

筆者は2019年8月にAnnual Supporting Memberに加入し，前述のとおりEmbedded Systems Working Groupで活動しています．参考になるか分かりませんが，この経験を基にざっくばらんに挙げてみます．

- Erlang/Elixirの成長に貢献するぞっ！と自負できる
- 2週に1回でWGの定例会合をしている
    - ElixirでIoTどうすっかね〜という文脈で，Nerves/GRiSPのコア開発者と議論できている．
    - 技術的にこんなことするぞ！しているぞ！という際に，すぐ意見やfeedbackがもらえる．
    - あと英会話の勉強になる，JST 22:00なのでツラいけど><;
- EEFのSlackに加入しているなどせっかく良いポジションにいるはずなので，stipend programとかうまくこの機会を使っていきたいですね．
- 投票権とか言っているけど，実は行使したことないしそもそもそういった会合の招集が掛かったことは無い気がするｗ

あと最後に，国際規模だし制度が整った大きな組織活動だと思われるかもしれません．
まぁ確かにそうではあるのですが，筆者がさることの手続きをBoard Memberに問い合わせたとき，その回答は **"Nothing is the only rule for us"** でしたｗｗ
うわっめちゃテキトーやん！とも思われますが，EEFの枠組みでやりたいことは気軽になんでも提案して良いよ！大事なのは「成長」なんだからそれに貢献することはなんでもやろうよ議論しようよ！というのがこの回答の真意です．

とりあえずBasic Memberでも良いので気軽に参加してみて，思うところを自由に活動を提案してみてはいかがでしょうか？？

# まとめ

じゃあErlang Ecosystem Foundationに貢献するにはどうすればいいいか？

- 興味のあるWorking Groupを見つけて連絡を取ってみる
- 新しいWorking Groupの設立を提案してみる
- Grant Programに提案してみる
- メンバになる
- ご自身の企業／組織がスポンサーになれないか検討してみる

ちょっと恐れ多いな，，，という方は，すぐできることとして，Twitterで [@TheErlEF](https://twitter.com/TheErlef) をフォローしてみましょう．最新の情報をキャッチアップできます．
なにか質問や疑問などあれば，まずは私に問い合わせていただいても構いません．可能な範囲で回答するか，英語にしてBoard Membersなどに聞いてみまっす．

Elixir/Erlang使うぞ！はいいけど，これら自体の成長が滞ったらどうしますか？？みんな育てましょう！！
ということで，Erlang Ecosystem Foundation（とEmbedded Systems Working Group）をよろしくどうぞですm(_ _)m

---

明日の [Elixir Advent Calendar 2019](https://qiita.com/advent-calendar/2019/elixir) は @matsubara0507 さんの「ひっっさしぶりに古の自分のコードを動かした話」です！！