Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve developer experience for new contributors #4036

Open
neb-b opened this issue Apr 21, 2020 · 15 comments
Open

Improve developer experience for new contributors #4036

neb-b opened this issue Apr 21, 2020 · 15 comments
Labels
type: discussion A conversation. No specific changes requested

Comments

@neb-b
Copy link

neb-b commented Apr 21, 2020

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

@neb-b neb-b added the type: discussion A conversation. No specific changes requested label Apr 21, 2020
@neb-b neb-b mentioned this issue Apr 21, 2020
9 tasks
@harshkhandeparkar
Copy link
Contributor

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: publiclab/image-sequencer#1527

@jeffslofish
Copy link
Contributor

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 neb-b mentioned this issue Apr 21, 2020
@neb-b
Copy link
Author

neb-b commented Apr 24, 2020

The lbrytv repo description was changed to "API Server for LBRY on the web", and I just opened OdyseeTeam/odysee-api#207 to update the readme there which includes a link to the lbry-desktop repo.

@neb-b
Copy link
Author

neb-b commented Apr 24, 2020

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
Copy link
Contributor

harshkhandeparkar commented Apr 24, 2020 via email

@neb-b
Copy link
Author

neb-b commented Apr 24, 2020

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
Copy link
Contributor

harshkhandeparkar commented Apr 24, 2020 via email

@neb-b
Copy link
Author

neb-b commented Apr 24, 2020

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
Copy link
Author

neb-b commented Apr 24, 2020

I do think it's a great idea though!

@harshkhandeparkar
Copy link
Contributor

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
Copy link
Contributor

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

@harshkhandeparkar
Copy link
Contributor

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
Copy link
Author

neb-b commented Apr 24, 2020

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
Copy link
Contributor

harshkhandeparkar commented Apr 24, 2020 via email

@neb-b
Copy link
Author

neb-b commented Apr 24, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: discussion A conversation. No specific changes requested
Projects
None yet
Development

No branches or pull requests

3 participants