class: center, middle # CSCI-UA 480.10: OSSD ## Open Source Software Development
## Course Logistics .author[ Instructor: Joanna Klukowska
] .license[ Unless noted otherwise all content is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). ] --- # Software __Software means computer instructions or data__. Anything that can be stored electronically is software, in contrast to storage devices and display devices which are called hardware. [from Webopedia article, retrieved Jan. 16, 2018](https://www.webopedia.com/TERM/S/software.html) --- # Open Source * what does _open source_ mean to you? -- * [_What is Open Source_](https://youtu.be/7c0IrsDsNaw) by a few Mozzillians (2:51 min) --- # This Course This course prepares students to become active participants in open source projects. Topics to be discussed (order will differ): * a brief history of open source development, * an in-depth look at different types of open source projects, * the study of various tools involved in open source development, * collaborative nature of open source projects, * community structure, * version control systems, * licensing and intellectual property, * types of contributions (programming and non-programming), * tool-chains that enable such contributions, __The students are expected to contribute to existing open source projects.__ --- # This Course The students: * mostly independent work (possibly in groups) of exploring and learning * regular class discussions (participation matters a LOT) * regular reading and writing assignments (to document what you are working on) * regular contributions (small and large, code and not)
The instructor: * sets topics to be discussed (suggestions are welcome) * coordinates the class discussion * creates assignments * coordinates assessment * will not be able to answer many of students' questions --- # Course Website * URL: https://joannakl.github.io/cs480_s18/ * this page contains the syllabus and daily summaries as well as loads of links to all other resources and services you will need for this class -- * Github repository: https://github.com/joannakl/cs480_s18 * One of the first assignments will involve finding problems with the content of the course website, creating issues and submitting pull request with fixes. (But do not start on it just yet. Wait for the details to be posted.) * During the rest of the semester you are welcome to continue this practice to fix minor issue and to share useful material. --- # Weekly blogs / journals - Each student has a public repository for the course related blog. - General blog template repository: https://github.com/nyu-ossd-s18/weekly - General blog template site: https://nyu-ossd-s18.github.io/weekly/ - Each week (by Sunday night) a new post should be added - answer assigned questions for that week - summize your course related activity - list all (if any) contributions --- # Course discussion: IRC IRC = Internet Relay Chat - an essential tool used by open source software developers - allows members of the community, or those interested in becoming involved in the community, to communicate 24/7, regardless of their geographic location - IRC is much like Instant Messaging with a group - partial IRC protocol: - ‘talking’ is not always a requirement; you will learn a great deal by ‘listening’, especially in the beginning; - when you join a channel, it is not necessary to identify yourself or to say hi, you can simply 'lurk'; - feel free to ask questions, and note that it is not necessary to ask first if you can ask a question! --- # Course discussion: IRC course IRC channel: irc://freenode/ossd_s18 IRC resources: - [Getting started with IRC](https://opensource.com/life/16/6/irc) - [IRC quickstart guide](https://opensource.com/article/16/6/irc-quickstart-guide) - IRC cheat sheet: https://opensource.com/irc-cheat-sheet -- Class use: - we will start using IRC channel for some class communication - online office hours - in-class "discussion" - why use/learn IRC? - many open source projects use IRC channels for meetings and communication - you need to know how to use it and how to behave in a channel in order to be part of the community --- # Course message board / discussion: Piazza - not an open source tool, but handy for course related questions - you should have gotten an invite to join the class - you can self-sign up at https://piazza.com/nyu/spring2018/csci480 --- # Contributions - non-code contributions to - non-code projects - code projects - non-code contributions - small (fixing a typo or rewriting something for clarity) - larger (adding paragraphs, redesiging/restructuring articles/documentation) - large (creating an article, adding instructions / documentation) - code contributions to - non-code projects (for example a website) - code project --- # Sources and Acknowledgements - [Open Source Training Series](https://emmairwin.github.io/learning-open-source/) -
Intro to IRC (Activity)
---