2. As applied to:
Sc2reader
http://pypi.python.org/pypi/sc2reader/
3. Some Background
● Started over winter break
● Abandoned
● 2 inquiries in one week
● drop.sc ( http://drop.sc/ )
● Obslib ( https://bitbucket.org/bpeschier/obslib/ )
● Now 17 watchers and 7 forks
● 5-8 people (plus Peter) frequent IRC
● Half dozen on the mailing list
4. All items lifted from:
Producing Open Source Software
By Karl Fogel
http://producingoss.com/en/producingoss.html
6. Choose a good name
➢ Is it clear what the project does?
➢ Is it easy to remember?
➢ Is it available for use?
➢ Is it clear of trademarks?
➢ Are the .com, .net, and .org TLDs available?
7. Choose a good name (5/5)
✔ Is it clear what the project does?
✔ Is it easy to remember?
✔ Is it available for use?
✔ Is it clear of trademarks?
✔ Are the .com, .net, and .org TLDs available?
8. Clear Mission Statement
➢ Is it concrete?
➢ Is it limiting?
➢ Is it short (30 seconds)?
➢ Does it require prior knowledge?
➢ Does the reader to possess that knowledge?
9. Clear Mission Statement (5/5)
✔ Is it concrete?
✔ Is it limiting?
✔ Is it short (30 seconds)?
✔ Does it require prior knowledge?
✔ Does the reader to possess that knowledge?
10. State that the project is Free
➢ Does your “front” page make it unambiguous?
➢ Is the license on/linked from your “front” page?
➢ Is the license included in a your repository?
➢ COPYING or LICENSE file at the Root folder?
➢ License/Reference to it in EVERY file?
➢ Is the license standard?
11. State that the project is Free (5/6)
✔ Does your “front” page make it unambiguous?
✔ Is the license on/linked from your “front” page?
✔ Is the license included in a your repository?
✔ COPYING or LICENSE file at the Root folder?
✗ License/Reference to it in EVERY file?
✔ Is the license standard?
12. Feature/Requirement Lists
➢ Is the required environment fully specified?
➢ Are there instructions for setting it up?
➢ Do you include incomplete/future features?
➢ Are they appropriately marked?
13. Feature/Requirement Lists (4/4)
✔ Is the required environment fully specified?
✔ Are there instructions for setting it up?
✔ Do you include incomplete/future features?
✔ Are they appropriately marked?
14. Development Status
➢ Does it state near-term goals?
➢ Does it hold a history of past releases with feature
lists and dates?
➢ Is it careful not to over promise?
➢ Does it state what types of developers are
needed?
15. Development Status (1/4)
✗ Does it state near-term goals?
✗ Does it hold a history of past releases with feature
lists and dates?
✔ Is it careful not to over promise?
✗ Does it state what types of developers are
needed?
16. Downloads
➢ Is it downloadable as a package?
➢ Do they conform to standard build/installation
methods?
➢ Does each download (set) have a unique
release version number?
17. Downloads (3/3)
✔ Is it downloadable as a package?
✔ Do they conform to standard build/installation
methods?
✔ Does each download (set) have a unique
release version number?
18. Developer Access
➢ Is the version control system accessible?
➢ Anonymously?
➢ Is the bug tracking system accessible?
➢ Anonymously?
19. Developer Access (4/4)
✔ Is the version control system accessible?
✔ Anonymously?
✔ Is the bug tracking system accessible?
✔ Anonymously?
20. Communication Channels
➢ Do you have a mailing list?
➢ Is it easy to find?
➢ Do you have an IRC channel?
➢ Is it easy to find?
➢ Is it clear if/when project authors can be found
in each of these locations?
21. Communication Channels (4/5)
✔ Do you have a mailing list?
✔ Is it easy to find?
✔ Do you have an IRC channel?
✔ Is it easy to find?
✗ Is it clear if/when project authors can be found
in each of these locations?
22. Developer Guidelines
➢ Does it point to the developer communication
channels?
➢ Are there instructions on how to report bugs?
➢ Are there instructions on how to submit patches?
➢ Does it indicate decision making style?
23. Developer Guidelines (1/4)
✔ Does it point to the developer communication
channels?
✗ Are there instructions on how to report bugs?
✗ Are there instructions on how to submit patches?
✗ Does it indicate decision making style?
24. Documentation Part 1
➢ Does it clearly state required technical skills?
➢ Is the process of setting up the software
described clearly and thoroughly?
➢ Is there a process for confirming installation?
25. Documentation Part 1 (1/3)
✗ Does it clearly state required technical skills?
✔ Is the process of setting up the software
described clearly and thoroughly?
✗ Is there a process for confirming installation?
26. Documentation Part 2
➢ Does it have an overview and/or examples
showing how to perform common tasks?
➢ Are incomplete or out of date areas clearly
labeled as such?
➢ Does it include a FAQ (even a small one!)?
27. Documentation Part 2 (0/3)
✗ Does it have an overview and/or examples
showing how to perform common tasks?
✗ Are incomplete or out of date areas clearly
labeled as such?
✗ Does it include a FAQ (even a small one!)?
28. Documentation Availability
➢ Are the docs easily accessible online?
➢ Are the user/developer docs packaged and
included with the program/source code?
➢ Is the documentation available in a “all on one
page” for easy searching?
29. Documentation Availability (1/3)
✔ Are the docs easily accessible online?
✗ Are the user/developer docs packaged and
included with the program/source code?
✗ Is the documentation available in a “all on one
page” for easy searching?
30. How did sc2reader do?
✔ Good name (5/5) ✔ Downloads (3/3)
✔ Clear Mission (5/5) ✔ Access to Tools (4/4)
✔ Licensing (5/6) ✔ Communication (4/5)
✔ Feature/Req List (4/4) ✗ Guidelines (1 /4)
✗ Develop Status (1 /4) ✗ Documentation(2/9)
31. Some Open Questions
● Is this checklist useful?
● What might be missing?
● Are there tools that can help?