|
|
# PSU CS 461/561
|
|
|
Open Source Software Development
|
|
|
Summer 2017 ([[Sections|sections]])
|
|
|
|
|
|
Things To Do:
|
|
|
|
|
|
* If you are not on the [[project list|projects]], it is
|
|
|
almost too late! Contact me in class right away.
|
|
|
|
|
|
* Visit a Local Tech Event and write a report: <http://calagator.org>
|
|
|
|
|
|
The event will ideally be related to Open Source at least
|
|
|
in some vague way. The report should be just a paragraph
|
|
|
or two describing who you visited and how it went. Submit
|
|
|
your report via this
|
|
|
[Google Form](https://goo.gl/forms/vPzrHl2faJp6yR1a2).
|
|
|
|
|
|
* Prepare for your project presentation.
|
|
|
|
|
|
Project presentations will be the last week of class. *You
|
|
|
are required to attend your assigned section for all class
|
|
|
time that week.* You must be prepared to present at your
|
|
|
first class meeting. There are
|
|
|
[[guidelines|presentation-guide]] for your project
|
|
|
presentation.
|
|
|
|
|
|
---
|
|
|
|
|
|
Welcome. This Wiki is dedicated to our
|
|
|
[project course](http://psu-oss-2017.github.io) in open
|
|
|
source software development for the UNIX environment. The
|
|
|
list of current [[projects]] is quite impressive.
|
|
|
|
|
|
This is a wiki. A wiki is a collaborative web site: once
|
|
|
you're registered, you can (and should) help maintain these
|
|
|
pages, and use the site as a work area. This wiki is hosted
|
|
|
on GitHub under the project
|
|
|
[psu-oss-2017](http://github.com/psu-oss-2017), which you
|
|
|
and your summer project will join once you get started.
|
|
|
|
|
|
We will be using [Slack](http://slack.com) as our primary course
|
|
|
communications tool. You will be expected to be available to
|
|
|
participate in the Slack discussion. You must use your
|
|
|
`@pdx.edu` email address and your real name to [sign up](https://join.slack.com/psu-oss-2017/signup).
|
|
|
|
|
|
On the rare occasion that someone is hanging on IRC, they'll
|
|
|
be at <irc://irc.cat.pdx.edu:6667/osdl>.
|
|
|
|
|
|
Much information is available at the pages of the
|
|
|
[2016](http://wiki.cs.pdx.edu/oss2016)
|
|
|
offering of this course.
|
|
|
|
|
|
Other offerings that are still available:
|
|
|
[2014](http://wiki.cs.pdx.edu/oss2015),
|
|
|
[2014](http://wiki.cs.pdx.edu/oss2014),
|
|
|
[2013](http://wiki.cs.pdx.edu/oss2013),
|
|
|
[2012](http://wiki.cs.pdx.edu/oss2012),
|
|
|
[2011](http://wiki.cs.pdx.edu/oss2011),
|
|
|
[2010](http://wiki.cs.pdx.edu/oss2010),
|
|
|
[2009](http://wiki.cs.pdx.edu/oss2009),
|
|
|
[2008](http://wiki.cs.pdx.edu/oss2008),
|
|
|
[2007](http://wiki.cs.pdx.edu/oss2007).
|
|
|
|
|
|
## Contact Info
|
|
|
|
|
|
* <bart@cs.pdx.edu> -- Bart Massey, your instructor.
|
|
|
* [support@cat.pdx.edu](mailto:support@cat.pdx.edu) -- For help with systems and software
|
|
|
* [irc://irc.cat.pdx.edu](irc://irc.cat.pdx.edu/osdl) -- Course IRC channel
|
|
|
|
|
|
## User and Project Pages
|
|
|
|
|
|
Every developer/team should create a GitHub project under
|
|
|
our organization. There's a [[list|project-reqs]] of things
|
|
|
that should be in the project `README`.
|
|
|
|
|
|
## Web Resources
|
|
|
|
|
|
* [http://oss.cs.pdx.edu](http://oss.cs.pdx.edu) -- PSU OSS projects.
|
|
|
* [http://www.cat.pdx.edu](http://www.cat.pdx.edu) -- The PSU Computer Action Team.
|
|
|
* [/. article](http://slashdot.org/comments.pl?sid=35668&cid=3851076) -- OSS HOWTO (is this the original source?)
|
|
|
* [On Naming an Open Source Project](http://www.advogato.org/article/67.html)
|
|
|
* [Ikiwiki Formatting](http://ikiwiki.info/ikiwiki/formatting/) -- Basic formatting for this Wiki engine.
|
|
|
* [Git User's Manual](http://www.kernel.org/pub/software/scm/git/docs/user-manual.html) -- Git Manual
|
|
|
* [Official Git Tutorial](http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) -- Official Git Tutorial
|
|
|
* [GIT troubleshooting guide- helps resolve ssh issues](http://github.com/guides/addressing-authentication-problems-with-ssh)
|
|
|
* [apply-license](http://wiki.cs.pdx.edu/forge/apply-license.html) -- Bart's shell script for inserting license info into source code files. Thanks Bart!
|
|
|
* [Open Source Licensing: Software Freedom and Intellectual Property Law](http://www.rosenlaw.com/oslbook.htm) by Lawrence Rosen
|
|
|
* [The Case Against Patents](http://www.tinaja.com/glib/casagpat.pdf)
|
|
|
* [Bounty Hunters](http://www.greglondon.com/bountyhunters/bountyhunters.htm) A fun metaphorical look at the evolution of patents
|
|
|
* [Gitosis for git hosting](http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way) A great way to host your own remote git repo
|
|
|
* [A Little bit of OSS humor](http://xkcd.com/225/)
|
|
|
* [Really good hints for Vim from Bram](http://www.moolenaar.net/habits.html)
|
|
|
|
|
|
### Entrepreneurship
|
|
|
|
|
|
* [SCORE](http://www.scorepdx.org/) - Service Corps of Retired Executives: Great for general small-business advice, free.
|
|
|
* [OTBC](http://otbc.org/) - Oregon Technology Business Center: Business startup incubator, great resources, cheap.
|
|
|
* [PSBA](http://www.psba.pdx.edu/) - Portland State Business Accelerator: Don't know too much about their current status.
|
|
|
* [Startup Weekend](http://portland.startupweekend.org/): Good way to get started in a friendly environment.
|
|
|
* [Calagator](http://calagator.org/): Go network.
|
|
|
|
|
|
|
|
|
## Schedule
|
|
|
|
|
|
* **Week 1, June 27-29:**
|
|
|
* [[Introduction, Projects|lectures-intro]]
|
|
|
* [[Project Setup|lectures-setup]]
|
|
|
* **Week 2, July 4-6:**
|
|
|
* July 4 is *US Independence Day,* no class meeting
|
|
|
* [[Source Code Management with Git|lectures-scms]]
|
|
|
* **Week 3, July 11-13:**
|
|
|
* [[Scripting and Tools|lectures-tools]]
|
|
|
* [[Law and Ethics|lectures-legal1]] ([slides](lectures-oss-law-ethics.pdf))
|
|
|
* **Week 4, July 18-20:**
|
|
|
* [[Debugging|lectures-debugging]]
|
|
|
* [[Workflow|lectures-workflow]]
|
|
|
* **Week 5, July 25-27:**
|
|
|
* *Work Days*
|
|
|
* **Week 6, August 1-3:**
|
|
|
* *Work Days*
|
|
|
* **Week 7, August 8-10:**
|
|
|
* [[Project Deployment|lectures-deployment]]
|
|
|
* [[Business and Jobs|lectures-business]]
|
|
|
* **Week 8, August 15-17:**
|
|
|
* *Project Presentations*
|
|
|
|
|
|
## Final project requirements
|
|
|
|
|
|
Final project are due Friday of week eight of class at 5:00
|
|
|
PM. There will be no formal turn-in: instead, the project
|
|
|
GitHub repository will be graded directly.
|
|
|
|
|
|
There is a checklist of
|
|
|
[[project requirements|project-reqs]].
|
|
|
A deduction of between a half-grade and a full
|
|
|
letter grade will generally be the result of failing
|
|
|
to meet these requirements (especially the copyright/license
|
|
|
requirement), so please use this checklist carefully.
|
|
|
|
|
|
---
|
|
|
|
|
|
A note on plagiarism: You are expected to follow the PSU
|
|
|
student conduct code. Plagiarism is using other people's
|
|
|
intellectual work (code, writing, ideas) without proper
|
|
|
attribution. Open source is all about sharing code and
|
|
|
ideas, but if you take them without saying where you got
|
|
|
them you are a plagiarist; if I catch you I will be
|
|
|
unimaginably unhappy. |
|
|
\ No newline at end of file |