代做Module 2: Open Source Contribution Project帮做R程序
- 首页 >> CSModule 2: Open Source Contribution Project
Due date: Jun 21, 2024 11:59pm
Overview
Open source software is incredibly popular. It has been adopted at scale over the last decade and it is critical to businesses of all sizes and organizations across the public sector. From the Internet, to public cloud computing platforms, we see open source as the basis for how the world communicates, does business and provides services. The term ‘opensource’ describes software that is available on an open source license that shares the source code or human readable code, and allows anyone using the code on that license to maintain and modify the code.
Open-source software provides the user with plenty of opportunities when it comes to editing and changing the code. Software is released with its source code, allowing the user to edit, study, use, or share the program. Programming skills nowadays are only a part of what a software developer should know. By contributing to open source projects, students acquire in practice a formidable range of skills, knowledge, and experiences, allowing them to work productively as modern well-rounded developers. This project will give you the opportunity to explore and become a part of the world of open source software development.
Instructions
Overall Project Requirements
1. Research a project and submit a contribution.
2. Document the project details, explain your contribution code, and describe your experience.
To help ensure success with your open-source projects, we require you to use the below guidelines when looking for an open-source project:
● Seek for projects with 200 stars or more
● Make sure the project has an active community
● Make sure there are "good first issues"
● Make sure to get approval from your Discussion section TA before starting to work. There may be exceptions to the above requirements.
Navigate between the tabs below to see instructions for your project.
Part 1
1. Identify the languages and frameworks with which you are familiar.
2. Find an open-source project that uses a similar set of technologies with which you are familiar and includes issues for beginners.
1. Try to find a repository with many stars and forks. This gives some assurance of a quality open-source project.
3. Explore the project and gather information on the following topics
1. Size and age of project?
2. Number of commits, stars, and forks?
3. What is the socio-technical impact of the project?
1. Is it a tool for other developers or a consumer product?
4. What are some best practices for newcomers?
5. What are best practices in general?
1. Code of conduct?
2. Pull requests?
3. Code style?
4. Anything else!
4. Detail one of the "beginning" or "starter" issues.
1. What is the issue trying to fix or implement or accomplish?
2. What are the technologies involved?
3. Give a time estimation for the time to complete.
4. Explain your reasoning.
5. Submit your research. Minimum 1-page single space, 12 point, Times New Roman font.
Part 2
1. Figure out what kind of contribution you want to make - implementing a feature or fixing the UI design or submitting a fix for an already-reported issue.
2. Understand the contribution guidelines for that project and make sure you are following them.
3. Submit a recorded presentation (5 minutes maximum) containing reflections on your contribution experience. Include the following:
1. Project description
2. GitHub file walkthrough
3. Contribution walkthrough
1. Describe your contribution. What did you do?
2. Include both a link (use a URL shortener like bit.ly to keep it short).
3. Make sure to describe clearly what you did.
4. What turned out the way you expected, as described in the docs or textbook, or things that worked out in your favor.
5. What did not work
6. Roadblocks, unexpected problems, etc. Discuss what they were and how you overcame them, if you did.
7. What I learned and what will you do different in the future, etc.
There are some very good Youtube videos for first-time contributors. If you are not familiar with how to contribute to an open source project, watching these videos will be helpful:
Contributing to Open Source for the first time:
https://www.youtube.com/watch?v=c6b6B9oN4Vg
Helpful Tips
● Use one project for both assignments; No personal projects or friends project
● Communicate with admins/issue reporters directly so you can receive guidance on how best to approach the issue.
● Contribution must be with code/or bug fix.
○ No minimum set lines of code, but must be meaningful. - Explain
● Choose a project with several active contributors, so that there is a community to guide you and respond to your questions.
● Choose a relatively popular project (some GitHub stars, Preferably 1K
stars.) demonstrating that it provides useful functionality and is developed in a relatively sound way. You want to avoid an abandoned thesis project uploaded on GitHub.
● Verify that you can build and run the project on your computer setup.
● Try to contribute a trivial fix as a warm-up exercise and as a way to test your ability to follow the project's workflows.
● Look for project issues marked as "Good first issue," which indicate a
project that is open to new contributors. (There are several online lists of projects with such issues.)
● Clone the project from GitHub to your local repository and make an additional branch name "Open-source-Contribution".
Guidelines and Submissions
Part 1
● Submit a PDF of your research.
● Minimum 1 page.
● Single spaced.
● 12 point, Times New Roman font.
Part 2
● Submit a link to your video presentation on YouTube by posting the link in a comment on your file upload.
● Video should include a you on camera presenting and a shared clear picture of your code.
● 5 minutes maximum.
● Share your github project repo where you included code.