Trying to Contribute

Hello all,

I’ve been working on a side project in R for about the last 8 months and I recently stumbled across Juila. I’m coming from a computer science background (C++ mainly). I found Julia to be significantly more intuitive.

I’m somewhat of a recent grad (1+ yrs working, Seattle area) and I’ve decided that I want to help contribute to Julia or Julia’s tooling. The problem being, I have no idea where to start.

I’m hoping that someone who’s been doing this for a while, can point me in the right direction. I’ve looked into helping with Juno or maybe writing a package. Picking something that is reasonable for my experience is somewhat overwhelming.

Any advice would be helpful. Thanks!

6 Likes

What’s your area of expertise? Or what’s an area you’d like to gain expertise in?

1 Like

People usually write code that they find useful for their own work, combining motivation and domain-specific expertise. But if you have time to donate, there is an intro issue label which could get you started.

3 Likes

I think this is a really legitimate question, and we don’t make it as easy for people to join as we could. I felt like I was in the same shoes a couple of months ago.

I wrote this page to retrospectively address people in this situation. At the bottom there are suggestions for ways to help out, starting with maybe easiest first. If it’s at all helpful, or it doesn’t address your difficulties of starting, or you can think of an improvement, I’d love to get a pull request or a comment to build it out and make it useful. I think it would be worthwhile to do because it might help the community grow.

https://github.com/felixrehren/julialang.github.com/blob/fr-start/start.md

3 Likes

There are 115 open issues on Plots.jl, one of several popular plotting packages for Julia. Several of these are labeled “easy - up for grabs”, and are a good place to start and become familiar with the code base of that package, if this kind of functionality has your interest: https://github.com/JuliaPlots/Plots.jl/issues?utf8=✓&q=is%3Aopen%20is%3Aissue%20label%3A"easy%20-%20up%20for%20grabs"%20

4 Likes

looks like the link is not correct, when i click on it, i get 0 hits

Thanks, fixed.

My day job is in general software engineering (I’ve done web and embedded). For right now I’m just trying to jump into an open source community. I’m really interested in scientific languages since I’ve got experience in R. I’m just hoping for some general advice on how to contribute to Julia. What are some areas that are in need that I’m unaware of?

Given my experience, I felt like the Juno IDE might be a good place to start. It gives me a good excuse to learn the language and contribute at the same time.

2 Likes

Come join the Gitter channel and discuss some ways to get started:

https://gitter.im/JunoLab/Juno

There’s plenty to do in Juno, and it would help a large number of people for sure.

3 Likes

I just looked at it: I don’t agree on testing or backend issues labeld easy…

For anything easier, the fix is faster than posting the issue. Maybe I should have labeled it “achievable for mere mortals”…

3 Likes

This has been a big problem for me as well. How do you leave “easy” issues open? Do you just have to have patience / not care about the issue enough to take the half hour to do it yourself? I’m not sure how to accumulate easy/beginner issues which aren’t simple API/bikeshedding discussions.

I’m not looking for something easy. Just something that can get me started. I looked through some of the github issues on Juno and many of them seem to be missing context for someone who hasn’t worked the in dev environment before.

I guess a better question would be, who do I talk to, to get more context? How do I pick out an issue that is reasonable in difficulty? What Issues are most important?

I’ve got some good information now, Thanks everyone!

I feel like this should get more visibility. Can we sticky it? I looked through it and it answered many of my questions.

2 Likes

Go to the Gitter and ping @MikeInnes or @pfitzseb. They are more active there.

Just as a heads-up: I’ll probably have only sporadic internet access for until April, so it seems likely I won’t be very active anywhere. @MikeInnes might be around though :slight_smile:

Let’s be honest: it never takes only half an hour…

1 Like

It only looked strange on https://github.com/JuliaPlots/Plots.jl/issues/369 and https://github.com/JuliaPlots/Plots.jl/issues/243 where you as the package owner didn’t make progress, so to assume a newcomer could deal with the complex setup …

I guess it depends a lot on what is ‘easy’, this requires competence with appveyor or pkg.julialang, but probably not an intimate knowledge of the inner workings of Plots…

I consider these “easy” because you don’t need to know too much about
Plots… you just need to know about Appveyor and PackageEvaluator.

I don’t, and also don’t care too much, so never spent the time on it.