{"thread":{"id":"43895","subject":"[RFC] Proposed questions for \"Git User's Survey 2016\"","startedAt":"2016-08-20T18:56:44Z","lastAt":"2016-09-09T20:21:15Z","messageCount":15,"participants":["Jakub Narębski","Eric Wong","Andrew Ardill"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"299796","messageId":"91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com","threadId":"43895","inReplyTo":null,"subject":"[RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-20T18:56:17Z","receivedAt":"2016-08-20T18:56:44Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Hello,\n\nAs I wrote previously here, I am thinking about returning to doing the\nGit User's Survey this year.\n\n  Message-ID: <577E6F32.7020007@gmail.com>\n\n  https://marc.info/?l=git&m=146790381602547&w=2\n  https://public-inbox.org/git/577E6F32.7020007%40gmail.com/\n\nThe previous email, which did not receive many responses, was a query about\nthe direction we want to have for Git User's Survey 2016.  Now I would like\nto ask about something more specific: what questions (and answers) you would\nlike to see in the survey.\n\nBelow is my initial proposal; my comments are prefixed with \"JN> \".\n----------------------------------------------------------------------------\n\n#### About you\n\nJN> This section gives us a bit of demographical information about survey\nJN> responders.  Is it useful?\n\n\n01. What country do you live in? (Country of residence)\n    (free-form single line)\n\nJN> Survs.com do not offer list of countries as a pre-defined drop-down\nJN> list (select, with search), and it looks like it is not as easy as\nJN> I thought (though I could push responsibility to Locale::Country ;-):\nJN>\nJN>   https://en.wikipedia.org/wiki/List_of_sovereign_states\nJN>\nJN> This question originally read \"What country are you from?\"\nJN> which might be thought as country of birth... which may not\nJN> exist any longer.\n\n\n02. How old are you (in years)?\n    (single number)\n\nJN> Perhaps a selection of age ranges would be better (if less precise).\nJN> We could follow the example of StackOverflow Survey here:\n\n   ( ) <20\n   ( )  20-24\n   ( )  25-29\n   ( )  30-34\n   ( )  35-39\n   ( )  40-49\n   ( )  50-59\n   ( ) >60\n\n\n03. Your gender\n    (single choice)\n\n   ( )  Man\n   ( )  Woman\n   ( )  Other\n   ( )  Prefer to not disclose\n\nJN> This would be new question, to check if we good good diversity\nJN> among survey responders (and not skewed in particular direction).\nJN> Though I am not sure if it is a good idea...\n\n\n04. How would you describe your occupation / role as Git user?\n    (multiple choice with other, limit to 3 selections (?))\n\n   [ ] Developer\n   [ ] Programmer\n   [ ] Engineer\n   [ ] Analyst\n   [ ] Manager / Leader\n   [ ] Maintainer / Reviewer / Sub-maintainer\n   [ ] DevOps\n   [ ] Administrator\n   [ ] Designer\n   [ ] Artist / Writer\n   [ ] Tester / QA\n   [ ] Expert\n   [ ] Student\n   [ ] Researcher\n   [ ] Teacher\n   [ ] Other, please specify\n\nJN> This is a new question, based somewhat on \"Developer Occupations\"\nJN> and \"Programmers, Engineers, and Developers\" questions in \nJN> StackOverflow Survey.  It is here to find out if different\nJN> occupation leads to different ways of using Git, and if there\nJN> is some occupation that is not well served by Git.\nJN>\nJN> The list of \"occupations\" is preliminary, and I would like to\nJN> ask for your thought about possible answers.\n  \n\n05. Have you ever contributed to Git project (code, documentation, etc.)?\n\n   ( )  Yes\n   ( )  No\n   ( )  Maybe\n\nJN> This is here to correlate other responses with Git developers.\nJN> In 20012 it was called \"Does Git include code or documentation by you?\nJN> (Are you a Git developer?)\".  I think this way of stating it is better;\nJN> if it is here to stay - the number of active and past developers is\nJN> not very large.  On the other hand it can be used to detect if we\nJN> have a bias due to the way survey is announced.\n\n\nJN> NOTE: earlier surveys have had two additional questions that were\nJN> since removed (to make survey shorter, among others).  Those were:\nJN>\nJN>  - What is your preferred [non-programming] language?\nJN>  - Which programming languages / technologies you are proficient with?\nJN>\nJN> Well, the latter was only about programming languages, originally.\n\n\n#### Getting started with Git\n\nJN> This is probably not the best name for this section of questions.\n\n06. Have you found Git easy to learn?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy\n  * Hard\n  * Very hard\n\n07. Have you found Git easy to use?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy\n  * Hard\n  * Very hard\n\nJN> Those two questions, considered alone, doesn't tell us much.  If one\nJN> uses git, then usually one does not think it is too hard to use\nJN> (unless forced to use git by external circumstances, like project\nJN> he/she works on using git).  On the other hand those two questions\nJN> together give us some mesaure of Git's learning curve, telling us\nJN> if people consider git easy to use but hard to learn, or vice versa ;-)\nJN>\nJN> This question was present from the beginning of Git User's Survey,\nJN> so it can be used to compare with historical surveys, and see\nJN> Git evolution in motion (hopefully in good direction, that is getting\nJN> easier to learn and use).\n\n\n08. Which Git version(s) are you using?\n   (multiple choice, with other)\n\n + pre 2.0\n + 2.0.x to 2.5.x\n + 2.6.x\n + 2.7.x\n + 2.8.x\n + 2.9.x or newer\n\n + 2.10.x-rcN version (release candidate)\n + minor (maintenance) release 1.x.y.z\n + 'master' branch of official git repository\n + 'next' branch of official git repository\n + version from msysGit / Git for Windows fork repository\n + alternate Git implementation (JGit and similar)\n\n + other, please specify\n\nJN> I don't know if it is a good range.  One thing that might be good\nJN> to know is people using outdated Git, perhaps because it is version\nJN> bundled with GUI tool (e.g. using last msysGit instead of Git for\nJN> Windows, that is 1.9.x at latest).\nJN>\nJN> If we want connection with last survey, from 2012, we would\nJN> need to go back down to 1.7.x or earlier version...\n\n\n09. On which operating system(s) do you use Git?\n    (multiple choice, with other)\n\n + GNU/Linux\n + MS Windows\n + macOS\n + *BSD (FreeBSD, OpenBSD, NetBSD, etc.)\n + Android\n + iOS\n + other Unix\n + other, please specify\n\nJN> This question was a part of previous surveys, but it was asked\nJN> a bit later.  This year I skipped asking about Cygwin vs native\nJN> Git for Windows.  Note that I am not sure if Android and iOS,\nJN> added just now, should be present here.\n\n\n10. Rate your own proficiency with Git\n    (single choice, rating)\n\n 1. novice\n 2. casual, needs advice\n 3. everyday use\n 4. can offer advice\n 5. know it very well\n\nDescription:\n~~~~~~~~~~~~\nYou can think of it as 1-5 numerical grade of your proficiency in Git.\n\nJN> This question tell us penetration of announcements of the survey;\nJN> did we get to all users, or only to git gurus?  It is also useful\nJN> for correlating with other responses, for example to get to know\nJN> which Git features are used by novices, and which by gurus.\nJN>\nJN> Note that the answers are rather here to stay because of\nJN> \"backwards compatibility\", that is to be able to easy compare\nJN> with earlier surveys.\n\n\nJN> I have moved questions around, so we now have 5 questions per\nJN> section.  I wonder if it is something worth having (from the\nJN> point of view of answering survey).\n\n\n#### How do you use Git\n\n11. I use Git for (check all that apply):\n    (multiple choice, with other)\n\n\nNote that those choices are neither orthogonal nor exclusive.  One\nmight want to check multiple answers even for a single repository.\n\nJN> Answers to this question probe different direction.\nJN> We might want to split this question... but on the other hand\nJN> I think we'd rather reduce the number of questions in the survey.\n\n + work and work-related projects\n + unpaid projects\n \n + closed-source projects\n + OSS development, public domain, and published & unlicensed\n + private (unpublished), in house projects\n\nJN> It was \"proprietary projects\" instead of \"closed-source projects\"\nJN> in previous version(s) of Git User's Survey\n\n + code (programming) and its documentation\n + data, documents, static assets (without code)\n\n + sharing data or synchronization\n + managing configuration files\n + backup\n + frontend / fat-client to other SCM (e.g. git-svn, git-p4)\n\nJN> I'm not sure if the last answer should not be moved to\nJN> question about other version control systems\n\n + other, please specify\n\n\n11. How do/did you obtain Git (install and/or upgrade)?\n    (multiple choice, with other)\n\nJN> Perhaps this question should be moved to previous section.\nJN> If yes, should we keep it to 5 questions per section, that\nJN> is move or remove other question then?\n\nNote that this question is multiple choices question because one can\ninstall Git in different ways on different machines or on different\noperating systems.\n\n + binary package\n + source package or script (automatic compiling)\n + source tarball/archive (extract, make, make install)\n + pull from repository, and compiled\n + bundled with GUI or other kind of tool\n + preinstalled / sysadmin job\n\n + other - please specify (if none of the above apply)\n\nJN> The \"bundled\" answer is new.  I guess that most people would\nJN> not check if GUI brought it own Git (sometimes very outdated;\nJN> SourceTree for Windows bundled git 1.9.7 (sic!)) and is using\nJN> it instead of system- or user-installed Git.\nJN>\nJN> Note for example that Eclipse brings JGit, implementation\nJN> of Git in Java, and would be covered by \"bundled\" answer...\n\n\nJN> NOTE: I think we can skip\nJN>\nJN>   What Git interfaces, implementations and frontends do you use?\nJN>\nJN> question.  What do you think?\n\n\n12. What kind of Git tools do you use?\n    (multiple choice, with other)\n\n + editor/IDE VC integration (e.g. EGit (for Eclipse), TextMate bundle, magit (for GNU Emacs))\n + filemanager / shell extension (e.g. git-cheetah, TortoiseGit, Git Extension)\n + filesystem interface (e.g. gitfs, figfs)\n + graphical history viewer/browser (e.g. gitk; might be a part of GUI tool)\n + graphical commit tool (e.g. git-gui; might be a part of GUI tool)\n + graphical diff and/or merge tool (e.g. Kompare, Meld; might be a part of GUI tool)\n + graphical blame or pickaxe tool (e.g. 'git gui blame'; might be a part of editor plugin)\n + tool to manage git repositories (e.g. Gitolite)\n + git-instaweb, or self-hosted web interface (e.g. gitweb, cgit)\n + self-hosted project hosting solution (e.g. GitLab, GitHub FI, GitPrep, Phabricator)\n + self-hosted code review or audit system (e.g. Gerrit, Differential)\n + patch or patch series management interface (e.g. StGit, Guilt, git-series)\n + command line tab-completion, or equivalent (e.g. git-completion.sh)\n + shell prompt, or widget, desklet, etc. (e.g. git-prompt / __git_ps1(), git-radar)\n + git aware pager, or syntax highlighter (e.g. tig, diff-highlight)\n\n + credentials helper, or askpass wrapper\n + remote helper to store repository (e.g. FTP, Amazon S3, Dropbox)\n + remote helper to interact with foreign repositories (e.g. git-hg)\n\n + my own scripts (for daily use)\n + my own scripts (for special tasks)\n\n + other, please specify\n\nJN> Does this list cover all kind of tools that one might be using,\nJN> or is some category missing from the above list (slightly modified\nJN> and extended compared to previous surveys)?\n\n\n13. List Git tools that you are using (comma separated, or one per line)\n13. List git tools that you use (optional)\n    (textarea)\n\nJN> Open ended questions are often a pain to analyze, but I don't think\nJN> this one would be a problem.  Instead of free-form text field we\nJN> could provide a list of most common GUIs and other tools... but I am\nJN> not sure what they are, and we are risking skewing results.  On the\nJN> other hand free-form might mean people forgetting about tool they use,\nJN> or used in the past; it is also a bit more work, to write and not\nJN> only to select.\n\n\n14. How often do you use Git command line (and other command line tools)?\n    (single-choice, rating-like)\n\n  1. never\n  2. rarely\n  3. often\n  4. only (always)\n\nJN> This is a new question, replacing somewhat \"What Git interfaces,\nJN> implementations and frontends do you use?\".  I'm not quite sure if\nJN> it is a question worth to have.\n\n\n15. Which git hosting site(s) do you use for your project(s)?\n    Please check only hosting sites where you publish/push to (with git)\n    (multiple choice, with other)\n\nJN> I think it should be limited to *main* hosting sites; there is\nJN> always the \"other, please specify\" option\n\n  + GitHub\n  + Bitbucket\n  + GitLab\n\n  + SourceForge\n  + Savannah or Gna!\n  + CodePlex\n\n  + git hosting site for related projects (e.g. OLPC, freedesktop.org)\n  + company internal / self-hosted\n\n  + other, please specify\n\nJN> Gitorious was acquired/changed into GitLab, Google Code is in archive\nJN> mode, BerliOS is no longer.  CodePlex is new; many hosting sites that\nJN> were present are missing, but could be added: Assembla, Beanstalk,\nJN> CloudForge (formerly Codesion), Codebase, Deveo, Unfuddle, perhaps\nJN> even Alioth (Debian), Fedora Hosted, Launchpad (Ubuntu)\nJN>\nJN> \"Company internal\" and \"self-hosted\" got concatenated into one answer.\n\nJN> This question could be moved to the next section.\n\n\n#### Git workflows, or\n#### Interacting with other repositories\n\n16. How do you fetch/get changes from upstream repositories\n    and/or other developers?\n    (multiple choice, with other)\n\n + git protocol        (e.g. git://git.example.com/repo.git)\n + ssh                 (e.g. ssh+git://git.example.com/repo.git,\n                             git.example.com:/srv/scm/repo.git)\n + http                (e.g. http://git.example.com/repo.git)\n + rsync (DEPRECATED)  (e.g. rsync://git.example.com/repo.git)\n + filesystem          (e.g. /path/to/repo.git, file:///path/to/repo.git)\n + applying patches    (e.g. git-am from emails)\n + via git-bundle\n + foreign SCM (fat-client or remote helper, e.g. git-svn, git-p4, gitifyhg)\n\n + Other, please specify\n\nJN> Nobody should be using rsync, as it got broken and nobody noticed,\nJN> and then removed from Git.  Note that \"applying patches\" is new,\nJN> because question got extended to cover getting changes from other\nJN> developers (in maintainer role), not only from upstream repo.\nJN> This question is about getting changes into local work repository.\n\n\n17. How do you publish/propagate your changes?\n    (multiple choice, with other)\n\n + push via SSH\n + push via HTTP / HTTPS\n + push via git protocol (NOT RECOMMENDED)\n + push (unknown)\n + pull request (+ any form of announcement / notification)\n + format-patch + email\n + format-patch + other (e.g. reviewboard, issue tracker or forum)\n + git bundle\n\n + git-svn (to Subversion repository)\n + git-p4 (to Perforce repository)\n + foreign SCM interface (other than mentioned above)\n\n + other - please specify\n\n\nXX. How do you integrate changes from others?\n    (multiple choice, with other)\n\n + merge  (includes 'git pull')\n + rebase (includes 'git pull --rebase')\n + reapply (e.g. git-am from patches)\n + git-imerge (third-party tool)\n\n + git mergetool or other graphical merge tool\n + graphical rebase tool\n\nJN> This is proposed new question about workflows.\n\n\nXX. What types of branches can be found in your repositories?\n    (repositories you use or are contributing to)\n    (multiple choice, with other)\n\n + there is only a single branch\n + development/graduation branches (master/stable, next/devel/unstable etc.)\n + per-release maintenance branches\n + proposed-updates integration testing and WIP publish branch\n\n + bugfix / hotfix branches (topic branches for bug fixes)\n + release branches (for preparing a new release)\n + other short-lived topic / feature branches\n\n ? orphan branches (with disconnected history, e.g. gh-pages, todo)\n\n + other types and uses, please describe\n\n\nJN> This is new question.  It doesn't ask about use of git-flow, but\nJN> is close.\n\n\n#### How you use Git\n\n18. Which of the following Git features do you use?\n    (multiple choice, with other)\n\n + end-of-line conversion (crlf or eol)\n + custom diff/merge driver\n + textconv\n + other gitattributes (e.g. clean/smudge filter)\n\n + word diff\n + merge strategy options (e.g. -Xrenormalize)\n\n + submodules (subprojects)\n + subtree merge (e.g. git-subtree, git-stree)\n\n + partial (sparse) checkout\n + shallow clone (e.g. \"git clone --depth=<n>\")\n\n + multiple worktrees (e.g. git-worktree)\n\n + alternates mechanism (sharing object database)\n + stash and autostash (also \"git stash --keep-index\")\n + detaching HEAD (e.g. \"git checkout --detach\", \"git checkout <tag>\")\n + orphan branches, with disconnected history (gh-pages, todo, man, etc.)\n + commit message templates, and/or commit-related hooks\n + interactive commit / per-hunk comitting / partial commit / splitting commits\n + interactive rebase, fixup commits (small scale history editing)\n + git-filter-branch or equivalent, like BFG Repo Cleaner (large history rewriting)\n + finding errors in history with bisect (also \"git bisect run <script>\")\n + tracking code movement with git-blame (\"git blame -M\" etc.)\n + committing with dirty tree (keeping some changes uncommitted)\n + reflog (including @{1}, @{yesterday}, @{-1} / -, 'git log -g')\n\n + git-aware shell prompt\n + git aliases, shell aliases for git, or own git scripts\n\n + one-way interaction with other SCMs (from SCM to git)\n + two-way interaction with other SCMs (from SCM to git, from git to SCM)\n\n + object overlays (git replace or grafts)\n + object annotation (git notes)\n\n + Other, please specify\n\nJN> The problem is come up not with exhaustive list of features: there are\nJN> too many of them to list.  The problem is coming up with list of\nJN> important and used enough often features (and those interesting to\nJN> know about).\nJN>\nJN> So: what features should be included in this list?  What features\nJN> should be removed from above list of answers?\nJN>\nJN> Should this question be split into parts?  Should we ask how often\nJN> those features are used (matrix-form question)?\n\n\n19. Describe what features would you like to have in Git\n    (free form, essay length / textarea)\n\nJN> The Git User's Survey 2012 (last survey) have had also\nJN> \"17. Which of the following features would you like to see\nJN> implemented in git?\", with a list of answers.  But as Git development\nJN> is not directed by surveys, I'm not sure if it is worth it.\nJN>\nJN> Such free-form question would be a pain to analyze well, but it\nJN> could also be a source of a good inspiration.\n\n\n#### Other version control systems\n\n20. What other version control systems (SCM) do you use beside Git?\n   (multiple choice, with other)\n\nExplanation: \"using\" version control system here means using\nit to actively contribute (propose changes or accept proposals),\nand not only e.g. using it to download software.\n\nJN> Perhaps we should split it into two questions, one about\nJN> centralized version control systems, one about distributed\nJN> ones.\nJN>\nJN> Clarification (narrowing of scope) is new.\n\n + SCCS\n + RCS\n\n + CVS\n + Subversion\n\n + Perforce\n + ClearCase\n + AccuRev SCM\n + StarTeam\n + Visual SourceSafe\n + Team Foundation Server\n + Visual Studio Team System / ALM\n + Rational Team Concert\n\n\n + Bazaar (bzr)\n + Mercurial (hg)\n + Monotone\n + Darcs\n + SVK\n + Fossil\n + Veracity\n\n + BitKeeper\n + Code Co-op\n + TeamWare\n + Plastic SCM\n + Veracity\n\n + other, please specify\n\nJN> Is there any *prominent* and important version control system\nJN> missing from this list?  Are there systems that are so rare that\nJN> they should be removed from the list?\n\n\n21. How does Git compare to other SCM tools you have used?\n    (single choice, rating)\n\nGit is ____ that other version control systems I have used.\n\n * better\n * equal (comparable)\n * it depends (in some matters better, in some matters worse)\n * worse\n * cannot compare (have not used anything beside Git)\n\n\n#### What you think of Git?\n\n22. Overall, how happy are you with Git?\n    (single choice, rating)\n\n * unhappy\n * not so happy\n # neutral\n * happy\n * very happy\n * completely ecstatic\n\nJN> I'm not sure if this question is at all useful.\nJN>\nJN> There is also problem, that the current wording is considered biased\nJN> by some, but on the other hand changing wording of answers would make\nJN> it impossible to compare it to answers from previous surveys...\nJN> Though I have added 'neutral' as an answer.  Perhaps I should add\nJN> most negative answer to make rating balanced?\nJN>\nJN>  # hate Git with a passion of thousands suns\n\n\n23. In your opinion, which areas in Git needs improvement?\n    Please state your preference.\n    (matrix)\n\n   Columns: don't need / a little / some / much\n + user-interface (UI and UX)\n + core documentation\n # messages, error messages, advices\n + performance\n + more features\n + tools (e.g. GUI)\n + localization (translation) of messages\n # translated documentation (manpages)\n\nJN> Are there any general areas that are missing from this list?\nJN> What are they?\nJN>\nJN> Note that \"translated documentation\" and \"messages...\" are new.\n\n\n24. How do you compare the current Git version with the version from one year ago?\n    (single choice)\n\n * better\n * no changes\n * worse\n\n * cannot say\n * Git used for less than 1 year\n\nJN> This question is mainly excuse for providing list of main changes\nJN> from the year ago, to show off how Git continues improving.\nJN> List of new features and other changes taken from RelNotes.\n\nDescription:\n~~~~~~~~~~~~\nThe version from approximately one year ago is x.y.z from DD-MM-YYYY\n(x.y.v is from DD-MM-YYYY).\n\nChanges since x.y.z include:\n\n[TO BE DONE]\n\n\n#### Documentation. Getting help. ==\n\n25. How useful have you found the following forms of Git documentation?\n    (matrix)\n\n  Columns: never used / not useful / somewhat / useful\n ------------------------------------------------------\n + help distributed with git (manpages, tutorials, guides, etc.)\n + \"Pro Git\" book\n + Git Wiki\n + Git Reference site\n + hosting site tutorials and help, etc.\n + 'git' section of StackOverflow Documentation\n + other on-line help\n + printed books (or ebooks)\n\nDescription:\n~~~~~~~~~~~~\n* help distributed with Git includes their online version:\n  - https://git.github.io/htmldocs/git.html\n  - https://git-scm.com/docs/\n  - https://www.kernel.org/pub/software/scm/git/docs/\n* Git Wiki was to be found at http://git.wiki.kernel.org\n* Git Reference site can be found at http://gitref.org\n* StackOverflow Documentation refers to http://stackoverflow.com/documentation/git\n* \"Pro Git\" can be found at https://git-scm.com/book and https://progit.org\n* hosting sites tutorials include\n  - https://help.github.com/\n  - https://www.atlassian.com/git/\n  ? https://www.git-tower.com/learn/git/ebook\n* help distributed with git include manpages, manual, tutorials, HOWTO,\n  release notes, technical documentation, contrib/examples/\n\nJN> Should we split those answers further, e.g. separating on-line\nJN> tutorials and guides, from on-line tips etc.?\nJN>\nJN> This is also educational, showing where one can find documentation;\nJN> note that StackOverflow Documentation in yet in Beta.\n\n\n25. What [channel(s)] do you use to request/get help about Git [(if any)]?\n   (multiple choice, with other)\n\n + git mailing list (git@vger.kernel.org)\n + \"Git for Human Beings\" Google Group\n + msysGit mailing list / Google Group\n + IRC (#git)\n + IRC (other git/SCM related, e.g. #github)\n + IRC (other than above)\n + request in blog post or on wiki\n + asking git expert/git guru/colleague/friend\n + project mailing list, or IRC, or forum\n + Twitter or other microblogging platform\n + instant messaging (IM) like XMPP/Jabber\n + StackOverflow or other StackExchange site\n + search specific site or whole web (e.g. with Google)\n\n + find and read book or ebook\n + watch an instructional video or course\n + attend a seminar, webinar or lecture about Git (interactively)\n\n + N/A (didn't request help about Git)\n\n + other (please specify)\n\nJN> Are there any main channels of requesting help that I have missed in\nJN> the above list of answers?  What are they, and why do you think they\nJN> are important enought to warrant inclusion in above list?\nJN>\nJN> Should we ask the opposite: how one provides help (if one does)?\n\n\n26. Which books about Git have you read and recommend, or plan to read?\n    (multiple choice, with other)\n\nJN> New question.  List of answers based partially on the \"Books\" section\nJN> in https://git-scm.com/documentation/external-links , ordered by date\nJN> of latest edition to within a year.\nJN>\nJN> Should \"plan to read\" be included in question, or not?\n\n + \"Pragmatic Version Control Using Git\", by Travis Swicegood (2008)\n + \"Pragmatic Guide to Git\", by Travis Swicegood (2010)\n ? \"Version Control by Example\", by Eric Sink (2011)\n + \"Version Control with Git\", by by Jon Loeliger and Matthew McCullough\n   (1st ed. 2009, 2nd ed. 2012)\n + \"Git: Version Control for Everyone\", by Ravishankar Somasundaram\n   (2013)\n + \"Pro Git\", by Scott Chacon and Ben Straub (1st ed. 2009, 2nd ed. 2014)\n + \"Git Version Control Cookbook\", by Aske Olsson and Rasmus Voss (2014)\n + \"Git in Practice\", by Mike McQuaid (2014)\n + \"Git for Teams\", by Emma Hogbin Westby (2015)\n + \"Git Essentials\", by Ferdinando Santacroce (2015)\n + \"Mastering Git\", by Jakub Narębski (2016)\n\nJN> What *good* books should be added here?  I'd rather add only those books\nJN> which have a paper version, and not be ebook-only (or be on a website\nJN> only).\n\n\n#### About this survey. Open forum.\n\n27. How did you hear about this Git User's Survey? ===\n    (single choice, with other)\n\n * git mailing list\n * git-related mailing list (e.g. msysGit, Git for Human Beings)\n * mailing list or forum of some project\n * #git IRC channel topic\n * announcement on IRC channel\n * git homepage\n * git wiki\n * git hosting site (or blog related to such site)\n * software-related web site\n * news or social news site (e.g. Digg, Reddit)\n * blog (or blog planet)\n * other kind of web site\n * Twitter or other microblogging platform\n\n * other - please specify\n\nJN> This list would of course be updated to reflect the list of (planned)\nJN> announcement channels.  I also plan to use separate \"channels\"\nJN> (separate shorter URLs) for different announcements.\nJN>\nJN> I'm not sure how useful would it be.\n\n\n28. Other comments and suggestions\n    What other comments or suggestions do you have,\n    that are not covered by the questions above?\n    (essay length / textarea)\n\nJN> This would be hard to analyze...\n\n-- \nJakub Narębski\n"},{"id":"299801","messageId":"20160820212937.GA20555@starla","threadId":"43895","inReplyTo":"91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2016-08-20T21:29:37Z","receivedAt":"2016-08-20T21:36:43Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Jakub Narębski <jnareb@gmail.com> wrote:\n> #### Other version control systems\n> \n> 20. What other version control systems (SCM) do you use beside Git?\n>    (multiple choice, with other)\n> \n> Explanation: \"using\" version control system here means using\n> it to actively contribute (propose changes or accept proposals),\n> and not only e.g. using it to download software.\n> \n> JN> Perhaps we should split it into two questions, one about\n> JN> centralized version control systems, one about distributed\n> JN> ones.\n\nPerhaps there can be a question about use and interest of other\ndecentralized/federated systems which could be potential\ncollaboration tools or transports for git.\ne.g. ipfs, gpg, tor, diaspora, *coin, tent, xmpp, matrix, ...\n\nAnd another about how they use email: webmail, GUI client,\nconsole client, phone app, none at all.\n"},{"id":"299827","messageId":"CAH5451n0=kmr9SeOKSH5iiJr5Lnr2TapfZrTUR6Pm90xUEKFxQ@mail.gmail.com","threadId":"43895","inReplyTo":"91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Andrew Ardill","fromEmail":"andrew.ardill@gmail.com","sentAt":"2016-08-21T23:59:34Z","receivedAt":"2016-08-22T00:00:22Z","isPatch":false,"sender":{"key":"andrew.ardill@gmail.com","avatar":"https://gravatar.com/avatar/da14cb7c091dd44dc6c63a4d3361b149acaf25226dc78eb4131a17b93d9b0993?d=mp&s=160"},"body":"On 21 August 2016 at 04:56, Jakub Narębski <jnareb@gmail.com> wrote:\n> 25. What [channel(s)] do you use to request/get help about Git [(if any)]\n\nIt may also be useful to ask how people hear news about git, such as\nwhen a new release comes out. Not sure if worth a separate question,\nas there is a lot of crossover in the resources available for this and\nfor requesting help, but knowing this information would help us\nunderstand what kinds of users are responding and which communication\nchannels are effective for git news.\n\nRelated, it might be worth asking how often people upgrade their git\nclients and servers, particularly in corporate/managed environments.\nThis question would ask two things, how long after a new release comes\nout do you install it, and do you install every update that comes out\nor do you skip versions. I suspect many would just use whatever is\nreleased in their distro and update at the same time as they update\nother packages, but it would be interesting to know if people, for\nexample, only upgrade their managed environments every year/6 months\nor something to avoid introducing changes to their users.\n\nRegards,\n\nAndrew Ardill\n"},{"id":"300137","messageId":"70c3a9f2-7afb-dfa4-8982-d3e1236d2f2a@gmail.com","threadId":"43895","inReplyTo":"20160820212937.GA20555@starla","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-25T10:26:25Z","receivedAt":"2016-08-25T10:26:37Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 20.08.2016 o 23:29, Eric Wong pisze:\n> Jakub Narębski <jnareb@gmail.com> wrote:\n>> #### Other version control systems\n>>\n>> 20. What other version control systems (SCM) do you use beside Git?\n>>    (multiple choice, with other)\n>>\n>> Explanation: \"using\" version control system here means using\n>> it to actively contribute (propose changes or accept proposals),\n>> and not only e.g. using it to download software.\n>>\n>> JN> Perhaps we should split it into two questions, one about\n>> JN> centralized version control systems, one about distributed\n>> JN> ones.\n> \n> Perhaps there can be a question about use and interest of other\n> decentralized/federated systems which could be potential\n> collaboration tools or transports for git.\n> e.g. ipfs, gpg, tor, diaspora, *coin, tent, xmpp, matrix, ...\n> \n> And another about how they use email: webmail, GUI client,\n> console client, phone app, none at all.\n\nI am of two minds about those (and similar) questions.  One\none hand side, these are quite interesting (especially correlated\nwith other answers).  On the other hand, they are not about Git,\nand we have large number of questions already - I'd prefer if\nnumber of questions was below 50-60.\n\nThat said, those questions could be added as a separate section:\n\n#### Other tools\n\nXX. How do you read and answer email (check all that apply)?\n    (multiple choice, possibly with other)\n\n + GUI client (e.g. Outlook, Thunderbird, Evolution, KMail)\n + console client (e.g. pine, alpine, mutt)\n + webmail or web client (e.g. GMail, Hotmail; HyperKitty)\n + phone app (e.g. K-9 Mail, Airmail, CloudMagic)\n + I don't use email\n\nXX. Which of the decentralized/federated systems do you use\n    or are interested in?\n\nJN> Have I missed some interesting and Git-relevant federated system?\n\n + IPFS\n + PGP / GPG\n + Tor\n + diaspora*\n + Bitcoin, Litecoin, Etherium, etc.\n + tent.io\n + XMPP / Jabber\n + OMEMO\n + Matrix.org\n + pump.io\n + other, please specify\n\n\nThere are a few other questions that we might want to ask if\nsuch section is to be added to the Git User's Survey 2016:\n\nXX. Which of IDEs and programmer's editors do you use [with Git]?\n    (multiple choice, with other)\n\nJN> Have I missed some popular IDE or programmers editor?\n\n + Visual Studio\n + Eclipse\n + NetBeans\n + Xcode\n + IntelliJ IDEA / PhpStorm / WebStorm\n + KDevelop\n + Anjuta\n\n + Sublime Text\n + TextMate\n + Emacs\n + Vim\n + Atom\n + Brackets\n + Geany\n\n + other IDE or editor, please specify\n\n\nXX. Which of the programming languages are you proficient with?\n    (multiple choices, with other)\n\nJN> Based on TIOBE index from August 2016, Language Trends on GitHub\nJN> 2015, GitHut (languages in GitHub), Stack Overflow Developer\nJN> Survey 2016, and my own preferences; in no particular order\n\n + C\n + C++\n + C#\n + Java\n + VisualBasic.NET \n + Objective-C\n\n + Python\n + Perl\n + PHP\n + JavaScript\n + Ruby\n + shell scripe\n\n + CSS, LESS, SASS etc.\n + HTML, HTML5\n + TeX, LaTeX, ConTeXt\n + SQL\n\n + Go\n + Rust\n + Swift\n + Scala\n + Haskell\n\n-- \nJakub Narębski\n\n"},{"id":"300167","messageId":"90165dce-c508-4cb4-ec6e-c3d271181fe3@gmail.com","threadId":"43895","inReplyTo":"CAH5451n0=kmr9SeOKSH5iiJr5Lnr2TapfZrTUR6Pm90xUEKFxQ@mail.gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-25T14:53:04Z","receivedAt":"2016-08-25T15:12:04Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 22.08.2016 o 01:59, Andrew Ardill pisze:\n> On 21 August 2016 at 04:56, Jakub Narębski <jnareb@gmail.com> wrote:\n>> 25. What [channel(s)] do you use to request/get help about Git [(if any)]\n> \n> It may also be useful to ask how people hear news about git, such as\n> when a new release comes out. Not sure if worth a separate question,\n> as there is a lot of crossover in the resources available for this and\n> for requesting help, but knowing this information would help us\n> understand what kinds of users are responding and which communication\n> channels are effective for git news.\n\nHow would you propose such question would look like, and what proposed\nanswers would be (if it were not a free-text / essay question)?\n\nNote that there might be a problem of severe bias: people who heard\nabout Git User's Survey 2016 are probably ones that watch news about Git.\nStill, it would be useful to know if people read RelNotes...\n \n> Related, it might be worth asking how often people upgrade their git\n> clients and servers, particularly in corporate/managed environments.\n> This question would ask two things, how long after a new release comes\n> out do you install it, and do you install every update that comes out\n> or do you skip versions. I suspect many would just use whatever is\n> released in their distro and update at the same time as they update\n> other packages, but it would be interesting to know if people, for\n> example, only upgrade their managed environments every year/6 months\n> or something to avoid introducing changes to their users.\n\nThat is, if people have a pattern to their upgrade of Git, and can\ntell how often they upgrade.\n\nXX. How often you upgrade Git?\n    (multiple choice or single choice?)\n\n * as soon as new version is released\n * when there is new binary package / distribution package\n * when updating distribution / system\n * around every month, or more often\n * around every 6 months or more often\n * I use what is installed on system\n\nSomething like that?\n\nRegards,\n-- \nJakub Narębski\n\n"},{"id":"300225","messageId":"20160826061500.GA22213@dcvr","threadId":"43895","inReplyTo":"91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2016-08-26T06:15:00Z","receivedAt":"2016-08-26T06:15:04Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Not directly-related to the survey questions, but can you ensure\nit's accessible to folks without JavaScript/graphics, and\nperhaps also ensure it is on a host that is Tor-friendly?\n\nGraphics setups often require non-Free firmware or drivers for\nacceptable performance; and there are also visually-impaired\nusers who will need screen readers or Braille.\n\nThanks.\n"},{"id":"300227","messageId":"CAH5451nMeuZttRgM8LK3JcPhfOYHieyawV2pJzp0jdh2KAf60Q@mail.gmail.com","threadId":"43895","inReplyTo":"90165dce-c508-4cb4-ec6e-c3d271181fe3@gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Andrew Ardill","fromEmail":"andrew.ardill@gmail.com","sentAt":"2016-08-26T06:58:14Z","receivedAt":"2016-08-26T06:59:02Z","isPatch":false,"sender":{"key":"andrew.ardill@gmail.com","avatar":"https://gravatar.com/avatar/da14cb7c091dd44dc6c63a4d3361b149acaf25226dc78eb4131a17b93d9b0993?d=mp&s=160"},"body":"Hi,\n\nJakub Narębski <jnareb@gmail.com> wrote:\n> Andrew Ardill pisze:\n> > Jakub Narębski <jnareb@gmail.com> wrote:\n> >> 25. What [channel(s)] do you use to request/get help about Git [(if any)]\n> >\n> > It may also be useful to ask how people hear news about git, such as\n> > when a new release comes out. Not sure if worth a separate question,\n> > as there is a lot of crossover in the resources available for this and\n> > for requesting help, but knowing this information would help us\n> > understand what kinds of users are responding and which communication\n> > channels are effective for git news.\n>\n> How would you propose such question would look like, and what proposed\n> answers would be (if it were not a free-text / essay question)?\n\nSomething like:\n\nXX. How do you hear about git related news (such as new releases and\ncommunity events)?\n    (multiple choice or single choice?)\n * I wasn't aware there was any news\n * I don't read any news, but I'm aware of it\n * through news aggregation sites (such as reddit or hacker news)\n * from a newsletter (such as Git Rev News)\n * from a mailing list (such as the git developer or the git for windows list)\n * other\n\nIt would be good to allow a list of specific resources to be written\nto capture things we don't know about, and specific instances of the\ncategories above, eg:\n\"hacker news, git mailing list, git rev news\"\n\n> Note that there might be a problem of severe bias: people who heard\n> about Git User's Survey 2016 are probably ones that watch news about Git.\n> Still, it would be useful to know if people read RelNotes...\n\nAgreed, the intent behind the question is to work out what are the\neffective communication channels so that they can be used more\neffectively.\n\n\n> That is, if people have a pattern to their upgrade of Git, and can\n> tell how often they upgrade.\n>\n> XX. How often you upgrade Git?\n>     (multiple choice or single choice?)\n>\n>  * as soon as new version is released\n>  * when there is new binary package / distribution package\n>  * when updating distribution / system\n>  * around every month, or more often\n>  * around every 6 months or more often\n>  * I use what is installed on system\n>\n> Something like that?\n\nExactly, looks great.\n\nRegards,\n\nAndrew Ardill\n"},{"id":"300234","messageId":"a1a45f00-ce11-6e7a-ad40-efe9a1158aa9@gmail.com","threadId":"43895","inReplyTo":"CAH5451nMeuZttRgM8LK3JcPhfOYHieyawV2pJzp0jdh2KAf60Q@mail.gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-26T11:42:15Z","receivedAt":"2016-08-26T11:42:53Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 26.08.2016 o 08:58, Andrew Ardill pisze:\n> Jakub Narębski <jnareb@gmail.com> wrote:\n>> Andrew Ardill pisze:\n>>> Jakub Narębski <jnareb@gmail.com> wrote:\n[...]\n>>>> 25. What [channel(s)] do you use to request/get help about Git [(if any)]\n>>>\n>>> It may also be useful to ask how people hear news about git, such as\n>>> when a new release comes out. Not sure if worth a separate question,\n>>> as there is a lot of crossover in the resources available for this and\n>>> for requesting help, but knowing this information would help us\n>>> understand what kinds of users are responding and which communication\n>>> channels are effective for git news.\n>>\n>> How would you propose such question would look like, and what proposed\n>> answers would be (if it were not a free-text / essay question)?\n> \n> Something like:\n> \n> XX. How do you hear about git related news \n>     (such as new releases and community events)?\n>     (multiple choice or single choice?)\n>  * I wasn't aware there was any news\n>  * I don't read any news, but I'm aware of it\n>  * through news aggregation sites (such as reddit or hacker news)\n>  * from a newsletter (such as Git Rev News)\n\nI wonder if we should also add\n\n   * through a watched blog (such as GitHub Blog)\n   * announcement section in news site (such as LWN.net)\n\n>  * from a mailing list (such as the git developer or the git for windows list)\n\nAre there any other common channels that you (the people) watch for\ngit news or software news?  Freshmeat / Freecode is defunct, and no\nreplacement got popular enough...\n\n>  * other\n\nThe last would be\n\n   * other, please specify\n\n> It would be good to allow a list of specific resources to be written\n> to capture things we don't know about, and specific instances of the\n> categories above, e.g.:\n> \"hacker news, git mailing list, git rev news\"\n\nOn Survs.com it would require an additional question with free-form\nanswer, I think.\n\n>> Note that there might be a problem of severe bias: people who heard\n>> about Git User's Survey 2016 are probably ones that watch news about Git.\n>> Still, it would be useful to know if people read RelNotes...\n> \n> Agreed, the intent behind the question is to work out what are the\n> effective communication channels so that they can be used more\n> effectively.\n\nRight.\n\nNb. I wonder if this question should not replace the one about\nhow you heard about the survey (at least if there would be too many\nquestions).  But I'll have to see how many questions we have now.\n\nThanks for suggestions,\n-- \nJakub Narębski\n\n"},{"id":"300235","messageId":"6d171c23-65f6-5f67-7d80-051f2dfe8678@gmail.com","threadId":"43895","inReplyTo":"20160826061500.GA22213@dcvr","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-26T11:52:49Z","receivedAt":"2016-08-26T12:00:50Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 26.08.2016 o 08:15, Eric Wong pisze:\n\n> Not directly-related to the survey questions, but can you ensure\n> it's accessible to folks without JavaScript/graphics, and\n> perhaps also ensure it is on a host that is Tor-friendly?\n\nI plan on using Survs.com (where we have Premium account for free,\nthanks to Survs admins).  It has good online analysis tools, allows\nto download results in easy parseable format[1], and has support\nfor multiple channels.\n\n[1]: https://github.com/jnareb/GitSurvey-scripts\n\n\nIt is possible to have a channel without JavaScript and without\ncookies (anonymous), at the cost of having to fill the survey\nin one go (without cookies and JavaScript you cannot go back\nto fill more questions, or change your mind about answers).\nThe main page of survey would have a link to JavaScript-free\nversion, and all announcements (by me) would include it.\n\nThere would be no graphics that are not purely optional\n(decorative); probably there would be just a logo.\n\nI'm not sure how Tor-friendly is this host.\n \n> Graphics setups often require non-Free firmware or drivers for\n> acceptable performance; and there are also visually-impaired\n> users who will need screen readers or Braille.\n\nA question: would it be better to have the whole survey one one\nlarge page, or have it split into pages (with fever questions\nper page)?\n\n\nP.S. With from 3k to 11k responses (I hope for at least 5k)\nGit User's Survey is outside of the free tier of most if not\nall web survey sites.  I guess I could cobble something together\nout of Google Forms, but we would loose online analysis (and\nprobably some of data that Survs.com makes available in download).\n\nBest regards,\n-- \nJakub Narębski\n"},{"id":"300321","messageId":"CANQwDwf7pWRh1PWizDZ4aFCcppbJCQcHj_qyNs0kCfK4NYddVg@mail.gmail.com","threadId":"43895","inReplyTo":"CAFO0PHfy_teFFMiuFdjKYohCgRZHNT+Cc8hXOjsPeRTi9gAHPQ@mail.gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-26T23:46:56Z","receivedAt":"2016-08-26T23:47:43Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"[for some reason this email is not yet present on GMane NNTP interface]\n\nOn 26 August 2016 at 21:12, David Bainbridge <david.bainbridge@gmail.com> wrote:\n> Hi Jakub,\n>\n> This is excellent news!\n>\n> As when you last performed the survey it would be useful for us to be able\n> to see what the users in our organization (Ericsson) think of Git, and there\n> are many more than when the survey was last performed.\n>\n> Do any other organizations of any type have this need?\n\nYes, I will offer separate channels (that can be separately analyzed,\nand that you can get anonymous data for specific channel) for every\norganization and/or company that want's it (within reason)... this time\nwith names anonymized from start (unless requested not to).\n\n> As for the questions, it might be useful to have a question related to repo\n> management systems being used.\n> Gerrit\n> Kallithea\n> Rhodecode\n> Atlassian Bitbucket\n> GitHub Enterprise\n> GitHub.com\n> GitLab\n> Deveo\n> etc.\n>\n> This is not directly about Git of course but seeing the extent to which\n> these are used, and the proportion of users using them might be useful.\n\nThis is somewhat present in current version of survey, namely\nthere is question about *types* of tools (with git repository management,\ngit hosting tools and code review tools included), and there is free-form\nquestion asking to enumerate tools one uses.  That is, as above, but\nmore generic, and not multiple choice.\n\nI will think about adding such question.\n\nRegards\n-- \nJakub Narębski\n"},{"id":"300358","messageId":"ae804c55-d145-fc90-e1a9-6ebd6c60453a@gmail.com","threadId":"43895","inReplyTo":"91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com","subject":"[RFCv2] Proposed questions for \"Git User's Survey 2016\", take two","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-27T22:00:56Z","receivedAt":"2016-08-27T22:01:16Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Hello,\n\nAs I wrote previously here, I am thinking about returning to doing the\nGit User's Survey this year.\n\n  Message-ID: <577E6F32.7020007@gmail.com>\n\n  https://marc.info/?l=git&m=146790381602547&w=2\n  https://public-inbox.org/git/577E6F32.7020007%40gmail.com/\n\nIn this email I'd like to propose the revised list of questions (and\nanswers) for Git User's Survey 2016, following comments to the previous\nrevision\n\n  Message-ID: <91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com>\n\n  https://public-inbox.org/git/91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com/\n\nBelow is my second proposal; old comments are prefixed with \"jn> \", new ones\nare prefixed with \"JN> \".\n----------------------------------------------------------------------------\n\n#### About you\n\njn> This section gives us a bit of demographic information about survey\njn> responders.  Is it useful?  Should we keep it?\n\n\n01. What country do you live in? (Country of residence, in English)\n    (free-form single line)\n\njn> Survs.com do not offer list of countries as a pre-defined drop-down\njn> list (select, with search), and it looks like it is not as easy as\njn> I thought (though I could push responsibility to Locale::Country ;-):\njn>\njn>   https://en.wikipedia.org/wiki/List_of_sovereign_states\njn>\njn> This question originally read \"What country are you from?\"\njn> which might be thought as country of birth... which country\njn> may not exist any longer, like East Germany.\n\n\n02. How old are you (in years)?\n    (single number, or single choice)\n\njn> Perhaps a selection of age ranges would be better (if less precise).\njn> We could follow the example of StackOverflow Survey here, see below.\nJN> Though oldest / youngest info could be interesting...\n\n  * <20\n  *  20-24\n  *  25-29\n  *  30-34\n  *  35-39\n  *  40-49\n  *  50-59\n  * >60\n\n\n03. Your gender\n    (single choice)\n\n  *  Man\n  *  Woman\n  *  Other\n  *  Prefer to not disclose\n\njn> This would be new question, to check if we good good diversity\njn> among survey responders (and not skewed in particular direction).\njn> Though I am not sure if it is a good idea...\n\n\n04. How would you describe your occupation / role as Git user?\n    (multiple choice with other, limit to 3 selections (?))\n\n  + Developer\n  + Programmer\n  + Engineer\n  + Analyst\n  + Manager / Leader\n  + Maintainer / Reviewer / Sub-maintainer\n  + DevOps\n  + Administrator\n  + Designer\n  + Artist / Writer\n  + Tester / QA\n  + Expert\n  + Student\n  + Researcher\n  + Teacher\n  + Other, please specify\n\njn> This is a new question, based somewhat on \"Developer Occupations\"\njn> and \"Programmers, Engineers, and Developers\" questions in \njn> StackOverflow Survey.  It is here to find out if different\njn> occupation leads to different ways of using Git, and if there\njn> is some occupation that is not well served by Git.\njn>\njn> The list of \"occupations\" is preliminary, and I would like to\njn> ask for your thought about possible answers.\n  \n\n05. Have you ever contributed to Git project (code, documentation, i18n, etc.)?\n    (single choice)\n\n  * Yes\n  * No\n  * Maybe\n  # Tried to             <--- new answer\n\njn> This is here to correlate other responses with Git developers.\njn> In 2012 it was called \"Does Git include code or documentation by you?\njn> (Are you a Git developer?)\".  I think this way of stating it is better;\njn> if it is here to stay - the number of active and past developers is\njn> not very large.  On the other hand it can be used to detect if we\njn> have a bias due to the way survey is announced.\n\nJN> This would also serve as a reminder that Git is an open-source\nJN> project (and free software), and anyone can contribute to it.\nJN> Should there be a similar question about doing review?\n\n\n06. What's stopping you from contributing to Git?\n    What was hardest / most difficult when contribution to Git?\n    (free-text essay question)\n\nJN> This was the question proposed by Duy Nguyen in \"Working with\nJN> public-inbox.org\" thread (well, the first part of it):\nJN>   https://public-inbox.org/git/CACsJy8BG63oaLbw0f7try3OpzdphLC7UGAaJ=vgikEB36Pagqg@mail.gmail.com/\n\n\njn> NOTE: earlier surveys have had two additional questions that were\njn> since removed (to make survey shorter, among others).  Those were:\njn>\njn>  - What is your preferred [non-programming] language?\njn>  - Which programming languages / technologies you are proficient with?\njn>\njn> Well, the latter was only about programming languages, originally.\nJN> And it would be possibly added, of in later section (\"Other tools\").\n\n\n#### Getting started with Git\n\njn> This is probably not the best name for this section of questions.\nJN> Can anyone think of a better one?\n\n\n07. Have you found Git easy to learn?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy\n  * Hard\n  * Very hard\n\n08. Have you found Git easy to use?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy\n  * Hard\n  * Very hard\n\njn> Those two questions, considered alone, doesn't tell us much.  If one\njn> uses git, then usually one does not think it is too hard to use\njn> (unless forced to use git by external circumstances, like project\njn> he/she works on using git).  On the other hand those two questions\njn> together give us some measure of Git's learning curve, telling us\njn> if people consider git easy to use but hard to learn, or vice versa ;-)\njn>\njn> This question was present from the beginning of Git User's Survey,\njn> so it can be used to compare with historical surveys, and see\njn> Git evolution in motion (hopefully in good direction, that is getting\njn> easier to learn and use).\n\n\n09. Which Git version(s) are you using?\n   (multiple choice, with other)\n\n + pre 2.0\n + 2.0.x to 2.5.x\n + 2.6.x\n + 2.7.x\n + 2.8.x\n + 2.9.x or newer\n\n + 2.10.x-rcN version (release candidate)\n + minor (maintenance) release 1.x.y.z\n + 'master' branch of official git repository\n + 'next' branch of official git repository\n + version from msysGit / Git for Windows fork repository\n + alternate Git implementation (JGit and similar)\n\n + other, please specify\n\njn> I don't know if it is a good range.  One thing that might be good\njn> to know is people using outdated Git, perhaps because it is version\njn> bundled with GUI tool (e.g. using last msysGit instead of Git for\njn> Windows, that is 1.9.x at latest).\njn>\njn> If we want connection with last survey, from 2012, we would\njn> need to go back down to 1.7.x or earlier version...\n\n\n10. On which operating system(s) do you use Git?\n    (multiple choice, with other)\n\n + GNU/Linux\n + MS Windows\n + macOS\n + *BSD (FreeBSD, OpenBSD, NetBSD, etc.)\n + Android\n + iOS\n + other Unix\n + other, please specify\n\njn> This question was a part of previous surveys, but it was asked\njn> a bit later.  This year I skipped asking about Cygwin vs native\njn> Git for Windows.  Note that I am not sure if Android and iOS,\njn> added just now, should be present here.\n\n\n11. Rate your own proficiency with Git\n    (single choice, rating)\n\n 1. novice\n 2. casual, needs advice\n 3. everyday use\n 4. can offer advice\n 5. know it very well\n\nDescription:\n~~~~~~~~~~~~\nYou can think of it as 1-5 numerical grade of your proficiency in Git.\n\njn> This question tell us penetration of announcements of the survey;\njn> did we get to all users, or only to git gurus?  It is also useful\njn> for correlating with other responses, for example to get to know\njn> which Git features are used by novices, and which by gurus.\njn>\njn> Note that the answers are rather here to stay because of\njn> \"backwards compatibility\", that is to be able to easy compare\njn> with earlier surveys.\n\n\n#### How do you use Git\n\n12. I use Git for (check all that apply):\n    (multiple choice, with other)\n\n\nNote that those choices are neither orthogonal nor exclusive.  One\nmight want to check multiple answers even for a single repository.\n\njn> Answers to this question probe different direction.\njn> We might want to split this question... but on the other hand\njn> I think we'd rather reduce the number of questions in the survey.\n\n + work and work-related projects\n + unpaid projects\n \nJN> This is one possible point of split, work vs unpaid.  Are there\nJN> other possibilities in this dimension?\n\n + closed-source projects\n + OSS development, public domain, and published & unlicensed\n + private (unpublished), in house projects\n\njn> It was \"proprietary projects\" instead of \"closed-source projects\"\njn> in previous version(s) of Git User's Survey (and it does not\nJN> belong in this dimension).  This is another possible point of\nJN> splitting into a separate question.\n\n + code (programming) and its documentation\n + data, documents, static assets (without code)\n\nJN> That is another dimension, another possible split into a separate\nJN> question: what types of content is stored in git repositories.\nJN> Are there any other types of data?\n\n + sharing data or synchronization\n + managing configuration files\n + backup\n + frontend / fat-client to other SCM (e.g. git-svn, git-p4)\n\njn> I'm not sure if the last answer should not be moved to\njn> question about other version control systems\n\n + other, please specify\n\n\n13. How do/did you obtain Git (install and/or upgrade)?\n    (multiple choice, with other)\n\njn> Perhaps this question should be moved to previous section.\nJN> Or to a separate section, \"Getting Git\", or something like\nJN> that.\n\nNote that this question is multiple choices question because one can\ninstall Git in different ways on different machines or on different\noperating systems.\n\n + binary package\n + source package or script (automatic compiling)\n + source tarball/archive (extract, make, make install)\n + pull from repository, and compiled\n # bundled with GUI or other kind of tool\n + preinstalled / sysadmin job\n\n + other - please specify (if none of the above apply)\n\njn> The \"bundled\" answer is new.  I guess that most people would\njn> not check if GUI brought it own Git (sometimes very outdated;\njn> SourceTree for Windows bundled git 1.9.7 (sic!)) and is using\njn> it instead of system- or user-installed Git.\njn>\njn> Note for example that Eclipse brings JGit, implementation\njn> of Git in Java, and would be covered by \"bundled\" answer...\nJN>\nJN> The question about Git version and operating system could be\nJN> brought together with this question.\n\n\n14. How often you upgrade Git?\n    (multiple choice or single choice?)\n\n # use 'master' or 'next' version, and/or pre-release\n * as soon as new version is released\n * when there is new binary package / distribution package\n * when updating distribution / system\n * around every month, or more often\n * around every 6 months or more often\n # update from time to time, cannot say how often\n * I use what is installed on system\n\nJN> This question was added (well, considered to be added) at the\nJN> request / suggestion by Andrew Ardill\nJN>   Message-ID: <CAH5451n0=kmr9SeOKSH5iiJr5Lnr2TapfZrTUR6Pm90xUEKFxQ@mail.gmail.com>\n\n\njn> NOTE: I think we can skip\njn>\njn>   What Git interfaces, implementations and frontends do you use?\njn>\njn> question.  What do you think?\n\n\n15. What kind of Git tools do you use?\n    (multiple choice, with other)\n\n + editor/IDE VC integration (e.g. EGit (for Eclipse), TextMate bundle, magit (for GNU Emacs))\n + filemanager / shell extension (e.g. git-cheetah, TortoiseGit, Git Extension)\n + filesystem interface (e.g. gitfs, figfs)\n + graphical history viewer/browser (e.g. gitk; might be a part of GUI tool)\n + graphical commit tool (e.g. git-gui; might be a part of GUI tool)\n + graphical diff and/or merge tool (e.g. Kompare, Meld; might be a part of GUI tool)\n + graphical blame or pickaxe tool (e.g. 'git gui blame'; might be a part of editor plugin)\n + tool to manage git repositories (e.g. Gitolite)\n + git-instaweb, or self-hosted web interface (e.g. gitweb, cgit)\n + self-hosted project hosting solution (e.g. GitLab, GitHub FI, GitPrep, Phabricator)\n + self-hosted code review or audit system (e.g. Gerrit, Differential)\n + patch or patch series management interface (e.g. StGit, Guilt, git-series)\n + command line tab-completion, or equivalent (e.g. git-completion.sh)\n + shell prompt, or widget, desklet, etc. (e.g. git-prompt / __git_ps1(), git-radar)\n + git aware pager, or syntax highlighter (e.g. tig, diff-highlight)\n\n # large files handling (e.g. git-LFS, git-annex)\n # handling subprojects or multiple repositories (e.g. git-stree, repo, git-slave)\n\n + credentials helper, or askpass wrapper (e.g. wincred, winstore, cache)\n + remote helper to store repository (e.g. FTP, Amazon S3, Dropbox)\n + remote helper to interact with foreign repositories (e.g. git-hg)\n\n + my own scripts (for daily use)\n + my own scripts (for special tasks)\n\n + other, please specify\n\njn> Does this list cover all kind of tools that one might be using,\njn> or is some category missing from the above list (slightly modified\njn> and extended compared to previous surveys)?\n\nJN> Answers about large file support and subproject / dependency handling\nJN> are new in this revision of the proposal.\n\n\n16. List Git tools that you are using (comma separated, or one per line)\n16. List git tools that you use (optional)\n    (textarea)\n\njn> Open ended questions are often a pain to analyze, but I don't think\njn> this one would be a problem.  Instead of free-form text field we\njn> could provide a list of most common GUIs and other tools... but I am\njn> not sure what they are, and we are risking skewing results.  On the\njn> other hand free-form might mean people forgetting about tool they use,\njn> or used in the past; it is also a bit more work, to write and not\njn> only to select.\n\n\n17. How often do you use Git command line (and other command line tools)?\n    (single-choice, rating-like)\n\n  1. never\n  2. rarely\n  3. often\n  4. only (always)\n\njn> This is a new question, replacing somewhat \"What Git interfaces,\njn> implementations and frontends do you use?\".  I'm not quite sure if\njn> it is a question worth to have.  Though it would be good to verify\nJN> the assumption that people have access to command-line tools.\nJN> And perhaps correlate use of CLI with use of advanced features.\n\n\n18. Which git hosting site(s) do you use for your project(s)?\n    Please check only hosting sites where you publish/push to (with git)\n    (multiple choice, with other)\n\njn> I think it should be limited to *main* hosting sites; there is\njn> always the \"other, please specify\" option\n\n  + GitHub\n  + Bitbucket\n  + GitLab\n\n  + SourceForge\n  + Savannah or Gna!\n  + CodePlex\n\n  + Assembla\n  + Beanstalk\n  + CloudForge (formetly Codesion)\n  + Codebase\n  + Deveo\n  + Unfuddle\n\nJN> The above section is new... and would allow us to ask for announcement\nJN> about Git User's Survey 2016 on those sites.\n\n  + git hosting site for related projects (e.g. OLPC, freedesktop.org)\n  + company internal / self-hosted\n\n  + other, please specify\n\njn> Gitorious was acquired/changed into GitLab, Google Code is in archive\njn> mode, BerliOS is no longer.  CodePlex is new; many hosting sites that\njn> were present are missing, but could be added: Assembla, Beanstalk,\njn> CloudForge (formerly Codesion), Codebase, Deveo, Unfuddle, perhaps\njn> even Alioth (Debian), Fedora Hosted, Launchpad (Ubuntu)\njn>\njn> \"Company internal\" and \"self-hosted\" got concatenated into one answer.\njn>\njn> This question could be moved to the next section.\n\n\n19. If you, your project or your company self-hosts Git repositories,\n    what Git repository management tools do they use?\n    (multiple choice, assuming mostly single selected, with other)\n\nJN> This was a suggestion by David Bainbridge: \"This is not directly\nJN> about Git of course but seeing the extent to which these are used,\nJN> and the proportion of users using them might be useful.\"\n\n  + Gitolite\n  + Gitosis (DEPRECATED)\n\n  + Gerrit\n\n  + Kallithea\n  + Rhodecode\n  + Phabricator\n\n  + Bitbucket Server (Atlassian)\n  + GitHub Enterprise\n  + GitLab Community Edition (OSS)\n  + GitLab Enterprise Edition\n  + Deveo On-Premises\n\n  + GitPrep\n  + Girocco (repo.or.cz)\n\n  + don't use self-hosted / on-premises\n\n  + other, please specify\n\nJN> This was somewhat present in previous version of survey, namely\nJN> there is question about *types* of tools (with git repository\nJN> management, git hosting tools and code review tools included),\nJN> and there is free-form question asking to enumerate tools one uses.\nJN>\nJN> Though I guess people would forget to write about them, if not\nJN> asked explicitly.\n\n\n#### Git workflows, or\n#### Interacting with other repositories\n\n20. How do you fetch/get changes from upstream repositories\n    and/or other developers?\n    (multiple choice, with other)\n\n + git protocol        (e.g. git://git.example.com/repo.git)\n + ssh                 (e.g. ssh+git://git.example.com/repo.git,\n                             git.example.com:/srv/scm/repo.git)\n + http(s              (e.g. http://git.example.com/repo.git)\n + rsync (DEPRECATED)  (e.g. rsync://git.example.com/repo.git)\n + filesystem          (e.g. /path/to/repo.git, file:///path/to/repo.git)\n + applying patches    (e.g. git-am from emails, or other source)\n + via git-bundle\n + foreign SCM (fat-client or remote helper, e.g. git-svn, git-p4, gitifyhg)\n\n + Other, please specify\n\njn> Nobody should be using rsync, as it got broken and nobody noticed,\njn> and then removed from Git.  Note that \"applying patches\" is new,\njn> because question got extended to cover getting changes from other\njn> developers (in maintainer role), not only from upstream repo.\njn> This question is about getting changes into local work repository.\n\n\n21. How do you publish/propagate your changes?\n    (multiple choice, with other)\n\n + push via SSH\n + push via HTTP / HTTPS\n + push via git protocol (NOT RECOMMENDED)\n + push (unknown)\n + pull request (+ any form of announcement / notification)\n + format-patch + email\n + format-patch + other (e.g. reviewboard, issue tracker or forum)\n + git bundle\n\n + git-svn (to Subversion repository)\n + git-p4 (to Perforce repository)\n + foreign SCM interface (other than mentioned above)\n\n + other - please specify\n\n\n22. How do you integrate changes from others?\n    (multiple choice, with other)\n\n + merge  (includes 'git pull')\n + rebase (includes 'git pull --rebase')\n + reapply (e.g. git-am from patches)\n + git-imerge (third-party tool)\n\n + git mergetool, or graphical merge tool directly\n + graphical rebase tool\n\n + other, please specify\n\njn> This is proposed new question about workflows.\n\n\n23. What types of branches can be found in your repositories?\n    (repositories you use or are contributing to)\n    (multiple choice, with other)\n\n + there is only a single branch\n + development/graduation branches (master/stable, next/devel/unstable etc.)\n + per-release maintenance branches (or release branches)\n + proposed-updates integration testing and WIP publish branch\n\n + bugfix / hotfix branches (topic branches for bug fixes)\n + release branches (for preparing a new release)\n + other short-lived topic / feature branches\n\n ? orphan branches (with disconnected history, e.g. gh-pages, todo)\n\n + other types and uses, please describe\n\n\njn> This is new question.  It doesn't ask about use of git-flow, but\njn> is close.  I think all types of branches are covered, isn't it?\n\n\n24. Which of the following signing features do you use?\n    How do you sign your Git repositories?\n    (multiple choice)\n\nJN> This is a new question; it somewhat overlaps with the following\nJN> question about Git features, but I think it would be nice to have\nJN> it separate.\n\n  + digital certificate of origin (\"Signed-off-by:\")\n  + signed tags\n  + signed commits\n  + signed merges (merging signed tags)\n  + signed pushes\n\nJN> Should there be \"other, please specify\"?  Are there any other ways\nJN> of signing repositories?  Would this question be useful?\nJN>\nJN> Could be dropped.\n\n\n#### How you use Git\n\n25. Which of the following Git features do you use?\n    (multiple choice, with other)\n\n + end-of-line conversion (crlf or eol)\n + custom diff/merge driver\n + textconv\n + other gitattributes (e.g. clean/smudge filter)\n\n + word diff\n + merge strategy options (e.g. -Xrenormalize)\n\n + submodules (subprojects)\n + subtree merge (e.g. git-subtree, git-stree)\n\n + partial (sparse) checkout\n + shallow clone (e.g. \"git clone --depth=<n>\")\n\n + multiple worktrees (e.g. git-worktree)\n\n # searching history for commit message and metadata (e.g. \"git log --grep\")\n # searching changes in history, pickaxe search (\"git log -S\" and \"git log -G\")\n # finding errors in history with bisect (also \"git bisect run <script>\")\n\n + tracking code movement with git-blame (\"git blame -M\" etc.)\n # history of lines (\"git log -L\")\n\n + detaching HEAD (e.g. \"git checkout --detach\", \"git checkout <tag>\")\n + orphan branches, with disconnected history (gh-pages, todo, man, etc.)\n\n + alternates mechanism (sharing object database)\n + stash and autostash (also \"git stash --keep-index\")\n + commit message templates, and/or commit-related hooks\n + interactive commit / per-hunk comitting / partial commit / splitting commits\n + interactive rebase, fixup commits (small scale history editing)\n + git-filter-branch or equivalent, like BFG Repo Cleaner (large history rewriting)\n + committing with dirty tree (keeping some changes uncommitted)\n + reflog (including @{1}, @{yesterday}, @{-1} / -, 'git log -g')\n\n # client-side hooks (e.g. pre-commit)\n # server-side hooks (e.g. post-receive)\n\n + git-aware shell prompt\n + git aliases, shell aliases for git, or own git scripts\n\n + one-way interaction with other SCMs (from SCM to git)\n + two-way interaction with other SCMs (from SCM to git, from git to SCM)\n\n + object overlays (git replace or grafts)\n + object annotation (git notes)\n\n + Other, please specify\n\njn> The problem is come up not with exhaustive list of features: there are\njn> too many of them to list.  The problem is coming up with list of\njn> important and used enough often features (and those interesting to\njn> know about).\njn>\njn> So: what features should be included in this list?  What features\njn> should be removed from above list of answers?\njn>\njn> Should this question be split into parts?  Should we ask how often\njn> those features are used (matrix-form question)?\n\nJN> New features are marked (here and in other places) with '#' as bullet\nJN> point in place of '+' (or '*' in other places).  This looks like\nJN> longest list of answers for a question...\n\n\n26. Describe what features would you like to have in Git\n    (free form, essay length / textarea)\n\njn> The Git User's Survey 2012 (last survey) have had also\njn> \"17. Which of the following features would you like to see\njn> implemented in git?\", with a list of answers.  But as Git development\njn> is not directed by surveys, I'm not sure if it is worth it.\njn>\njn> Such free-form question would be a pain to analyze well, but it\njn> could also be a source of a good inspiration.\n\n\n#### Other version control systems\n\n27. What other version control systems (SCM) do you use beside Git?\n   (multiple choice, with other)\n\nExplanation: \"using\" version control system here means using\nit to actively contribute (propose changes or accept proposals),\nand not only e.g. using it to download software.\n\njn> Perhaps we should split it into two questions, one about\njn> centralized version control systems, one about distributed\njn> ones; longer list of answers vs more questions.\njn>\njn> Clarification (narrowing of scope) is new.\n\n + SCCS\n + RCS\n\n + CVS\n + Subversion\n\n + Perforce\n + ClearCase\n + AccuRev SCM\n + StarTeam\n + Visual SourceSafe\n + Team Foundation Server\n + Visual Studio Team System / ALM\n + Rational Team Concert\n\n\n + Bazaar (bzr)\n + Mercurial (hg)\n + Monotone\n + Darcs\n + SVK\n + Fossil\n + Veracity\n\n + BitKeeper\n + Code Co-op\n + TeamWare\n + Plastic SCM\n + Veracity\n\n + other, please specify\n\njn> Is there any *prominent* and important version control system\njn> missing from this list?  Are there systems that are so rare that\njn> they should be removed from the list?\n\nJN> If not for \"other, please specify\" it could be made into matrix\nJN> form, and ask how often one uses other version control systems,\nJN> for example\nJN>   never used / used in past / rarely / often\n\n\n28. How does Git compare to other SCM tools that you have used?\n    (single choice, rating)\n\nGit is ____ that other version control systems I have used.\n\n * better\n * equal (comparable)\n * it depends (in some matters better, in some matters worse)\n * worse\n * cannot compare (have not used anything beside Git)\n\nJN> The answers \"it depends\" and \"cannot compare\" are new in this\nJN> year's survey (well, \"cannot compare\" could have been answered\nJN> as not putting any answer in previous surveys).\n\n\n#### Other tools\n\nJN> This section was added (well, considered to be added) thanks\nJN> to request / suggestion in a comment by Eric Wong in\nJN>   Message-ID: <20160820212937.GA20555@starla>\nJN> Well, the suggestion was about federated systems only.\n\n> Perhaps there can be a question about use and interest of other\n> decentralized/federated systems which could be potential\n> collaboration tools or transports for git.\n> e.g. ipfs, gpg, tor, diaspora, *coin, tent, xmpp, matrix, ...\n> \n> And another about how they use email: webmail, GUI client,\n> console client, phone app, none at all.\n\n\n29. How do you read and answer email (check all that apply)?\n    (multiple choice, possibly with other)\n\n + GUI client (e.g. Outlook, Thunderbird, Evolution, KMail)\n + console client (e.g. pine, alpine, mutt)\n + webmail or web client (e.g. GMail, Hotmail; HyperKitty)\n + phone app (e.g. K-9 Mail, Airmail, CloudMagic)\n + I don't use email at all\n\n\n30. Which of the decentralized/federated systems do you use\n    or are interested in?\n\nJN> Have I missed some interesting and Git-relevant federated system?\n\n + IPFS\n + PGP / GPG\n + Tor\n + diaspora*\n + Bitcoin, Litecoin, Etherium, etc.\n + tent.io\n + XMPP / Jabber\n + OMEMO\n + Matrix.org\n + pump.io\n + other, please specify\n\n\nThere are a few other questions that we might want to ask if\nsuch section is to be added to the Git User's Survey 2016:\n\n\n31. Which of IDEs and programmer's editors do you use [with Git]?\n    (multiple choice, with other)\n\nJN> Have I missed some popular IDE or programmers editor?\n\n + Visual Studio\n + Eclipse\n + NetBeans\n + Xcode\n + IntelliJ IDEA / PhpStorm / WebStorm\n + KDevelop\n + Anjuta\n\n + Sublime Text\n + TextMate\n + Emacs\n + Vim\n + Atom\n + Brackets\n + Geany\n\n + other IDE or editor, please specify\n\n\n32. Which of the programming languages are you proficient with?\n    (multiple choices, with other)\n\nJN> Based on TIOBE index from August 2016, Language Trends on GitHub\nJN> 2015, GitHut (languages in GitHub), Stack Overflow Developer\nJN> Survey 2016, and my own preferences; in no particular order\n\n + C\n + C++\n + C#\n + Java\n + VisualBasic.NET \n + Objective-C\n\n + Python\n + Perl\n + PHP\n + JavaScript\n + Ruby\n + shell scripe\n\n + CSS, LESS, SASS etc.\n + HTML, HTML5\n + TeX, LaTeX, ConTeXt\n + SQL\n\n + Go\n + Rust\n + Swift\n + Scala\n + Haskell\n\n + other, pleasespecify\n\n\n#### What you think of Git?\n\n33. Overall, how happy are you with Git?\n    (single choice, rating)\n\n * unhappy\n * not so happy\n # neutral\n * happy\n * very happy\n * completely ecstatic\n\njn> I'm not sure if this question is at all useful.\njn>\njn> There is also problem, that the current wording is considered biased\njn> by some, but on the other hand changing wording of answers would make\njn> it impossible to compare it to answers from previous surveys...\njn> Though I have added 'neutral' as an answer.  Perhaps I should add\njn> most negative answer to make rating balanced?  For example ;-)\njn>\njn>   # hate Git with a passion of thousands suns\n\n\n34. In your opinion, which areas in Git needs improvement?\n    Please state your preference.\n    (matrix)\n\n   Columns: don't need / a little / some / much\n + user-interface (UI and UX)\n + core documentation\n # messages, error messages, advices\n + performance\n + more features\n + tools (e.g. GUI)\n + localization (translation) of messages\n # translated documentation (manpages)\n\njn> Are there any general areas that are missing from this list?\njn> What are they?  (Matrix form cannot have \"other, please specify\").\njn>\njn> Note that \"translated documentation\" and \"messages...\" are new.\n\n\n35. How do you compare the current Git version with the version from one year ago?\n    (single choice)\n\n * better\n * no changes\n * worse\n\n * cannot say\n * Git used for less than 1 year\n\njn> This question is mainly excuse for providing list of main changes\njn> from the year ago, to show off how Git continues improving.\njn> List of new features and other changes taken from RelNotes.\n\nJN> I am considering dropping this question.  It is of questionable\nJN> utility; it was more useful (as an announcement of new features)\nJN> when there were annual surveys.\n\nDescription:\n~~~~~~~~~~~~\nThe version from approximately one year ago is x.y.z from DD-MM-YYYY\n(x.y.v is from DD-MM-YYYY).\n\nChanges since x.y.z include:\n\n[TO BE DONE]\n\n\n#### Documentation. Getting help. ==\n\n36. How useful have you found the following forms of Git documentation?\n    (matrix)\n\n  Columns: never used / not useful / somewhat / useful\n ------------------------------------------------------\n + help distributed with git (manpages, tutorials, guides, etc.)\n + \"Pro Git\" book\n + Git Wiki\n + Git Reference site\n + hosting site tutorials and help, etc.\n + 'git' section of StackOverflow Documentation\n + other on-line help\n + printed books (or ebooks)\n\nDescription:\n~~~~~~~~~~~~\n* help distributed with Git includes their online version:\n  - https://git.github.io/htmldocs/git.html\n  - https://git-scm.com/docs/\n  - https://www.kernel.org/pub/software/scm/git/docs/\n* Git Wiki was to be found at http://git.wiki.kernel.org\n* Git Reference site can be found at http://gitref.org\n* StackOverflow Documentation refers to http://stackoverflow.com/documentation/git\n* \"Pro Git\" can be found at https://git-scm.com/book and https://progit.org\n* hosting sites tutorials include\n  - https://help.github.com/\n  - https://www.atlassian.com/git/\n  ? https://www.git-tower.com/learn/git/ebook\n* help distributed with git include manpages, manual, tutorials, HOWTO,\n  release notes, technical documentation, contrib/examples/\n\njn> Should we split those answers further, e.g. separating on-line\njn> tutorials and guides, from on-line tips etc.?\njn>\njn> This is also educational, showing where one can find documentation;\njn> note that StackOverflow Documentation in yet in Beta.\n\n\n37. What [channel(s)] do you use to request/get help about Git [(if any)]?\n   (multiple choice, with other)\n\n + git mailing list (git@vger.kernel.org)\n + \"Git for Human Beings\" Google Group\n + msysGit mailing list / Google Group\n + IRC (#git)\n + IRC (other git/SCM related, e.g. #github)\n + IRC (other than above)\n + request in blog post or on wiki\n + asking git expert/git guru/colleague/friend\n + project mailing list, or IRC, or forum\n + Twitter or other microblogging platform\n + instant messaging (IM) like XMPP/Jabber\n + StackOverflow or other StackExchange site\n + search specific site or whole web (e.g. with Google)\n\n + find and read book or ebook\n + watch an instructional video or course\n + attend a seminar, webinar or lecture about Git (interactively)\n\n + N/A (didn't request help about Git)\n\n + other (please specify)\n\njn> Are there any main channels of requesting help that I have missed in\njn> the above list of answers?  What are they, and why do you think they\njn> are important enought to warrant inclusion in above list?\njn>\njn> Should we ask the opposite: how one provides help (if one does)?\n\n\n38. Which books about Git have you read and recommend, or plan to read?\n    (multiple choice, with other)\n\njn> New question.  List of answers based partially on the \"Books\" section\njn> in https://git-scm.com/documentation/external-links , ordered by date\njn> of latest edition to within a year.\njn>\njn> Should \"plan to read\" be included in question, or not?\n\n + \"Pragmatic Version Control Using Git\", by Travis Swicegood (2008)\n + \"Pragmatic Guide to Git\", by Travis Swicegood (2010)\n ? \"Version Control by Example\", by Eric Sink (2011)\n + \"Version Control with Git\", by by Jon Loeliger and Matthew McCullough\n   (1st ed. 2009, 2nd ed. 2012)\n + \"Git: Version Control for Everyone\", by Ravishankar Somasundaram\n   (2013)\n + \"Pro Git\", by Scott Chacon and Ben Straub (1st ed. 2009, 2nd ed. 2014)\n + \"Git Version Control Cookbook\", by Aske Olsson and Rasmus Voss (2014)\n + \"Git in Practice\", by Mike McQuaid (2014)\n + \"Git for Teams\", by Emma Hogbin Westby (2015)\n + \"Git Essentials\", by Ferdinando Santacroce (2015)\n + \"Mastering Git\", by Jakub Narębski (2016)\n\njn> What *good* books should be added here?  I'd rather add only those books\njn> which have a paper version, and not be ebook-only (or be on a website\njn> only); that excludes many online tutorials and guides.\n\nJN> Should \"Version Control by Example\" be included (it has a chapter on Git)?\n\n\n#### About this survey. Open forum.\n\n39. How did you hear about this Git User's Survey? ===\n    (single choice, with other)\n\n * git mailing list\n * git-related mailing list (e.g. msysGit, Git for Human Beings)\n * mailing list or forum of some project\n * #git IRC channel topic\n * announcement on IRC channel\n * git homepage\n * git wiki\n * git hosting site (or blog related to such site)\n * software-related web site\n * news or social news site (e.g. Digg, Reddit)\n * blog (or blog planet)\n * other kind of web site\n * Twitter or other microblogging platform\n\n * other - please specify\n\njn> This list would of course be updated to reflect the list of (planned)\njn> announcement channels.  I also plan to use separate \"channels\"\njn> (separate shorter URLs) for different announcements.\njn>\njn> I'm not sure how useful would it be.\n\nJN> I am considering dropping this question in favor of the next one.\n\n\n40. How do you hear about git related news \n    (such as new releases and community events)?\n    (multiple choice or single choice?, with other)\n\nJN> This question was proposed by Andrew Ardill, with the proposal in\nJN> Message-ID: <CAH5451nMeuZttRgM8LK3JcPhfOYHieyawV2pJzp0jdh2KAf60Q@mail.gmail.com>\n\n  * I wasn't aware there was any news\n  * I don't read any news, but I'm aware of it\n  * through news aggregation sites (such as reddit or hacker news)\n  * from a newsletter (such as Git Rev News)\n  + through a watched blog (such as GitHub Blog)\n  + announcement section in news site (such as LWN.net)\n  + RelNotes file(s) in git sources\n  * from a mailing list (such as the git developer or the git for windows list)\n  * other, please specify\n\nJN> Are there any other common channels that you (the people) watch for\nJN> git news or software news?  Freshmeat / Freecode is defunct, and no\nJN> replacement got popular enough...\n\n\n41. Other comments and suggestions\n    What other comments or suggestions do you have,\n    that are not covered by the questions above?\n    (essay length / textarea)\n\njn> This would be hard to analyze... but possibly useful.\n\n-- \nJakub Narębski\n\n\n"},{"id":"300363","messageId":"20160828094946.GA11722@dcvr","threadId":"43895","inReplyTo":"6d171c23-65f6-5f67-7d80-051f2dfe8678@gmail.com","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Eric Wong","fromEmail":"e@80x24.org","sentAt":"2016-08-28T09:49:46Z","receivedAt":"2016-08-28T09:49:52Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Jakub Narębski <jnareb@gmail.com> wrote:\n> W dniu 26.08.2016 o 08:15, Eric Wong pisze:\n> \n> > Not directly-related to the survey questions, but can you ensure\n> > it's accessible to folks without JavaScript/graphics, and\n> > perhaps also ensure it is on a host that is Tor-friendly?\n> \n> I plan on using Survs.com (where we have Premium account for free,\n> thanks to Survs admins).  It has good online analysis tools, allows\n> to download results in easy parseable format[1], and has support\n> for multiple channels.\n> \n> [1]: https://github.com/jnareb/GitSurvey-scripts\n> \n> \n> It is possible to have a channel without JavaScript and without\n> cookies (anonymous), at the cost of having to fill the survey\n> in one go (without cookies and JavaScript you cannot go back\n> to fill more questions, or change your mind about answers).\n> The main page of survey would have a link to JavaScript-free\n> version, and all announcements (by me) would include it.\n\nThanks.\n\n> There would be no graphics that are not purely optional\n> (decorative); probably there would be just a logo.\n> \n> I'm not sure how Tor-friendly is this host.\n\nI was able to get to Survs.com using Tor (maybe it was just luck\nwith a new exit).\n\n> > Graphics setups often require non-Free firmware or drivers for\n> > acceptable performance; and there are also visually-impaired\n> > users who will need screen readers or Braille.\n> \n> A question: would it be better to have the whole survey one one\n> large page, or have it split into pages (with fever questions\n> per page)?\n\nI prefer single. One could get one page, take take time and let the\nconnection drop/fail, and send it over all in one go.  With multiple\npages, one would have to reconnect for every POST.\n\n(fittingly, my connection failed writing this message a few\n days ago and I only got back around to it)\n"},{"id":"300366","messageId":"45245d59-f258-f029-d478-62b3b99e6fdf@gmail.com","threadId":"43895","inReplyTo":"20160828094946.GA11722@dcvr","subject":"Re: [RFC] Proposed questions for \"Git User's Survey 2016\"","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-08-28T11:22:21Z","receivedAt":"2016-08-28T11:22:38Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"W dniu 28.08.2016 o 11:49, Eric Wong pisze:\n> Jakub Narębski <jnareb@gmail.com> wrote:\n>> W dniu 26.08.2016 o 08:15, Eric Wong pisze:\n>>\n>>> Not directly-related to the survey questions, but can you ensure\n>>> it's accessible to folks without JavaScript/graphics, and\n>>> perhaps also ensure it is on a host that is Tor-friendly?\n[..]\n>> A question: would it be better to have the whole survey one one\n>> large page, or have it split into pages (with fever questions\n>> per page)?\n> \n> I prefer single. One could get one page, take take time and let the\n> connection drop/fail, and send it over all in one go.  With multiple\n> pages, one would have to reconnect for every POST.\n\nAll right, I can make Git User's Survey 2016 to be on one page\n(at least the anonymous JavaScript-less channel).  It turns out\nthat there would be 40-42 questions in this year survey.\n\n\nThough I don't know how resilent Survs.com is for submitting survey\nresults after connection drop/fail.\n\n*Editing* survey (which requires to be logged in, which is not needed\nfor submitting survey), times out after inactivity.\n\n-- \nJakub Narębski\n\n"},{"id":"301141","messageId":"ccb678e4-d91a-1ef0-90e3-0a507ea0ee25@gmail.com","threadId":"43895","inReplyTo":"ae804c55-d145-fc90-e1a9-6ebd6c60453a@gmail.com","subject":"[RFCv3] Proposed questions for \"Git User's Survey 2016\", take three","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-09-05T21:27:42Z","receivedAt":"2016-09-05T21:28:03Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Hello,\n\nAs I wrote previously, I am thinking about returning to doing the\nGit User's Survey this year.\n\n  Message-ID: <577E6F32.7020007@gmail.com>\n\n  https://marc.info/?l=git&m=146790381602547&w=2\n  https://public-inbox.org/git/577E6F32.7020007%40gmail.com/\n\nIn this email I'd like to propose the revised list of questions (and\nanswers) for Git User's Survey 2016, following comments to the previous\nrevisions, starting with\n\n  Message-ID: <91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com>\n\n  https://public-inbox.org/git/91a2ffbe-a73b-fbb9-96da-9aea4d439e5a@gmail.com/\n\n\nBelow is my third, and probably final proposal.  You can see the survey\nin work at (there might be some slight differences from what's below)\n\n  https://survs.com/survey/kn2bpu4p9d\n\nNOTE: This is a *test channel*, all responses will be deleted.\n\n\nThe survey is currently planned to be open (after a bit of delay)\nfrom  10 September 2016  to  20 October 2016.\n\nI'd like to ask also about announcing the survey as widely as possible.\nPlease reply if you think of some channel, or of you could announce\nit yourself.  Thanks in advance.\n\n\nIf you want to do this survey \"in house\", you can ask for a separate\nchannel (a separate survey URL).  After the survey ends, I'll send \nanonymous responses from that channel in Excel and CSV formats.\n\nThere also will be anonymous, JavaScript- and cookie-less channel;\nat the cost that you cannot go back and change or add to your response.\n----------------------------------------------------------------------------\nThere are 50 questions in this survey.\n\n\n#### About you\n\n01. What country do you live in? (Country of residence, in English)\n    (free-form single line)\n\n02. How old are you (in years)?\n    (single number)\n\n03. What is your gender?\n    (single choice)\n\n  *  Man\n  *  Woman\n  *  Other\n  *  Prefer to not disclose\n\n04. How would you describe your occupation / role as Git user?\n    (multiple choice with other, limit to 3 selections)\n\n  + Developer\n  + Programmer\n  + Engineer\n  + Analyst\n  + Manager / Leader\n  + Maintainer / Reviewer / Sub-maintainer\n  + DevOps\n  + Administrator\n  + Designer\n  + Artist / Writer\n  + Tester / QA\n  + Expert\n  + Student\n  + Researcher\n  + Teacher\n  + Other, please specify\n\n05. Have you ever contributed to Git project (code, documentation, i18n, etc.)?\n    (single choice)\n\n  * Yes\n  * No\n  * Maybe, don't remember\n  * Plan to, soon\n\n06. Have you ever reviewed contribution to Git project?\n    (single choice)\n\n  * Yes\n  * No\n  * Maybe, don't remember\n  * Plan to, soon\n  * Only spelling corrections, or correctness of translation\n\n07. What's stopping you from contributing to Git?\n    What was hardest / most difficult when contribution to Git?\n    (free-text essay question)\n\n\n#### Getting started with Git\n\n08. Have you found Git easy to learn?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy (average)\n  * Hard\n  * Very hard\n\n09. Have you found Git easy to use?\n    (single choice)\n\n  * Very easy\n  * Easy\n  * Reasonably easy (average)\n  * Hard\n  * Very hard\n\n10. Rate your own proficiency with Git\n    (single choice, rating)\n\n  1. novice\n  2. casual, needs advice\n  3. everyday use\n  4. can offer advice\n  5. know it very well\n\nDescription:\n~~~~~~~~~~~~\nYou can think of it as 1-5 numerical grade of your proficiency in Git.\n\n\n\n11. Which Git version(s) are you using?\n   (multiple choice, with other)\n\n + I don't remember and cannot check the version\n + pre 2.0\n + 2.0.x to 2.4.x\n + 2.5.x\n + 2.6.x\n + 2.7.x\n + 2.8.x\n + 2.9.x\n + 2.10.x or newer\n + 2.10.x-rcN version (release candidate)\n + minor (maintenance) release 1.x.y.z\n + 'master' branch of official git repository\n + 'next' branch of official git repository\n + version from msysGit / Git for Windows fork repository\n + alternate Git implementation (JGit and similar)\n\n + other, please specify\n\n\n#### Getting and updating Git\n\n12. On which operating system(s) do you use Git?\n    (multiple choice, with other)\n\n + GNU/Linux\n + MS Windows\n + macOS\n + *BSD (FreeBSD, OpenBSD, NetBSD, etc.)\n + Android\n + iOS\n + other Unix\n\n + other operating system, please specify\n\n13. How do/did you obtain Git (install and/or upgrade)?\n    (multiple choices, with other)\n\n  + binary package\n  + source package or script (automatic compiling)\n  + source tarball/archive (extract, make, make install)\n  + pull from repository, and compiled\n  + bundled with GUI or other tool\n  + preinstalled / sysadmin job / I don't know\n\n  + other, please specify (if none of the above apply)\n\n14. How often do you upgrade Git?\n    (multiple choice)\n\n  + use 'master' or 'next' version, and/or pre-release\n  + as soon as new version is released\n  + when there is new binary package / distribution package\n  + when updating distribution / system\n  + around every month, or more often\n  + around every 6 months or more often\n  + update from time to time, cannot say how often\n  + I use what is installed on system\n\n\n#### How do you use Git\n\n15. What kind of projects etc. do you use Git for?\n    (multiple choice, with other)\n\n  + work and work-related projects\n  + unpaid projects\n\n  + closed-source projects\n  + open-source development, public domain, and published & unlicensed\n  + private (unpublished), in house projects\n\n  + other (please specify)\n\n16. I use Git for (check all that apply):\n    (multiple choice, with other)\n\n  + code (programming) and its documentation\n  + data, documents, static assets (without code)\n\n  + sharing data or synchronization\n  + managing configuration files\n  + backup\n  + frontend / fat-client to other SCM (e.g. git-svn, git-p4)\n\n  + other (please specify)\n\n17. What kind of Git tools do you use?\n    (multiple choice, with other)\n\n  + editor/IDE VC integration (e.g. EGit (for Eclipse), TextMate bundle, magit (for GNU Emacs))\n  + build tool integration (e.g. git plugin for Maven, gitbuilder, Parabuild)\n  + continuous integration (CI) (e.g. cidaemon)\n  + commit notification tools (e.g. irker, git-notify)\n  + filemanager / shell extension (e.g. git-cheetah, TortoiseGit, Git Extension)\n  + filesystem interface (e.g. gitfs, figfs)\n  + graphical history viewer/browser (e.g. gitk; might be a part of GUI tool)\n  + graphical commit tool (e.g. git-gui; might be a part of GUI tool)\n  + graphical diff and/or merge tool (e.g. Kompare, Meld; might be a part of GUI tool)\n  + graphical blame or pickaxe tool (e.g. 'git gui blame'; might be a part of editor plugin)\n  + tool to manage git repositories (e.g. Gitolite)\n  + git-instaweb, or self-hosted web interface (e.g. gitweb, cgit)\n  + self-hosted project hosting solution / software forge (e.g. GitLab, GitHub Enterprise, Phabricator)\n  + self-hosted code review or audit system (e.g. Gerrit, Differential)\n  + patch or patch series management interface (e.g. StGit, Guilt, git-series)\n  + tracking some files out-of-band, large files handling (e.g. git-LFS, git-annex, git-media)\n  + storing metadata (e.g. metastore, gitperms, git-cache-meta)\n  + managing composite repositories (e.g. git-stree, gitslave, repo)\n  + command line tab-completion, or equivalent (e.g. git-completion.sh)\n  + shell prompt, or widget, desklet, etc. (e.g. git-prompt / __git_ps1(), git-radar)\n  + git aware pager, or syntax highlighter (e.g. tig, diff-highlight)\n  + credentials helper, or askpass wrapper (e.g. wincred, winstore, cache)\n  + remote helper to store repository (e.g. FTP, Amazon S3, Dropbox)\n  + remote helper to interact with foreign repositories (e.g. git-hg)\n\n  + my own scripts (for daily use)\n  + my own scripts (for special tasks)\n\n  + other kind, please specify\n\n18. List git tools that you are using, one per line, or as comma separated list\n    (textarea)\n\n19. How often do you use Git command line (and other command line tools)?\n    (single-choice, rating-like)\n\n  * never\n  * rarely (less often than other tools)\n  * average, or about average\n  * cannot say how often\n  * often (more often than other tools)\n  * only (always)\n\n\n#### Git hosting sites and software forges\n\n18. Which git hosting site(s) do you use for your project(s)?\n    Please check only hosting sites where you publish/push to (with git)\n    (multiple choice, with other)\n\n  + GitHub\n  + Bitbucket\n  + GitLab\n\n  + SourceForge\n  + Savannah or Gna!\n  + CodePlex\n\n  + Assembla\n  + Beanstalk\n  + CloudForge (formetly Codesion)\n  + Codebase\n  + Deveo\n  + Unfuddle\n\n  + git hosting site for related projects (e.g. OLPC, freedesktop.org)\n  + company internal / self-hosted\n\n  + other site, please specify\n\n21. If you, your project or your company self-hosts Git repositories,\n    what Git repository management tools do they use?\n    (multiple choice, assuming mostly single selected, with other)\n\n  + git-shell\n  + Gitolite\n  + Gitosis (DEPRECATED)\n\n  + Gerrit\n\n  + Kallithea\n  + Rhodecode\n  + Phabricator\n\n  + Bitbucket Server (Atlassian)\n  + GitHub Enterprise\n  + GitLab Community Edition (OSS)\n  + GitLab Enterprise Edition\n  + Deveo On-Premises\n\n  + GitPrep\n  + Girocco (repo.or.cz)\n\n  + don't use self-hosted / on-premises\n  + other, please specify\n\n22. Do you use paid git hosting, and if so, why?\n    (multiple choice, with other)\n\n  * N/A (don't use paid git hosting)\n  * private or team-limited repositories\n  * increased limits (repository size, number of repositories)\n  * paid support / help\n  * extra features compared to free plan / free hosting\n  * other, please specify\n\n\n#### Interacting with other repositories, git workflows\n\n23. How do you fetch/get changes from upstream repositories\n    and/or other developers?\n    (multiple choice, with other)\n\n  + git protocol        (e.g. git://git.example.com/repo.git)\n  + ssh                 (e.g. ssh+git://git.example.com/repo.git,\n                              git.example.com:/srv/scm/repo.git)\n  + http(s)             (e.g. http://git.example.com/repo.git)\n  + rsync (DEPRECATED)  (e.g. rsync://git.example.com/repo.git)\n  + filesystem          (e.g. /path/to/repo.git, file:///path/to/repo.git)\n  + applying patches    (e.g. git-am from emails, or other source)\n  + via git-bundle\n  + foreign SCM (fat-client or remote helper, e.g. git-svn, git-p4, gitifyhg)\n\n  + Other, please specify\n\n24. How do you publish/propagate your changes?\n    (multiple choice, with other)\n\n  + push via SSH\n  + push via HTTP / HTTPS\n  + push via git protocol (not available y default, NOT RECOMMENDED)\n  + push (unknown transport)\n  + pull request (+ any form of announcement / notification)\n  + format-patch + email\n  + format-patch + other (e.g. reviewboard, issue tracker or forum)\n  + git bundle\n\n  + git-svn (to Subversion repository)\n  + git-p4 (to Perforce repository)\n  + foreign SCM interface, or remote helper (other than mentioned above)\n\n  + other - please specify\n\n25. What git workflow(s) is used by projects in which development you participate?\n    (multiple choice, with other)\n\n  + single developer, only private repository (no interaction)\n\n  + centralized workflow (push to common repository)\n  + branched centralized (push to different branches in common repository)\n  + peer-to-peer workflow (all repositories roughly equal)\n  + integration-manager workflow (maintainer pulls/applies patches to \"blessed\" repository))\n  + dictator and lieutenants workflow (hierarchical workflow)\n  + using collaborative code review tool, e.g. Gerrit\n\n  + other workflow, please explain\n \nReferences:\n~~~~~~~~~~~\n [1] https://git-scm.com/book/en/Distributed-Git-Distributed-Workflows\n [2] https://git-scm.com/about/distributed\n [3] https://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html\n [4] https://gerrit-documentation.storage.googleapis.com/Documentation/2.12.3/intro-quick.html\n\n\n26. What types of branches can be found in your repositories?\n    (repositories you use or are contributing to)\n    (multiple choice, with other)\n\n  + there is only a single branch\n  + development/graduation branches (master/stable, next/devel/unstable etc.)\n  + per-release maintenance branches (or release branches)\n  + proposed-updates integration testing and WIP publish branch\n\n  + bugfix / hotfix branches (topic branches for bug fixes)\n  + release branches (for preparing a new release)\n  + other short-lived topic / feature branches\n\n  + orphan branches (with disconnected history, e.g. gh-pages, todo)\n\n  + other types and uses, please describe\n\n\n27. How do you integrate changes from others?\n    (multiple choice, with other)\n\n  + merge  (includes 'git pull')\n  + rebase (includes 'git pull --rebase')\n  + reapply (e.g. git-am from patches)\n  + git-imerge (third-party tool)\n\n  + git mergetool, or graphical merge tool directly\n  + graphical rebase tool\n  + custom merge driver (e.g. to merge GNU ChangeLogs)\n\n  + other, please specify\n\n\n28. How do you sign your Git repositories?\n    (multiple choice, with other)\n\n  + digital certificate of origin (\"Signed-off-by:\")\n\n  + signed tags\n  + signed commits\n  + signed merges (merging signed tags)\n  + signed pushes\n\n  + other way, please specify\n\n\n#### How you use Git\n\n29. Which of the following Git features do you use?\n    (multiple choice, with other)\n\n  + end-of-line conversion (crlf or eol)\n  + custom diff/merge driver\n  + textconv\n  + other gitattributes (e.g. clean/smudge filter)\n\n  + word diff\n  + merge strategy options (e.g. -Xrenormalize)\n\n  + submodules (subprojects)\n  + subtrees / subtree merge (e.g. git-subtree, git-stree)\n\n  + partial (sparse) checkout\n  + shallow clone (e.g. \"git clone --depth=<n>\")\n\n  + multiple worktrees (e.g. git-worktree)\n\n  + searching history for commit message and metadata (e.g. \"git log --grep\")\n  + searching changes in history, pickaxe search (\"git log -S\" and \"git log -G\")\n  + finding bugs in history with bisect (also \"git bisect run <script>\")\n\n  + tracking code movement with git-blame (\"git blame -M\", \"git gui blame\", etc.)\n  + history of lines (\"git log -L\")\n\n  + detaching HEAD (e.g. \"git checkout --detach\", \"git checkout <tag>\")\n  + orphan branches, with disconnected history (gh-pages, todo, man, etc.)\n  + merging independent histories, joining different projects together\n    (outside subtree merge)\n\n  + alternates mechanism (sharing object database)\n  + stash and autostash (also \"git stash --keep-index\")\n  + commit message templates, and/or commit-related hooks\n  + interactive commit / per-hunk comitting / partial commit / splitting commits\n  + interactive rebase, fixup commits (small scale history editing)\n  + git-filter-branch or equivalent, like BFG Repo Cleaner (large history rewriting)\n  + committing with dirty tree (keeping some changes uncommitted)\n  + reflog (including @{1}, @{yesterday}, @{-1} / -, 'git log -g')\n\n  + client-side hooks (e.g. pre-commit)\n  + server-side hooks (e.g. post-receive)\n\n  + git-aware shell prompt\n  + git aliases, shell aliases for git, or own git scripts\n\n  + one-way interaction with other SCMs (from SCM to git)\n  + two-way interaction with other SCMs (from SCM to git, from git to SCM)\n\n  + object overlays (git replace or grafts)\n  + object annotation (git notes)\n\n  + other, please specify\n\n\n30. Describe what features would you like to have in Git\n    (free form, essay length / textarea)\n\n31. What tool do you use to create new commits?\n    (matrix)\n\n Columns: never / rarely / often / always\n ----------------------------------------\n  - command line\t\t\t\t\n  - graphical commit tool (GUI)\t\t\t\t\n  - IDE/editor integration\t\t\t\t\n  - filemanager extension\t\t\t\t\n  - web interface\t\t\t\t\n  - other kind of tool\t\t\t\t\n\n32. What do you use submodules (or their equivalent, like subtree) for?\n    (multiple choice, with other)\n\n  + I don't use submodules or subtrees\n  + planning to use submodules\n  + for dependency management (including dependencies)\n  + to import repositories maintained by others (in subdirectory)\n  + for your own (or your organization's) code shared between different projects\n  + to separate large and/or many files for performance reasons\n  + to separate data which you don't want (or aren't allowed) to disclose\n  + to separate code whose copyright we do not own, or with different licensing\n  + to manage access to different parts of repository\n\n  + other purpose, please specify\n\n\n#### Other version control systems\n\n33. What other centralized, local or per-file version control systems (SCM)\n    do you use beside Git?\n   (multiple choice, with other)\n\n  + I don't use any centralized or local version control system\n\n  + PVCS\n  + SCCS\n  + RCS\n\n  + CVS\n  + Subversion\n\n  + Perforce\n  + ClearCase\n  + AccuRev SCM\n  + StarTeam\n  + Visual SourceSafe\n  + Vault\n  + Team Foundation Server\n  + Visual Studio Team System / ALM\n  + Rational Team Concert\n\n  + other centralized SCM, please specify\n\n\n34. What other distributed version control systems\n    do you use or used beside Git?\n   (multiple choice, with other)\n\n  + I don't use any version control system beside Git\n\n  + Bazaar (bzr)\n  + Mercurial (hg)\n  + Monotone\n  + Darcs\n  + SVK\n  + Fossil\n  + Veracity\n\n  + BitKeeper\n  + Code Co-op\n  + TeamWare\n  + Plastic SCM\n  + Veracity\n\n  + other, please specify\n\n\n35. How does Git compare to other SCM tools that you have used?\n    (single choice, rating)\n\nGit is ____ that other version control systems I have used.\n\n * better\n * equal (comparable)\n * it depends (in some matters better, in some matters worse)\n * worse\n * cannot compare (have not used anything beside Git)\n\n\n#### What you think of Git?\n\n36. Overall, how happy are you with Git?\n    (single choice, rating)\n\n  # hate it\n  * unhappy\n  * not so happy\n  # neutral\n  * happy\n  * very happy\n  * completely ecstatic\n\n37. In your opinion, which areas in Git needs improvement?\n    Please state your preference.\n    (matrix)\n\n   Columns: don't care / don't need / a little / some / much\n   ---------------------------------------------------------\n + user-interface (UI and UX)\n + core documentation\n # messages, error messages, advices\n + performance\n * portability\n + more features\n + tools (e.g. GUI)\n + localization (translation) of messages\n # translated documentation (manpages)\n * community (mailing list)\n * community (IRC)\t\n\n38. What do you like most about Git? (optional)\n   (free-text, essay length, textarea)\n \n39. What do you hate about Git? (optional)\n   (free-text, essay length, textarea)\n\n\n#### Other tools\n\n40. How do you read and answer email (check all that apply)?\n    (multiple choice)\n\n  + GUI client (e.g. Outlook, Thunderbird, Evolution, KMail)\n  + console client (e.g. pine, alpine, mutt)\n  + webmail or web client (e.g. GMail, Hotmail; HyperKitty)\n  + phone app (e.g. K-9 Mail, Airmail, CloudMagic)\n  + I don't use email at all\n\n41. Which of the decentralized/federated systems do you use\n    or are interested in?\n   (multiple choice, with other)\n\n  + IPFS\n  + PGP / GPG\n  + Tor\n  + diaspora*\n  + Bitcoin, Litecoin, Etherium, etc.\n  + tent.io\n  + XMPP / Jabber\n  + OMEMO\n  + Matrix.org\n  + pump.io\n  + other, please specify\n\n42. Which of IDEs and programmer's editors do you use [with Git]?\n    (multiple choice, with other)\n\n  + Visual Studio\n  + Eclipse\n  + NetBeans\n  + Xcode\n  + IntelliJ IDEA / PhpStorm / WebStorm\n  + KDevelop or Qt Designer\n  + Anjuta\n  + Android Studio\n\n  + Sublime Text\n  + TextMate\n  + Emacs\n  + Vim\n  + Atom\n  + Brackets\n  + Geany\n  + Notepad++\n\n  + other IDE or editor, please specify\n\n\n43. Which of the programming languages are you proficient with?\n    (multiple choices, with other)\n\n  + C\n  + C++\n  + C#\n  + Java\n  + VisualBasic.NET \n  + Objective-C\n\n  + Python\n  + Perl\n  + PHP\n  + JavaScript\n  + Ruby\n  + shell script\n\n  + CSS, LESS, SASS etc.\n  + HTML, HTML5\n  + TeX, LaTeX, ConTeXt\n  + SQL\n\n  + Go\n  + Rust\n  + Swift\n  + Scala\n  + Haskell\n  + OCaml\n\n  + other, please specify\n\n\n#### Documentation. Getting help.\n\n44. How useful have you found the following forms of Git documentation?\n    (matrix)\n\n  Columns: never used / not useful / somewhat / useful\n ------------------------------------------------------\n + help distributed with git (manpages, tutorials, guides, etc.)\n + \"Pro Git\" book\n + Git Wiki\n + Git Reference site\n + hosting site tutorials and help, etc.\n + 'git' section of StackOverflow Documentation\n + other on-line help\n + printed books (or ebooks)\n\nDescription:\n~~~~~~~~~~~~\n* help distributed with Git includes their online version:\n  - https://git.github.io/htmldocs/git.html\n  - https://git-scm.com/docs/\n  - https://www.kernel.org/pub/software/scm/git/docs/\n* Git Wiki was to be found at http://git.wiki.kernel.org\n* Git Reference site can be found at http://gitref.org\n* StackOverflow Documentation refers to http://stackoverflow.com/documentation/git\n* \"Pro Git\" can be found at https://git-scm.com/book and https://progit.org\n* hosting sites tutorials include\n  - https://help.github.com/\n  - https://www.atlassian.com/git/\n  - https://www.git-tower.com/learn/git/ebook\n* help distributed with git include manpages, manual, tutorials, HOWTO,\n  release notes, technical documentation, contrib/examples/\n\n\n45. How useful have you found the following kinds of Git documentation?\n    (matrix)\n\n  Columns: never used / not useful / somewhat / useful\n  ----------------------------------------------------\n + in-command (command messages)\n + command manpages\n + concept manpages (e.g. gitcli, gitworkflows)\n + tutorials\n + technical documentation\n + contrib/examples\n + \"The Git User's Manual\"\t\t\t\t\n\n + \"Pro Git\"\t\t\t\t\n + other printed books (or ebooks)\n\n\n46. What [channel(s)] do you use to request/get help about Git [(if any)]?\n   (multiple choice, with other)\n\n  + git mailing list (git@vger.kernel.org)\n  + \"Git for Human Beings\" Google Group\n  + Git for Windows mailing list / Google Group\n  + IRC (#git)\n  + IRC (other git/SCM related, e.g. #github)\n  + IRC (other than above)\n  + request in blog post or on wiki\n  + asking git expert/git guru/colleague/friend\n  + project mailing list, or IRC, or forum\n  + Twitter or other microblogging platform\n  + instant messaging (IM) like XMPP/Jabber\n  + StackOverflow or other StackExchange site\n  + search specific site or whole web (e.g. with Google)\n\n  + find and read book or ebook\n  + watch an instructional video or course\n  + attend a seminar, webinar or lecture about Git (interactively)\n\n  + N/A (didn't request help about Git)\n\n  + other (please specify)\n\n\n47. Which books about Git have you read and recommend, or plan to read?\n    (multiple choice, with other)\n\n + \"Pragmatic Version Control Using Git\", by Travis Swicegood (2008)\n + \"Pragmatic Guide to Git\", by Travis Swicegood (2010)\n + \"Version Control by Example\", by Eric Sink (2011)\n + \"Version Control with Git\", by by Jon Loeliger and Matthew McCullough\n   (1st ed. 2009, 2nd ed. 2012)\n + \"Git: Version Control for Everyone\", by Ravishankar Somasundaram\n   (2013)\n + \"Pro Git\", by Scott Chacon and Ben Straub (1st ed. 2009, 2nd ed. 2014)\n + \"Git Version Control Cookbook\", by Aske Olsson and Rasmus Voss (2014)\n + \"Git in Practice\", by Mike McQuaid (2014)\n + \"Git for Teams\", by Emma Hogbin Westby (2015)\n + \"Git Essentials\", by Ferdinando Santacroce (2015)\n + \"Mastering Git\", by Jakub Narębski (2016)\n\n\n\n#### About this survey. Git news. Open forum.\n\n48. How did you hear about this Git User's Survey? ===\n    (single choice, with other)\n\n * git mailing list\n * git-related mailing list (e.g. msysGit, Git for Human Beings)\n * mailing list or forum of some project\n * #git IRC channel topic\n * announcement on IRC channel\n * git homepage\n * git wiki\n * git hosting site (or blog related to such site)\n * software-related web site\n * news or social news site (e.g. LWN.net, Digg, Reddit)\n * blog (or blog planet)\n * other kind of web site\n * Twitter or other microblogging platform\n\n * other - please specify\n\n49. How do you hear about git related news \n    (such as new releases and community events)?\n    (multiple choice, with other)\n\n  + I wasn't aware there was any news\n  + I don't read any news, but I'm aware of it\n  + through news aggregation sites (such as reddit or hacker news)\n  + from a newsletter (such as Git Rev News)\n  + through a watched blog (such as GitHub Blog)\n  + announcement section in news site (such as LWN.net)\n  + RelNotes file(s) in git sources\n  * from a mailing list (such as the git developer or the git for windows list)\n  * other, please specify\n\n50. What other comments or suggestions do you have,\n    that are not covered by the questions above?\n    (free-form / essay length / textarea)\n\n-- \nJakub Narębski\n\n\n\n\n"},{"id":"301556","messageId":"CANQwDwem4HdiRiFY5a3M5_teRiPmf68ZsjPhXTiddh9MQ9i-0Q@mail.gmail.com","threadId":"43895","inReplyTo":"CAFO0PHdGppfgSSYW4YB-0LEsuohyzSCkrk48fovppNfDYZx78w@mail.gmail.com","subject":"Re: [RFCv3] Proposed questions for \"Git User's Survey 2016\", take three","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2016-09-09T20:20:29Z","receivedAt":"2016-09-09T20:21:15Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Hello David,\n\nOn 7 September 2016 at 20:49, David Bainbridge\n<david.bainbridge@gmail.com> wrote:\n> Hi Jakub,\n>\n> I guess we could keep polishing this forever!\n>\n> Anyway, a couple of last comments from me:\n> 1. Could you use the new Git logo instead of the +++/---- ? It would show\n> some clear relationship with the Git community. The new logo has been in use\n> for a few years now so I guess many people will recognise this.\n\nGood idea. Done.\n\nThough I say I like old logo one better...\n\n> 2. If survs have dropdowns for countries and ages (integers) it might be\n> worth using those instead of free text fields. Countries in particular\n> should have a drop-down if available. It could probably avoid some\n> post-survey correction.\n\nUnfortunately Survs.com do not offer pre-made dropdowns for countries.\nIt offers a way to provide answers for a question by copy'n'paste of a plain\ntext file, for example with list of countries.\n\nComing up with correct list of countries is not easy, as I wrote:\n\nJN> Survs.com do not offer list of countries as a pre-defined drop-down\nJN> list (select, with search), and it looks like it is not as easy as\nJN> I thought (though I could push responsibility to Locale::Country ;-):\nJN>\nJN>   https://en.wikipedia.org/wiki/List_of_sovereign_states\nJN>\nJN> This question originally read \"What country are you from?\"\nJN> which might be thought as country of birth... which may not\nJN> exist any longer.\n\nThough perhaps I make it harder that it really is:\n$ perl -MLocale::Country -e 'print join \"\\n\", all_country_names();'\n\n> 3. The comment: Both question \"3. Have you found Git easy to learn?\" and \"4.\n> Have you found Git easy to use?\" are about being it easy or hard in general;\n> for mathematically inclined you can think about it as a weighted average.\"\n> Not sure that this adds anything useful to the survey and could be removed,\n> or at least needs correcting to mention the correct questions.\n\nFixed question numbers, removed unnecessary and not useful note about\n\"weighted average\".\n\n> OK, that's it from me!\n\nThanks!\n\nRegards,\n-- \nJakub Narębski\n"}]}