Please take your time to answer the survey. I would really appreciate it if you could add a comment after some of the answers, with an explanation of any interesting details related to the question. The current results of the survey are available online, as will the final report once it is ready. For the current results, use http://www.async.com.br/~kiko/fsp/results.php Note that you are free to leave a difficult question unanswered; just leave it blank and proceed normally. You can email me back later and change any answers you like once you have submitted the initial answers. 1. General Questions 1.1. With respect to the initial motivations for starting this project, please indicate ALL the sentences below that are true. a. The project was started primarily for personal reasons (had desire to learn, found technology interesting, etc). b. The project was started primarily to produce software to support another Open Source/Free Software project c. The project was started (or sponsored) by a company or organization. d. The project was started as part of academic (university) work or research. e. The project's intention from the beginning was to produce at least part of its software as Open Source/Free Software. f. The project began based on pre-existing Open Source/Free Software (code fork, etc.). g. The project began based on pre-existing proprietary/closed source software. h. Other (specify below please) Choices (multiple choices allowed): Comment: 1.2. Who are the main users for your project's software? Please indicate ALL that apply. a. Yourself. b. The project team c. Users that are not computer-proficient or non-technical. d. Users in specific fields of expertise (e.g. amateur radio enthusiasts, mathematicians, engineers, software developers). Please specify which in the comment box below. e. Users in a particular company, site or organization f. One or more specific commercial customers (sponsors/paying). g. The Free Software/Open Source community. h. The computing community. i. Other (specify below please) Choices (multiple choices allowed): Comment: 1.3. How long ago was the first public version of the project's software released? a. Less than 6 months b. 6 months to a year c. 1-2 years d. 2-5 years e. Over 5 years f. Other (specify below please) Choice (single choice): Comment: 1.4. Is there a standard or public specification available that defines a significant part of the project? If so, please add a comment stating the most important of them. Example: HTTP (Internet RFCs 1945 and 2616) for Apache. a. Yes. b. No. c. Other (specify below please) Choice (single choice): Comment: 2. Project Team and Community In this section I am trying to understand how big the team on the project is, what it is like, and how members are involved in the project activities. 2.1. How many people would you estimate make up the project team? If in doubt, consider the project team is made up of the frequent and active contributors (including non-code contributors). a. 1 b. 2-5 c. 6-15 d. 16-25 e. 26-50 f. More than 50 g. Other (specify below please) Choice (single choice): Comment: 2.2. If you were to choose, what sort of leadership model best describes the project today? a. The project has a single leader and a number of people that are formally responsible for parts of it. b. The project has a single leader, which delegates responsibility occasionally to others. c. The project is led by a core group or committee of people that is responsible for making decisions; there is no single leader. d. There is no effective leadership structure. e. This is a single-person project. f. Other (specify below please) Choice (single choice): Comment: 2.3. With relation to this project's team and community, please indicate ALL phrases below that apply. a. Most people in the team know each other only through the Internet, and have never met physically/personally. b. Most people in the team work physically close, and meet personally with some frequency. c. The team includes people that have more than 5 years experience in serious software development. d. The project provides a high barrier of entry to new participants, even to those that are skilled in software development. e. A contributor to the project will often participate in more than one project activity: discussing functionality definition and design, designing user interfaces , coding, testing, project management, etc. f. Code contributors tend to work only on one specific language or technology used in the project (the one which they are most familiar with). g. Other (specify below please) Choices (multiple choices allowed): Comment: 3. Process Activities and Tools These questions refer to the type of activities that people in the project team actually do. This includes coding, of course, but along with coding I would like to understand how other important (from the engineering viewpoint) activities are actually done in your project. 3.1. This question aims to find out how the behavior and functionality of your software were defined. Please indicate ALL phrases that apply to your project. a. The project's software explicitly mimics (or is significantly based upon) the functionality or behavior of an existing (proprietary or Free Software/Open Source) software package. If so, please specify which? b. A significant amount of effort is spent defining what the software functionality and behavior (the requirements) should be. c. This project has no end-users apart from the project team. d. There have been meetings or discussions with end-users to define significant parts of the software functionality or behavior. e. These meetings/discussions occur frequently, and can be considered an important part of defining the project's software. f. The software functionality is implemented according to what the team thinks is correct, without significant external end-user input. g. I believe much of the expected functionality and behavior is not completely known or understood by the project team as a whole. h. Other (specify below please) Choices (multiple choices allowed): Comment: 3.2. This question touches the issue of usability: what sort of approach and how much effort is placed upon making the software more usable (i.e. easier, more efficient and more pleasant to use). Please indicate ALL that apply. a. The user interfaces for the project are designed (or prototyped) and refined before actually being implemented. b. We have conducted serious usability tests and studies on the project's user interfaces. c. Developers are not allowed to implement or change the user interfaces before the implementation/change has been reviewed and approved. d. A part of the team is specifically in charge of UI design. e. We would like to invest more in usability, but we are hampered by lack of documentation and/or team knowledge on the subject. f. This project doesn't have any significant user interface. g. Other (specify below please) Choices (multiple choices allowed): Comment: 3.3. In this question I try to determine information on documentation produced in/for the project. Please indicate ALL that apply. a. We have produced documents that describe at least some of the expected functionality and behavior (requirements) of our software. b. The project produces and maintains documents for developers that describe how the code is organized (architecture), and/or how parts of it work. c. There is a reasonably complete coding standards guide that is actively followed by the team. d. There is documentation for the end-user available for the project's software (consider also third-party documents available). e. End-user documentation is provided to a large extent by people or groups external to the project team. f. A significant part of the available documentation is frequently updated and revised to be up to date. g. Other (specify below please) Choices (multiple choices allowed): Comment: 3.4. This question covers activities that are performed with the intention to assure or improve the quality of the software produced by your project. Please indicate ALL that apply. a. There is an [automated] test suite for the project's software, that is used to validate it. b. There is a test plan (a written document describing tests) for the project's software, that is used by the project team. c. Periodic (i.e. nightly, weekly) snapshots of the project's code (or binaries) are distributed and used as an significant means of testing the software. d. There is an active code review process, where code is read by other members of the team. e. The project team members have formal rules for integrating code changes into the main codebase, and review is a strict requirement. f. Usually, an unexpected amount of bugs are discovered after a version has been publically released (this includes public release candidates). g. There is a tendency (or policy) to release a public version only when it has been extensively tested by the team. h. Other (specify below please) Choices (multiple choices allowed): Comment: 3.5. Select ALL of the software or communication tools that you actively use during development (don't select it if is available but rarely or never used): a. A project hosting site such as Sourceforge.net, Savannah or Collab.net (mark all others applicable as well) b. One or more Web sites c. A WikiWikiWeb site (SWiki, TWiki, PHPWiki, ZWiki, etc.) d. A Frequently Asked Questions document e. A version control tool such as CVS or Bitkeeper f. A bug database such as GNATS or Bugzilla g. One or more mailing lists h. Network news (NNTP) i. User forums/BBS j. IRC k. An instant messaging system like ICQ or AIM l. Other (specify below please) Choices (multiple choices allowed): Comment: