667
edits
Changes
OSD600
,no edit summary
* Describe the history and philosophy of an open source project
* Choose between the various open source licenses understanding the implications for users, developers, and the software community in general
* Use the communication modes particular to the open source world through participation in such things as GitHub, mailing listsSlack, wikis, etc.
* Use the tools of open source development, for example: distributed revision control; documentation tools; automated build and test systems; debuggers; source code utilities; tracking systems; on-line resources, etc.
* Work with a pre-existing large source code base
==Major Project==
This is a project course, and the majority of each student’s mark will come from work done on a real development project. The primary goal of this project is to get students involved in the open source development community and its codebasecodebases. Through this experience students will learn about the processes, tools, and practices involved in developing software as part of a large open source community. Students will also have the opportunity to contribute their own code to real-world software projects, thereby gaining important experience.
===Philosophy===
Many of the practices inherent in open source development will seem to go against the structures often set in place for similar course work. For example, students are typically forbidden to collaborate with peers, to copy from the web, etc. However, these rules must be re-evaluated in the context of proper and pragmatic open source development practices.
First, consider the typical rules around cheating and plagiarism. In this assignmentcourse, students are encouraged to work within the set of best practices natural to open source development. Open source developers do not write from scratch what already exists and is freely available for use. Students should be thinking in terms of code reuse. It is acceptable for students to use code from other open source projects, so long as the license is amenable to the use.
Second, consider the typical restrictions on peer-collaboration. In this project students are encouraged to work together, to help one another, to look at each other's code, etc. Open source collaboration is about leveraging the collective knowledge of a community to help solve the problems of the individual.
* Give others encouragement and credit when they offer help
* Use existing open source code whenever possible
* Be open to helping others and to being helped
==Intellectual Property==
Detailed grading information will be discussed later in the term. Below is a breakdown of how students will be graded, and [http://blog.humphd.org/vocamus-680/?p=680 this blog post] gives more details about the rationale:
* '''8060%''' - Project Deliverables (e.g., code, Pull Requests, documentation), marked in terms of quality, quantity, process, etc.** '''10%''' - [[OSD & DPS909/OSD600_Fall_2018_Release_0Fall 2020 - Release 0.1|Release 0.1 Release]] due Fri , Sept 2825** '''3020%''' - [https://github.com/humphd/hacktoberfest[OSD & DPS909 Fall 2020 -at-seneca-2018 Release 0.2 |Release0.2]] due Wed Sat, Oct 31** '''2015%''' - [[OSD & DPS909 Fall 2018 2020 - Release 0.3|Release 0.3 Release]] due Fri , Nov 1620** '''2015%''' - [[OSD & DPS909 Fall 2018 2020 - Release 0.4|Release 0.4 Release]] due Fri , Dec 711* '''2040%''' - Labs/Blog: There will be marked Done/Not Done (i.e.approximately 10 labs, no subjective grading will be applied)each worth 4%. Students are expected to must satisfactorily complete all course project deliverables and labs in order to pass the course.
==Resources==
* [[DPS909 & OSD600 Fall 20182020]]- Weekly Course Notes and Links* [https://seneca-open-source.slack.com Seneca Open Source Slack] (- Our main communication platform is Slack. You can sign-up with your @myseneca.ca email)address.* [httphttps://zenit.senecac.ontelescope.ca/~chriscdot.tyler/planetsystems/ Telescope Open Source@Seneca PlanetBlog]- All student open source blogs are aggregated here in our custom blogging software
== Archives ==
* [[OSD600 Winter 2018]]
* [[OSD600 Fall 2018]]
* [[OSD600 Winter 2019]]
* [[OSD600 Fall 2019]]
[[Category:OSD600]]