PSU CS 461/561
Open Source Software Development
Summer 2016 (20 June—12 August) MW 1300-1520 UH 1145-1405
Lab: FAB 88-10 (CS Linux Lab)
Welcome. This Wiki is dedicated to our project course in open source software development for the UNIX environment.
If you are a student, please begin by registering on this Wiki by clicking the Edit button at the top of this page. Use the passcode given to you by email. 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.
The course email list (for registered users only) is at oss2016@svcs.cs.pdx.edu (to sign up, click here). 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 2015 offering of this course.
Other offerings that are still available: 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007.
Contact Info
- bart@cs.pdx.edu -- Bart Massey, your instructor.
- support@cat.pdx.edu -- For help with systems and software
- oss2016@svcs.cs.pdx.edu -- Course e-mail list
- irc://irc.cat.pdx.edu -- Course IRC channel
User and Project Pages
Once we are up and running, every developer/team should put a link in the course projects area. The pages of individual users also often have links to project pages. There's a list of things that should be on the project page. You will need to pick a day and time for your final presentation.
Web Resources
- http://oss.cs.pdx.edu -- PSU OSS projects.
- http://www.cat.pdx.edu -- The PSU Computer Action Team.
- /. article -- OSS HOWTO (is this the original source?)
- On Naming an Open Source Project
- Ikiwiki Formatting -- Basic formatting for this Wiki engine.
- Git User's Manual -- Git Manual
- Official Git Tutorial -- Official Git Tutorial
- GIT troubleshooting guide- helps resolve ssh issues
- apply-license -- Bart's shell script for inserting license info into source code files. Thanks Bart!
- Open Source Licensing: Software Freedom and Intellectual Property Law by Lawrence Rosen
- The Case Against Patents
- Bounty Hunters A fun metaphorical look at the evolution of patents
- Gitosis for git hosting A great way to host your own remote git repo
- A Little bit of OSS humor
- Really good hints for Vim from Bram
Free Project Hosting
- GitHub - Git-based
- BitBucket - Mercurial-based
- Launchpad - Bazaar-based
- SourceForge - Subversion, Git, Mercurial, Bazaar, or CVS-based depending on configuration
- Google Code - Subversion or Mercurial-based depending on configuration
Entrepreneurship
- SCORE - Service Corps of Retired Executives: Great for general small-business advice, free.
- OTBC - Oregon Technology Business Center: Business startup incubator, great resources, cheap.
- PSBA - Portland State Business Accelerator: Don't know too much about their current status.
- Startup Weekend: Good way to get started in a friendly environment.
- Calagator: Go network.
Schedule
W | Date | Topic |
---|---|---|
1 | 20-21 June | Introduction, Projects |
1 | 22-23 June | Open Source Bridge Day |
2 | 27-28 June | Project Setup |
2 | 29-30 June | Source Code Management; GIT |
3 | 4 July | Independence Day: no class meeting |
3 | 5 July | Work Day |
3 | 6-7 July | Legal 1 |
4 | 11-12 July | Scripting and Tools |
4 | 13-14 July | Debugging |
5 | 18-19 July | Workflow |
5 | 20-21 July | Work Day |
6 | 25-26 July | Legal/Ethical |
6 | 27-28 July | Work Day |
7 | 1-2 Aug | Project Deployment |
7 | 3-4 Aug | Business and Jobs |
8 | 8-9 Aug | Project Presentations |
8 | 10-11 Aug | Project Presentations |
Final project requirements
Final project due: Friday, August 12th at 5:00 PM
There is a checklist of project requirements. 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.
There are also guidelines for your final presentation.
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.