Welcome to the Julia Ecosystem Contributor’s Guide and to the community!

The purpose of this guide is to help you get started contributing to the Julia ecosystem. It contains information on the benefits of becoming a Julia contributor and the tools you need to get started. Also, you can find the different contribution pathways that you can take and how to get help from the community.

We welcome both technical and nontechnical contributions. Whether you are a beginner or a seasoned developer, you can always find a way to contribute to the Julia Ecosystem.

You can make a difference to one of the most quickly growing languages and the future of open-source software as a whole. Open source projects rely on contributions from volunteers. Contributions enable both the project and volunteers to grow and develop. No matter how you contribute to the Julia ecosystem, it will be a great experience for you.

Contributing to the Julia ecosystem brings the following benefits:

Before you start contributing to the Julia ecosystem, you need the following tools:

Contribution Pathways

Your first step is to identify how you want to start contributing to the Julia ecosystem. For example, you can start by writing a blog post about how you used Julia to solve a problem. Then, you can create a new package or improve one that you have used. You can take multiple paths, some of which might cross.

If you are a complete beginner to the Julia language or programming in general, then you can consider going through any of the resources that the community has created to help you get started.

We suggest the following paths as a starting point in your contribution journey:

We are also open to any suggestions or ideas that you might have. You can suggest your ideas to the community. We will do our best to help you bring it to life!

If you are still unsure how to get started, then you can have a look at the following list of ideas for your first contribution.

Ask and answer questions

You can ask or answer questions on StackOverflow, Discourse, and Zulip. It not only helps to expand your knowledge but to spread the word about the Julia ecosystem.

The following video contains information on how to ask questions on StackOverflow and how this can improve your learning (and understanding):

If you know how to answer a question on StackOverflow or Discourse thats' an immediate chance to help! Search for questions tagged [julia] on StackOverflow or use a more specific term. Moreover, you can join the ´#stackoverflow-feed´ channel on the official Julia Slack to stay up-to-date on StackOverflow questions related to Julia.

Edit the README file of a Julia package

A lot of documentation in the Julia-verse needs to be updated or fixed. You can help clean up documentation by correcting typos, fixing broken links, or replacing the mentions of outdated packages. To search for Julia packages and their README file or documentation, go to the JuliaHub website. Then, click the name of the package to discover its website, GitHub repository, and further details.

Contribute to an existing Julia package

Some Julia organizations and packages are looking for help from the community. We have set up a curated list of Julia packages, organizations, and projects which have robust contributor guides. If you are interested in jumping in and contributing, then see the Organizations and Packages section.

The Julia community is more than happy to help you with any questions related to your contribution. You can get help in any of the following channels:

If you find this guide helpful, we would be grateful if you would tag us in any contribution on GitHub that this guide helped you make: @JuliaContributorBot or in any papers this helped you write: DOI: 10.13140/RG.2.2.24478.46407