How to contribute to Elixir's development

Hi all, how or where should one begin digging in order to reach a level of Elixir understanding good enough to collaborate on its development? What books, source code, or whatever material, should I completely understand to do so?

Any directions or suggestions are highly appreciated. I just want to learn enough to help. :slight_smile:

Thanks in advance!


FTR, I’m not an Elixir contributor myself.

Some useful links:

Learning about metaprogramming is great in order to extend any language on your own, you’ll learn about the internals along the way.

But you could just build a small library, without much thinking. As long as you start.

Very friendly community.


Here’s another good blog post on the topic: Contributing to Complex Projects – Mitchell Hashimoto

I have contributed a little bit to Elixir, and I always appreciate the quality of code and tests in the Elixir code base. The issues tracker is also very tidy and contains only items that are actionable or need to be tracked for the future.

Also make sure to read through the Code of Conduct - no one is perfect or infinitely patient, but we can at least try to be nice!

1 Like

Btw. Welcome to the forum @pointerish !!

1 Like

I’ve contributed to the phoenix lib. it was only a read me update but it still gives me the warm fuzzies.
Honestly the best way to get start is to work in the docs. There is always room for more docs.


@jbz3n Thanks! I’ve been around for a while but only as a reader. Thanks for sharing Sihui Huang’s article. @michallepicki Thank you too! That article also looks great! @polygonpusher That’s a good point. I’ll consider that too if I run into a docs issue or something like that.

Are you looking to contribute to Elixir itself or the ecosystem? Because there are plenty of packages that will appreciate help fixing existing bugs, improving documentation, etc. and the best way to know how best to help them is to use them in your own projects, then experiment, read and understand the code, and you’ll know what to submit in due time.

I will definitely second documentation improvements as an easy win, especially valuable is the point of view from non-native English speakers to at least point out where text can be confusing.

1 Like

I’m interested in contributing to Elixir itself, but contributing to another project is also something I intend to do. The idea of contributing to docs from the perspective of a non-native English speaker is also nice. I’ll keep that in mind. I understand its relevance. Thank you!

Most of my (self-perceived) contribution to elixir ecosystem is coming from real world experience, like sometime i use a library/a module but i can’t easily figure out what’s it’s supposed to do from reading documentation. After i figure it out with correct understanding i would make a PR to the repo to try make adjustment to docs to make it easier to understand.