Table Of Contents >>Design Pattern "How To Organize An Open Source Project"<<
I Team:
1 Workflow
1.1 Chain Of Softwaredevelopment
1.2 Small Teamparts Can Work For You
1.3 Maintainer
1.4 Workingplans At A Dev-SVN
1.5 Commit Message Rules
1.1.1 Bugfix
1.1.2 Additions
1.1.3 Changes
1.1.4 Clean Up
1.1.5 Remove
1.6 Look For Other's Branches
2 Communication
2.1 IRC
2.2 Mailinglist
2.3 DevOnly Area
2.4 MSN / ICQ / Jabber / IM's
2.5 Casual Conversation
2.6 Bad Evaluation Of Other's Commits
3 Hold Your Fokus
3.1 Set Small Targets
3.2 Calculate The Time You Will Need
3.3 Split Into Smaller Parts
3.4 When You Are Done.
4 Support / Wiki
4.1 Open Source Software Support
4.2 Other Users
4.3 FAQ
4.4 Wiki
4.5 Bugtracker (Flyspray)
5 Do NOT Do
5.1 Post In A Problemthread To Tell You Have The Problem Too
5.2 Commit Untested Stuff
5.3 Commit Into Another Maintainers Area Without His Knowledge
5.4 Reactivate Deprecated Marked Methods
5.5 Kill Complete API Without Discussing It (For Mod Users)
5.6 Commit with messages like "..."
II Community:
6 Users Contributions
6.1 Diff Files
6.2 Description What Is Changed / Fixed
6.3 Rewrite To StyleGuide
7 Bugreports
7.1 Where To Post Bugfixes?
8 Forum
8.1 Areas
8.1.1 Contributions
8.1.2 Accepted
8.1.3 Denied / Custom
8.1.4 Todo Area
8.1.5 Feature request
8.1.6 General
8.1.7 Tools / 3rd Party
III Development:
9 Style
9.1 Packagenames
9.2 Class- / Interfacenames
9.3 Methodnames
9.4 Variablenames
9.5 Array / Structures
9.6 Loops & If-Terms
9.7 Annotations
9.8 Deprecate Methods
9.9 Documentation Javadoc / XML
10 Holding Compatibility
10.1 What Is The Project? Fork Or Package?
10.2 Which Parts Should Hold Compatible?
11 Programing
11.1 Eclipse, Java
11.2 Eclipse's AutoBuild
11.3 Maven
11.4 Refactoring
12 Debugging
12.1 Local / Remote Debug?
12.2 Why Debugging?
12.3 HowTo Remote Debug
IV The Way To...:
13 Rewrite
13.1 Announce Your Rewrite
13.2 Give Possibility To Discuss About
13.3 Make Notes And Whitepapers About
14 Syncs
14.1 Think About "What Does This Sync?"
14.2 Rewrite To StyleGuide
14.3 Think A Second Time Before Commit (Interdependencies In Code)
14.4 If syncing - One Sync per Commit
15 Branching
15.1 Why To Branch
15.1 HowTo Branch
15.1 HowTo Merge
16 Unit Testing
16.1 Why To Unittest
16.2 HowTo Use Unittests
16.3 Use Them? Hold Them UpToDate
V Releasing & VCS:
17 Decentralized (Darcs, git, Mercurial)
17.1 Advantages
17.2 Disadvantages
18 Centralized (Subversion)
18.1 Advantages
18.2 Disadvantages
19 Design & Workflow
19.1 Development Trunk & Stable Tag
19.2 Development & Stable Release
19.3 Release Numbers
19.4 Testserver & Demoserver