Preface
Prerequisites
Applies to: All
To contribute to the openFIRST project, you require at least a basic knowledge in one or more of the following subject areas: English, e-mail, a web browser, HTML, CSS, Bugzilla, PHP, MySQL (and/or other database software), Subversion. Aside from that, you should be able to work independently and as part of a team with whom you will have little or no physical contact. Communications skills are very important, and are arguably more important than raw coding ability. In general, the more technically adept you are, the more options are available for you to choose how you'd like to contribute. However, if you're not all that technically adept it may be reassuring to know that it is certainly possible to make a valuable, lasting contribution to openFIRST without writing a single line of code. It is certainly possible to work in complete isolation from the rest of the openFIRST team, and only submit patches to the source code, or documentation, or do publicity work; but, I wouldn't recommend it.
Approach
Applies to: All
For the most part, this document is broken down into two main sections. The first section is general information that is useful background knowledge for all contributors; I would suggest that everyone read this part. The second situation is oriented around specific roles that you may wish to take as a contributor. A brief description of all of the roles is provided at the beginning of this section, and I would suggest that you read the information for all roles that sound appealing to you. In general, the brief descriptions provide as much information about the role as someone not considering taking it on would need. All sections of this document are clearly marked as to what roles they pertain to.
In terms of the approach that is taken to the openFIRST project itself, what the project is trying to create is software that is specialized for FIRST teams, with easily-modifyable code that follows standard conventions. The approach we take is to create a completely student-designed and built website. All code that leaves the project targetted to end users (that is, packaged modules) is completely student-created. A potential problem with this, is that there is guaranteed to be a fairly high developer turnover rate, and that no single developer is a student long enough to see the openFIRST project from start to finish. The approach that the project takes to deal with this issue is to have other people work from the foundation that the people who have since graduated built with guidance and mentorship by previous developers. The openFIRST approach isn't to merely package and integrate disparate software from other Open Source or proprietary sources into a connected system, it's to create a new system.
Summary of Topics
Applies to: All
... [Refer to the table of contents at the moment] ...
Conventions Used
Applies to: All
Each section of this document is marked underneath the section title as to which roles it applies to.
...

