Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 April 16, 2008 1 Open Source Software Project Infrastructure William Cohen NCSU CSC 591W April 16, 2008.

Similar presentations


Presentation on theme: "1 April 16, 2008 1 Open Source Software Project Infrastructure William Cohen NCSU CSC 591W April 16, 2008."— Presentation transcript:

1 1 April 16, 2008 1 Open Source Software Project Infrastructure William Cohen NCSU CSC 591W April 16, 2008

2 2 2 Project Needs ● Web Site ● Mailing Lists ● Version control/code repository ● Bug tracking ● Real-time chat (optional) ● Wiki (optional)

3 3 April 16, 2008 3 Web Site ● Web site is clearing house for the various other piece of the project ● Make sure things are clear and well organized

4 4 April 16, 2008 4 Mailing Lists ● Very important communication channel for projects ● Make sure that mailing list is available when project is announced ● Use existing mailing list management software (do NOT manage by hand)

5 5 April 16, 2008 5 List Management Software ● Subscription via email and web interface ● Digest and message-by-message mailing modes ● Moderation to control spam and no member posting ● Administration interface ● Header manipulation ● Archiving to allow search postings

6 6 April 16, 2008 6 Spam Control ● Filtering postings: ● Auto posting only from list subscribers ● Spam filtering software ● Moderation (gray area where human examines) ● Address hiding: ● Avoid email harvesters using email list

7 7 April 16, 2008 7 Email Header ● Most people use email filtering to group list email in folder. Possible keys: ● Subject line field: ● To:, cc:, replyto: fields ● Encourage replies to go to whole list rather than individuals (want to archive that knowledge)

8 8 April 16, 2008 8 Archiving ● The list management software should archive email for future reference ● Web interface to allow people that are not member read list ● Should reflect current email list state (not require a week for message to be posted on web) ● Threading discussion so people can follow threads ● Web addresses should be static, so the URL can be passed between people ● Searchable ● Easy archiving and mirroring, make it possible for others to have email archive

9 9 April 16, 2008 9 Example Email Management Software ● Mailing list management software: ● Mailman — http://www.list.org/http://www.list.org/ ● SmartList — http://www.procmail.org/http://www.procmail.org/ ● Ecartis — http://www.ecartis.org/http://www.ecartis.org/ ● ListProc — http://listproc.sourceforge.net/http://listproc.sourceforge.net/ ● Ezmlm — http://cr.yp.to/ezmlm.htmlhttp://cr.yp.to/ezmlm.html ● Dada — http://mojo.skazat.com/http://mojo.skazat.com/ ● Mailing list archiving software: ● MHonArc — http://www.mhonarc.org/http://www.mhonarc.org/ ● Hypermail — http://www.hypermail.org/http://www.hypermail.org/ ● Lurker — http://sourceforge.net/projects/lurker/http://sourceforge.net/projects/lurker/ ● Procmail — http://www.procmail.org/http://www.procmail.org/

10 10 April 16, 2008 10 Version Control ● Version control need to for tracking changes to project ● Needs to be available when the project is first setup ● Use version control for non-code things such as FAQ, documentation and web pages

11 11 April 16, 2008 11 Version Control Desired Features ● Browsable by web ● Commit emails to inform people when changes occur ● Singularity of information: ● Avoid having to check information in twice ● Allow use of merges from different branches ● Branching: ● Allow developers to work on multiple versions of project at same time ● Authorization: ● Allow default read-only access ● Allow people to be added to read-write access

12 12 April 16, 2008 12 Version Control Software ● CVS — http://www.nongnu.org/cvs/http://www.nongnu.org/cvs/ ● Subversion — http://subversion.tigris.org/http://subversion.tigris.org/ ● Mercurial — http://www.selenic.com/mercurial/http://www.selenic.com/mercurial/ ● GIT — http://git.or.cz/http://git.or.cz/ ● monotone — http://www.venge.net/monotone/http://www.venge.net/monotone/

13 13 April 16, 2008 13 Bug Tracking ● Software to track state of: ● Features/Enhancements ● Defects ● Tasks of definite duration ● One-stop place to find out state of Feature/Enhancement/Defect/Task ● Needs to have some way of marking duplicates ● Email to keep interested people informed of state changes ● Ability to tie version control system to bug tracker, e.g. log bug fix - > close bug

14 14 April 16, 2008 14 Bug Tracking Software ● Bugzilla — http://www.bugzilla.org/http://www.bugzilla.org/ ● GNATS — http://www.gnu.org/software/gnats/ ● Trac — http://trac.edgewall.com/http://trac.edgewall.com/ ● Mantis — http://www.mantisbt.org/http://www.mantisbt.org/

15 15 April 16, 2008 15 Real-time Chat ● Place to ask quick questions ● Usually not archived ● A number of places to create channels ● Pick project name or something obvious as channel name ● Include channel topic: ● Printed when people join channel ● Gives people idea of channel's purpose and ground rules

16 16 April 16, 2008 16 Wikis ● Any visitor can enter content ● Can make it easy for people to add content ● Pitfall to watch for: ● Lack of organization ● Duplication of information ● Inconsistent target audience/writing style

17 17 April 16, 2008 17 Canned Hosting ● Minimal work to setup project on ● May not provide as much control for configuration ● An number of sites have setup for open source projects: ● SourceForge ● savannah.gnu.org ● BerliOS.de

18 18 April 16, 2008 18 Further Reading ● http://producingoss.com/ http://producingoss.com/


Download ppt "1 April 16, 2008 1 Open Source Software Project Infrastructure William Cohen NCSU CSC 591W April 16, 2008."

Similar presentations


Ads by Google