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:
Become a member of a community that’s excited about open source and sharing knowledge.
Build a track record of public contributions which will help build your career.
Build confidence with Julia.
Gain visibility for your package.
Help others level up their Julia skills.
Before you start contributing to the Julia ecosystem, you need the following tools:
Julia: For more information on how to install Julia, see Download Julia or watch Download Julia (in under 2.5 minutes).
IDE: You can set one of the following IDEs as well as their extensions for developing in Julia:
Knowledge of Git and how to create a pull request: For more information on getting started with Git, see Making a first Julia pull request.
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:
Build: You can write code or documentation:
Code
Find an open issue.
Report a security issue.
Contribute to an existing package.
Find a help wanted issue.
Find a good first issue.
Find a hacktoberfest issue.
Make a feature request.
Documentation
Create new documents: Write new sections of existing documentation, docstrings, and tutorials.
Improve existing documents: Update outdated documentation, fix typos and broken links.
Help: You can help spread the word about the Julia ecosystem:
Read the Code of Conduct.
Share a use case.
Write a blog post and submit it to the Julia Language Blog Aggregator.
Ask and answer questions on Zulip or Discourse.
Engage on Twitter.
Attend a Julia event.
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.
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.
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.
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:
Julia Zulip: The community uses Zulip for informal communications.
Official Julia Slack: The community also uses the Julia Slack for informal communications. However, bear in mind that messages disappear over time because of the limits of the free version of Slack.
Julia Discourse forum: The community discusses Julia development in the Discourse forum. In general, we recommend asking technical questions on Discourse. Questions and answers posted on Discourse remain on the web and public indefinitely.
Julia FAQ: In the Frequently Asked Questions section of the Julia Documentation, you can find answers to the most common questions from Julia beginners.
StackOverflow: It has a growing number of Julia questions and answers.
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