lbryio / lbry-desktop

A browser and wallet for LBRY, the decentralized, user-controlled content marketplace.
https://lbry.tech
MIT License
3.56k stars 414 forks source link

Improve developer experience for new contributors #4036

Open neb-b opened 4 years ago

neb-b commented 4 years ago

What can we do to make it easier to contribute to this repo?

harshkhandeparkar commented 4 years ago

Hi! I have contributed to another open source organization before. The thing that got me started with github and OpenSource was their first-timers-only issue template.

These are issues specifically made for newcomers who know how to code but are not familiar with github and OpenSource.

Such issues with the specific label first-timers-only gain a lot of github trafic and call a lot of newcomers. I have seen issues being claimed within hours of publishing.

These issues aren't necessarily very difficult or coding related, they can even be a small typo fix but they include instructions (sometimes step by step) on how to use github and explain its principles. These issues bring a ton of newcomers.

Example: https://github.com/publiclab/image-sequencer/issues/1527

jeffslofish commented 4 years ago

I recently started contributing to this repo a little while ago and here is some feedback:

Things I found frustrating:

  1. There is a repo named lbrytv that says it is "LBRY on the web", which I assumed was all the code for lbry.tv, but it is actually the backend written in go. Granted, there is a step in setup instructions that say you must clone lbry-desktop and then "Launch UI in lbry-desktop". So I went through the process of setting up docker and the backend just to run the frontend of the website. It would be helpful if at the top of the readme file for lbrytv that it says this is the repo for the backend and if you just want to modify the frontend, then you should look in lbry-desktop.

  2. The setup instructions for frontend in the the lbrytv repo fails to mention that you need to run yarn compile:web the first time you run the web app.

  3. The setup instructions for lbrytv say "Open http://localhost:8081/ in Chrome" but I believe the correct url is http://localhost:9090/

  4. The contributors guide (https://lbry.tech/contribute) fails to mention anything about the lbrytv repo.

  5. This repo summary says it is "A browser and wallet for LBRY, the decentralized, user-controlled content marketplace." It isn't really clear from this that it is both an app and also the front-end of lbry.tv.

  6. Also at the top of the readme file for this repo it isn't clear that this is used as the frontend for lbry.tv.

  7. I was having problems with a git precommit hook failing due to some flow issues in files that I wasn't working on, but those problems seem to have gone away now.

Things I found helpful:

  1. Everyone I have interacted with from the team has been very helpful and encouraging!
neb-b commented 4 years ago

The lbrytv repo description was changed to "API Server for LBRY on the web", and I just opened https://github.com/lbryio/lbrytv/pull/207 to update the readme there which includes a link to the lbry-desktop repo.

neb-b commented 4 years ago

I'll give another pass at the readme for this repo sometime next week. I agree it's not very clear this is the UI for lbry.tv and the desktop app.

harshkhandeparkar commented 4 years ago

If I have permissions, then may I convert some of the issues marked with help-wanted to the first-timers-only issues as I suggested above? I guarantee that will instantly pull a lot of new contributor traffic.

On Fri, 24 Apr, 2020, 11:50 PM Sean Yesmunt, notifications@github.com wrote:

I'll give another pass at the readme for this repo sometime next week. I agree it's not very clear this is the UI for lbry.tv and the desktop app.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lbryio/lbry-desktop/issues/4036#issuecomment-619171602, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJI5H22P5XRYYRP3SJAL4TROHJ6VANCNFSM4MNPUD6Q .

neb-b commented 4 years ago

I don't think we will be spending very much time setting up issues for first timers only. The issue you linked looks like it would be very helpful for new contributors, but would take a really long time to build, much longer than actually fixing the issue.

At first I think we should focus on improving the experience for developers with some knowledge of git/github.

Feel free to ping me in any issues you think might be labeled wrong, or could use new labels.

harshkhandeparkar commented 4 years ago

The issue can be generated by a bot too. Also, most of the issue is just a template, I probably edited only 20 or so lines.

On Sat, 25 Apr, 2020, 12:22 AM Sean Yesmunt, notifications@github.com wrote:

I don't think we will be spending very much time setting up issues for first timers only. The issue you linked looks like it would be very helpful for new contributors, but would take a really long time to build, much longer than actually fixing the issue.

At first I think we should focus on improving the experience for developers with some knowledge of git/github.

Feel free to ping me in any issues you think might be labeled wrong, or could use new labels.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lbryio/lbry-desktop/issues/4036#issuecomment-619185061, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJI5HZTJW25NPZJLTIKY43ROHNU7ANCNFSM4MNPUD6Q .

neb-b commented 4 years ago

Yes I understand that, but finding an issue as simple as that, and creating a new issue for it will always take longer than just fixing it. Since our team is so small currently, we probably won't start doing that anytime soon.

neb-b commented 4 years ago

I do think it's a great idea though!

harshkhandeparkar commented 4 years ago

New contributors will be allowed to resolve only one such issue and then once they get comfortable, they can continue with solving other issues. These issues do the first step. New contributors are like lost when they see github issues. They get overwhelmed. They don't know what a PR is or how to edit code and stuff, so they need a step-by-step tutorial like this issue. Once that is done, it's no big deal for them to continue.

I have been contributing to OpenSource for only about a year now. The only thing that made this possible was one these issues. The story that I generalized for new contributors was my story too.

harshkhandeparkar commented 4 years ago

And I am saying that I can do it for the organisation. The core lbry team doesn't have to.

harshkhandeparkar commented 4 years ago

Yes I understand that, but finding an issue as simple as that, and creating a new issue for it will always take longer than just fixing it.

The idea is not to get the issue solved but to attract new people who can later solve issues. This process can be slow at the beginning but once new people start contributing, more people start flowing in. I am pretty sure that a lot of newcomers are browsing the issues from the lbry repos but they just can't get started so they move along.

Also, newcomers just search for first-timers-only issues directly. It can make (and made me) a proper contributor from 0. I didn't even know what github was.

neb-b commented 4 years ago

Oh I misunderstood! If you would like to try taking this on go for it! I just added you to the lbry-desktop team. You should be able to edit issues/add labels once you accept the invite. Can you see if it works?

harshkhandeparkar commented 4 years ago

Yeah it worked. Ty. I will get started on it soon.

On Sat, 25 Apr, 2020, 12:35 AM Sean Yesmunt, notifications@github.com wrote:

Oh I misunderstood! If you would like to try taking this on go for it! I just added you to the lbry-desktop team. You should be able to edit issues/add labels once you accept the invite. Can you see if it works?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lbryio/lbry-desktop/issues/4036#issuecomment-619190952, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJI5H54Y62NCOKGDMZ75KLROHPIVANCNFSM4MNPUD6Q .

neb-b commented 4 years ago

@HarshKhandeparkar Great! Let me know if you have any issues.