From: Jakub Narebski Date: Wed, 17 Jun 2009 17:59:11 GMT Subject: Re: [RFH] Questions for Git User's Survey 2009 Message-ID: <200906171959.13051.jnareb@gmail.com> In-Reply-To: <200905291855.03328.jnareb@gmail.com> This is current list (after a bit of feedback here on git mailing list) of proposed questions and of proposed _answers_ (for single choice and multiple choice questions) for "Git User's Survey 2009". Comments very much appreciated. Next version would be put additionally as test survey on Survs.com, to test how much time would it take to fill survey. Note that this future test run of survey would have data removed before true survey! Git User's Survey 2009: proposed questions ========================================== Questions marked with star (e.g. 11.*) are questions which I am not sure if they should be in this survey. If there is more than one question with the same number, and they have different version suffix, e.g. 10v1 and 10v2, it means that there are laternate versions of the same question (and of course only one would be in 2009 survey). About you: ^^^^^^^^^^ 01. What country do you live in? (free-form question, or drop-down list of countries (select)) 02. How old are you (in years)? (free-form / text entry, or age range: single choice) Possible values for age ranges, taken from previous survey analysis (GitSurvey2008 page on Git Wiki): * < 18 * 18-21 * 22-25 * 26-30 * 31-40 * 41-50 * 51-75 * > 75 What do you think about this set of ranges? Should it be changed? Or perhaps free-form age is a better solution (it is not as if analysis of this field was hard). Getting started with Git ^^^^^^^^^^^^^^^^^^^^^^^^ 03. Did you find Git easy to learn? (single choice:) * very hard * hard * reasonably easy / average * easy * very easy 04. Did you find Git easy to use? [NEW!] (single choice, the same set as in previous question:) * very hard * hard * reasonably easy / average * easy * very easy 05. Which Git version(s) are you using? (multiple choice, as one can for example use different version on different machines:) + pre 1.3, + 1.3.x, + 1.4.x, + 1.5.x, + 1.6.x, + 'master', + 'next', + minor release 1.x.y.z [NEW!, ???] + other - please explain (free-form field) 06. Rate your own proficiency with Git: (single choice:) * novice * casual, needs advice * everyday use * can offer advice * know it very well (guru) Actually this is meant to be something like 1-5 numerical grade of one's proficiency in git. Do you have other proposals for naming possible answers? [The whole section about "Other SCMs" was removed] How do you use Git? ^^^^^^^^^^^^^^^^^^^ 07. I use Git for (check all that apply): (multiple choice:) + work projects, + unpaid projects; + proprietary code, + OSS development, + private (unpublished) code; + code, + personal data, + documents, + static website, + web app; + sharing data or sync, + backup, + wiki/blog/other web app backend, + managing configuration files, + frontend to other SCM; + other - please specify Empty lines here are used to separate kinds of choices, although most possibly they would be not present in the final version on Survs.com. What things are lacking in above list? Should we remove some less often used things (but in 2008 survey it is only wiki/blog backend that received decidely less answers... with 10% / 290 responses)? 08. How do you obtain Git? (multiple choice:) + binary package, + source tarball, + source package or script[*], + pull from (main) repository [*] Explanation: so git is installed in a system of packages 09. What operating system do you use Git on? (multiple choice:) + Linux, + MacOS X, + MS Windows/msysGit, + MS Windows/Cygwin, + *BSD (FreeBSD, OpenBSD, NetBSD, etc.), + other Unix, + other - please specify In this question number of possible answrs was reduced a bit, based on answers from previous survey. We might want to put OpenSolaris as separate from "other Unices" (which would then be "proprietary Unix") -- what do you think? Should we pot Solaris, OpenSolaris, AIX, SunOS, IRIX, SCO SV as separate possibilities instead of groupng them under 'other Unix'? I'd rather have smaller number of choices; I think this makes for easier to take survey. 10v1.*What editor, IDE or RAD you use working with Git? (either free-form, or multiple choice:) IDE/RAD: + Eclipse, + NetBeans, + IntelliJ IDEA, + MS Visual Studio, + KDevelop, + Anjuta, + XCode, editor: + Emacs and XEmacs, + Vim, + Notepad++, + gedit, + Geany, + Kate, + TextMate, + 'E' Text Editor, + SciTE, free-form part: + other - please specify. 10v2.*What do you use to edit contents under version control with Git? What kind of editor, IDE or RAD you use working[*] with Git? (multiple choice:) + simple text editor[1], + programmers editor[2], + IDE or RAD[3], + WYSIWYG tool[4], + other kind - please specify [*] this means using it often, and not once or twice [1] for example pico, nano, joe, Notepad [2] for example Vim, Emacs, TextMate (syntax highlighting, autoindentation, integration with other tools, etc.) [3] for example Eclipse, KDevelop, Anjuta, MS Visual Studio, Xcode, but also Quanta+, BlueFish or Screem for editing HTML, and Kile or LyX for LaTeX. [4] word processors such as MS Office or OpenOffice.org, but also tools such as Adobe Acrobat (for PDF) or GIMP (for images), or WYSIWYG DTP tools such as QuarkXPress, PageMaker or Scribus, or WYSIWYG HTML editors such as FrontPage, Dreamweaver or KompoZer, etc. This (optional) question comes in two flavours. Which one to choose? There is v1 with detailed list of possible editors and IDEs; the problem with this version is coming up with comprehensive list of editors and IDE (to not have too much of free-form 'other' answers, which one has to analyze), balanced on the other hand with desire to not have too long (unwieldy) list of answers / possible responses. Then there is alternate shorter v2 which asks only about "kind" of editor/RAD one use. It has much less possible answers (although the question if all possible reasonable responses are included remains, only much reduced), which is good... but it also provides less information. What other kinds of tools used to edit version managed content there might be? 11v1. What Git interfaces, frontends and tools do you use? (multiple choice:) Implementations: + git (core) commandline, + JGit, + via library / language binding (e.g. Grit) Porcelains: + Cogito (DEPRECATED), + Easy Git + Pyrite (?) Patch and topic branch management interfaces: + pg / Patchy Git (DEPRECATED), + StGIT, + Guilt (formerly gq), + TopGit History viewers and commit tools: + gitk + git gui + QGit + GitView + Giggle + GitNub + GitX + git-cola (formerly ugit) + tig Filemanager / shell extensions: + TortoiseGit + Git Extensions + git-cheetah Other tools: + instaweb + git-sh Other kinds of tools: + editor/IDE VC integration + graphical diff tool + graphical merge tool + graphical blame or pickaxe tool + other - please specify: This combines "Which porcelains / interfaces / implementations do you use?" with "Which of the following git tools do you use?". Alternate version could be asking about only kinds of tools one use, not about specific tools. Which would be better, what do you think? 12. What tool (or kind of tool) would you like to have Git support in? (this includes language bindings and Git (re)implementations) (free-form - essay:) 13. Which git hosting site do you use for your projects? (multiple choice:) + GitHub, + repo.or.cz, + Gitorious, + Unfudle, + Assembla, + Alioth, + Fedora Hosted, + Savannah, + SourceForge, + freedesktop.org, + kernel.org, + git hosting site for set of projects + self hosted, + generic web site (no git support), + other - please specify Are there other (popular) git hosting sites, or generic software hosting sites with git support which I missed in above set? Should all hosting sites from http://git.or.cz/gitwiki/GitHosting be listed? 14. How do you fetch/get changes from upstream? [NEW!] This means how do you get changes from projects you follow or participate in development, into your local repository. (multiple choice:) + git protocol, + ssh, + http, + rsync, + same filesystem, + bundle, + foreign SCM import/script like git-svn, + other - please specify 15. How do you publish/propagate your changes? (multiple choice:) + push, + pull request (+ any form of announcement), + format-patch + email, + format-patch + other (e.g. review board or forum), + git bundle, + git-svn, + foreign SCM interface (other than git-svn), + other - please specify (free-form:) 16. Which of the following features do (or did) you use? (multiple choice:) + non-default hooks (from `contrib/hooks/` or custom), + working with dirty tree, + bisect (optionally "git busect run