codebuddies / greetbot

Slackbot for greeting new codebuddies users
MIT License
9 stars 14 forks source link

Add Open Source Projects that are beginner-friendly to Greetbot as a "Slash" Command #93

Open peoray opened 6 years ago

peoray commented 6 years ago

@wuworkshop recently indicated the need to add OSS resources to either Greetbot, the CB Forum, or both because the topic comes up fairly regularly. What do you guys think?

stain88 commented 6 years ago

yep, go for it if you want. i would recommend /resources oss

BethanyG commented 6 years ago

Yes - I agree with @stain88 - you could add a specific /resources OSS command. I would strongly recommend against adding anything to the initial welcome message - it is already so long that no one is reading it through.

I'd work with @wuworkshop to get levels (what is beginner, what is intermediate, what is advanced), the specific message phrasing, preferred resource links and which emojis to use in the message. It should be similar in appearance and tone to what we've done for /resources JavaScript and /resources Python. More info on how those are put together here: https://github.com/codebuddies/greetbot/wiki/03-Adding-Resources,-and-Resource-Display-Templates

Once you have a message mocked up, the best place to get feedback on it would be in #codebuddies-meta or #cb-code on Slack (paste in a screengrab of the message, and ask for feedback). And of course - once you've made the code changes, we're happy to have you submit a PR here for review and testing. :-)

wuworkshop commented 6 years ago

Hmm... đŸ€” I honestly wasn't thinking about OSS in terms "what is beginner, what is intermediate, what is advanced". Not sure if levels make sense for this topic.

What pops up often in the Slack is how to start contributing to OSS. Another OSS question might be how to start and maintain an OSS project.

lpatmo commented 6 years ago

@wuworkshop Are there common links that you find yourself sharing over and over again, re: contributing to OSS? That could be included here, maybe.

Another idea on my wishlist has been to have a weekly feature of OSS projects people can contribute to, but that's a separate thing.

wuworkshop commented 6 years ago

My go-to link has been this site from GitHub (and their friends) - https://opensource.guide/

Kent C. Dodds wrote a good article on egghead.io: https://egghead.io/articles/get-started-contributing-to-javascript-open-source

Not sure how others feel about profanity 😅 , but I also really liked this Medium piece from Ken Wheeler on his experience as an OSS maintainer: https://medium.com/codezillas/a-bitter-guide-to-open-source-a8e3b6a3c1c4

I especially loved the last paragraph:

With all that said, I have one last recommendation. Don’t do this unless you actually want to. Don’t feel like you have to. You can get a job without it. You can be a good developer without it. I’ve benefitted from it greatly, and enjoyed doing it, but I will never get the time back that I spent fucking around on libraries for free, that I could have spent with my family or pursuing hobbies or doing literally anything that would provide passive income. Do it because you want to. If you aren’t passionate about what you’re building, it probably won’t succeed.

For finding an OSS project to contribute to, there's a bunch that's typically mentioned:

  1. https://www.codetriage.com/
  2. https://up-for-grabs.net
  3. https://yourfirstpr.github.io/
lpatmo commented 6 years ago

Awesome, thank you.

BethanyG commented 6 years ago

https://opensource.com/resources/organizations

We might also want to pull out some of the pages from the opensource guide to point people to specific sections....like pointing users specifically to https://www.firsttimersonly.com/, among others.

Agree that contributing to OSS might not fit into neat levels at first glance...although I am tempted to try. I see people ask all the time about contributing, and there are different levels/phases of that process. Most people (myself included) don't know were to start looking, or what questions to ask.

Just spitballing:


Beginner: Links on how to find projects, what to look for (do they have mentoring, how well funded is it, what does the documentation look like, do they have issues flagged for beginners)....a lot of that is in the opensource guide, but we may want to highlight sections. Many good exemplars of "well organized" project can be found under the Apache foundation, or Django, among others. Suggestions for types of issues to tackle as you just start (documentation addition/review, typos, config corrections, contained bug fixes...as in, start small and build up).

http://blog.teamtreehouse.com/getting-involved-open-source-projects https://opensource.com/article/18/3/First-Contributions-project https://whatcanidoformozilla.org/#!/progornoprog/proglang

This is from 2012, but is still super-relevant: https://opensource.com/life/12/11/open-source-contributions-come-all-shapes-and-sizes

Also from 2012, but still good:https://smartbear.com/blog/test-and-monitor/14-ways-to-contribute-to-open-source-without-being/#_ga=2.102062082.2070148357.1533169074-1678138443.1533169074

The smallest contributions are still greater than none


Intermediate: How to's on working with remote teams, PR dos and don'ts, how to block out a feature request (and how to propose one) , things to think about if you are starting your own project, project management concerns...balancing OSS contributions with jobs and real life. How to quantify your contributions on your resume or portfolio.

https://smartbear.com/blog/develop/leveraging-open-source-experience-in-your-job-hunt/#_ga=2.102062082.2070148357.1533169074-1678138443.1533169074

This is really good: https://smartbear.com/blog/test-and-monitor/measuring-success-in-an-open-source-project/#_ga=2.110523526.2070148357.1533169074-1678138443.1533169074

Technical barriers to participation: Is it easy to figure out where to get the source code? Is the code easily understandable to someone likely to be capable of contributing? Is it clear how to build the code? Can someone qualified to contribute easily figure out how to usefully modify the code? Is the process to contribute changes back upstream clear and straightforward? And are all of these true even if you aren’t already part of the “in crowd” for the project?

Social barriers to participation: Is the community open to communication and participation from outsiders? Is it clear and obvious how to become part of the conversation around the development of the >software? Is it easy? Do consumers get reasonable access to and attention from developers?

Legal barriers to participation: Are you using a standard license (GPL, Apache, BSD, etc.)? (In the case of OpenDaylight, this is the >Eclipse Public License.) Is your entire code base licensed under that license? Is it clear to contributors under what license they must contribute? Is it clear to consumers what license they are consuming under, and what they have to do to comply? "The higher the barriers to collaboration a community raises, the harder it is for it to become successful."


Advanced: Starting and funding a project, maintaining your project, managing growth & popularity (once your project explodes - how do you organize?), recruiting participants, managing your project, dealing wit burnout.

https://smartbear.com/blog/develop/13-things-people-hate-about-your-open-source-docs/#_ga=2.102062082.2070148357.1533169074-1678138443.1533169074

Then again, maybe I've just had too much sugar today.....