This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Gábor Szabó
I think one of the best ways to learn and practice software development is by participating on Open Source projects.
I've organized quite a few Meetups and Hackathons where the goal was to help people get started with Open Source. I also taught a course at the Weizmann Institute of Science where part of the material was learning about development of open-source projects.
I am now thinking on how to extend this and how to find organizations that will be interested to sponsor these activities. Either as a way to get people work on their own open source project or on open source projects they work on.
Or because seeing people work on open source projects will help them find new talents.
Maybe because they would like to help improve the general state of the Open source world.
In any case recently I encountered two people posting about courses about Open Source Development. This is fascinating and I think we can learn from these a lot.
Courses
Two course I found while reading blog posts here at DEV.
DPS909 - Topics in Open Source Development
at Seneca College in Canada.
See the posts of @pdr0zd starting from his self introduction
OSD600 - Topics in Open Source Development
also at Seneca College
See the posts of @tdaw for example this one
Topics
Some topic that I would cover if I ran a full course
- The history and philosophy of Open Source and Free Software
- Understanding (a bit) open source licenses.
- Git
- GitHub / GitLab: issues, forking, pull-requests
- Testing
- CI: GitHub Actions / GitLab pipelines
Assignments
Some assignments I have given in my events/course and some I plan to give in my future courses.
- Create GitHub account
- Send a pull-request to an existing project adding your name to the README file
- Create your own GitHub repository
- Create a web site using GitHub pages with Markdown
- Require the students to write a public journal about their process. Either on the GitHub pages or on DEV.
- Add GitHub Actions to an existing real project (send the Pull-Request)
- Open an issue on a real open-source project
- Run the tests of an existing project, generate test-coverage report
- Add tests to an existing project (either for a reported bug or for something that was not tested as reported by the coverage report)
- Add a linter to an open source project.
Discuss
What is your experience regarding the usefulness of Open source contributions and ease of finding employment?
What other courses do you know where people learn and practice(!) how to contribute to open source projects?
This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Gábor Szabó

Gábor Szabó | Sciencx (2022-11-28T19:44:00+00:00) Open Source Development Courses. Retrieved from https://www.scien.cx/2022/11/28/open-source-development-courses/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.