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