Producing Open Source Software

Get Started. It's Free
or sign up with your email address
Producing Open Source Software by Mind Map: Producing Open Source Software

1. Code

1.1. Source Code

1.1.1. Following conventions

1.1.2. README Overview of project License name

1.1.3. Copy of full license in COPYING

1.2. Standard installation procedure

1.3. Copy of the documentation in one file

2. Looks

2.1. Enough investment into presentation that newcomers can get past the initial obstacle of unfamiliarity

2.2. Lower hacktivation energy

3. Name

3.1. Descriptive

3.2. English

3.3. Unused

3.3.1. Other projects

3.3.2. Trademarks

3.4. .org

4. Site

4.1. Mission statement

4.2. State "free" and license under mission statement (link to it)

4.2.1. MIT = ok in proprietary

4.2.2. GPL = not ok in proprietary

4.3. Features

4.3.1. Mark those in progress

4.4. Requirements

4.5. Development status

4.6. Code

4.6.1. Downloadable

4.6.2. Source Control

4.7. Bug tracker

4.7.1. Visible from front

4.7.2. Can be loaded, that's actually good

4.8. Communication channels

4.8.1. Types etc. Forums IRC Channels Chatrooms Mailing List

4.8.2. Make it clear you are following to receive feedback

4.9. Developer Guidelines

4.10. Documentation

4.10.1. User How to set it up Which skills are needed Overview of how it works Guide to doing common tasks Tutorial style

4.10.2. Technical Label incomplete areas as incomplete Known deficiencies / issues One page version

4.11. FAQ

4.11.1. Don't pre-build it

4.11.2. Grow it according to real questions

4.12. Goal: create culture and set precedents

5. Communications

5.1. Avoid private discussions

5.1.1. Steer private discussions to the public sphere

5.2. Nip rudeness in the bud

5.2.1. On mixed issues (personal attack + technical criticism) deal with it as two issues with the ad hominem first Don't demand apologies Don't demand acknowledgements Don't restrict bad apples from technical tools

5.3. Conspicuous code reviews

5.3.1. Public reviews

5.3.2. Mechanisms that invite reviews Ex: commit e-mails

6. Announce

6.1. Freshmeat

6.2. PHPClasses

6.3. Mailing lists of interest