<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article>
  <!--$Id: template.xml 3517 2006-02-22 22:54:59Z judas_iscariote $-->

  <articleinfo>
    <title>The Shorewall Environment Survey 2006</title>

    <authorgroup>
      <author>
        <firstname>Paul</firstname>

        <surname>Gear</surname>
      </author>
    </authorgroup>

    <pubdate><?dbtimestamp format="Y/m/d"?></pubdate>

    <copyright>
      <year>2006</year>

      <holder>Paul D. Gear</holder>
    </copyright>

    <legalnotice>
      <para>Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License, Version
      1.2 or any later version published by the Free Software Foundation; with
      no Invariant Sections, with no Front-Cover, and with no Back-Cover
      Texts. A copy of the license is included in the section entitled
      <quote><ulink url="GnuCopyright.htm">GNU Free Documentation
      License</ulink></quote>.</para>
    </legalnotice>
  </articleinfo>

  <section id="Background">
    <title>Background</title>

    <para>In early March 2006, i embarked on the journey of surveying
    Shorewall users. Initially this sprang from my own curiosity: i thought
    that some of the systems at work on which i use Shorewall may be bigger
    and more complex than most others, and i wanted to find out if there are
    people out there who use Shorewall like i do. As started thinking about
    the questions i would ask, i realised that if i asked the right questions,
    i could create a survey that might help the Shorewall project better to
    understand its users.</para>

    <para>I used <ulink url="http://www.zoomerang.com">Zoomerang</ulink> to
    create the survey. It has a number of tools that make it easy to create
    useful surveys. To get the most benefit out of Zoomerang, you have to
    subscribe to their professional version.</para>

    <para>In the long term, it would be great to have a practical free
    software alternative that could be self-hosted. A number of free content
    management systems such as <ulink url="http://drupal.org">Drupal</ulink>
    have a survey module, but when i last looked at them, they were more
    limited and harder to use than Zoomerang.</para>

    <section id="Survey">
      <title>Survey and results links</title>

      <para>The survey is still open as of this writing, and can be accessed
      at <ulink url="http://www.zoomerang.com/survey.zgi?p=WEB2253NNBCN44">the
      Zoomerang survey page</ulink>. Further participation is encouraged. The
      figures quoted in this document reflect the results at the time of
      writing.</para>

      <para>The <ulink
      url="http://www.zoomerang.com/reports/public_report.zgi?ID=L22KHC6BPGLS">public
      results</ulink> of the survey are available. If you complete the survey,
      a link to the results is provided on the thank you page.</para>
    </section>

    <section id="Sample">
      <title>Sample size</title>

      <para>An important note about this survey is that it has a small sample
      size (103 complete responses at the time of writing), so any conclusions
      drawn should be considered tentative.</para>

      <para>To speculate on the overall number of users that this sample
      represents, the <ulink
      url="http://popcon.debian.org/source/by_inst.gz">Debian popularity
      contest</ulink> reports 478 installations of Shorewall, 285 of which are
      in active use. Assuming that the popularity contest represents 30% of
      the Debian installed base (likely ridiculously optimistic), this would
      make the number of active Shorewall systems approximately:</para>

      <para>285 / 0.3 (percentage of Debian systems) / 0.26 (percentage Debian
      holds of all distributions) = 3654 (rounding up the numbers to the
      nearest whole, and assuming the percentages extrapolate
      regularly)</para>

      <para>This means that our survey represents a maximum of 2.8% of the
      installed base, likely far less.</para>
    </section>

    <section id="Factors">
      <title>Other possible inaccuracies</title>

      <para>Additionally, since the survey was open to multiple responses, it
      could be that some people answered the questions about themselves more
      than once, despite instructions to the contrary in the introduction
      page.</para>

      <para>There is an error in the released version of the survey for
      question 15 (RAM size): it was a multiple choice question rather than
      single choice, and thus there were more results than expected. The
      number of errors doesn't seem to be significant.</para>

      <para>If you notice any errors in this analysis, or have any suggestions
      about how to improve it, please contact the author at <ulink
      url="mailto:pgear@shorewall.net">pgear@shorewall.net</ulink>.</para>
    </section>
  </section>

  <section id="Results">
    <title>Results analysis</title>

    <section id="Org">
      <title>Organisations</title>

      <para>Small organisations dominate the spectrum of Shorewall users. The
      largest group (44%) was 1-10 users - mostly SOHO LANs based on the
      comments in that section. Ninety percent (90%) of Shorewall
      installations are in organisations with less than 500 users. The results
      for the questions about organisational size and the number of users
      serviced by Shorewall match fairly closely, which seems to indicate that
      the majority of Shorewall systems are servicing the entire organisation
      in question.</para>

      <para>The vast majority (84%) of Shorewall systems are administered by
      only one person. One question that needs to be asked is, "Why?" Possible
      reasons for this might be:</para>

      <itemizedlist>
        <listitem>
          <para>Most of the organisations in which it is used are small, thus
          most of them will only have one person skilled in the area of packet
          filtering firewalls. This seems a likely scenario, but a cross
          correlation of the results of questions 1 and 2 with question 3
          indicates that the number of administrators is fairly uniform across
          all sizes of organisation and user base.</para>
        </listitem>

        <listitem>
          <para>Shorewall works so well that people don't have to touch it
          much. Obviously, this is the preferred interpretation of the
          Shorewall project team. :-)</para>
        </listitem>

        <listitem>
          <para>Shorewall is too hard for new users to comprehend, so one
          skilled person in an organisation tends to get the job maintaining
          it. Equally obviously, this is a non-preferred interpretation. :-)
          However, being a firewall generator, Shorewall is not likely to
          attract the same sort of users as a web browser or music
          player.</para>
        </listitem>

        <listitem>
          <para>Shorewall administrators are a closed bunch and don't like
          sharing their job around. Given the nature of firewalls and packet
          filtering, this doesn't seem far-fetched.</para>
        </listitem>
      </itemizedlist>

      <para>There doesn't seem to be an easy answer to thus question. In
      retrospect, since there were no responses indicating 10 or more
      administrators, i could have made the granularity of this question
      better. A question about a person's role in the organisation may also
      have been helpful. Possibly we could follow up with a smaller survey,
      specifically about the people and organisations who use
      Shorewall.</para>
    </section>

    <section id="Users">
      <title>Users</title>

      <para>Unsurprisingly, 97% of survey respondents were male. Or to put it
      another way: surprisingly, there are actually 3 female Shorewall users.
      :-) Being male seems to be an occupational hazard of life in the IT
      industry, and even more so in the more "nerdy" specialisations like
      Linux and security.</para>

      <para>The largest age group of users is 25-34 years (42% of all
      respondents). There were no retirees (65 and over) or minors (under 18)
      in the responses. The distribution of the remaining age groups was
      fairly even.</para>

      <para>The largest group of users in terms of education was those with a
      Bachelor's degree, followed by those with a high school education.
      Fifty-seven percent (57%) of Shorewall users have a Bachelor's degree or
      better. Many users' highest qualifications are not in an IT-related
      discipline (42%). This remains fairly constant across the spectrum when
      correlated with the highest level of qualifications. Those who do not
      claim IT as their highest discipline come from a wide variety of other
      fields, including agriculture, art, business, chemistry, education,
      various forms of engineering, law, mathematics, physics, and
      theology.</para>

      <para>Almost two-thirds of users (62%) use Shorewall as part of their
      paid employment. Of these, 12% (7 of 58) do not use Shorewall as part of
      their official duties. Cross correlation with level of education
      revealed no major variance in this trend depending on level of
      education.</para>

      <para>The majority of users (73%) began using the Internet in the 1990s.
      A smaller majority (61%) have been using the Internet for more than 12
      years (1994 or earlier). (The single response indicating use of the
      Internet (then ARPANET) since the 1960s seems to be an error.)</para>

      <para>The majority of users (70%) began using Linux after it reached a
      certain stage of maturity - around or after the release of kernel 2.0
      (1996). However, nearly all respondents (97%) have been using Linux for
      5 years or more, with almost half (47%) having 10 or more years
      experience with it. It seems fair to say that as a rule, Shorewall
      attracts people with plenty of experience.</para>

      <para>Around one third of users (30%) have been using Shorewall for more
      than 5 years, with two-thirds (66%) having used it since the 1.x series
      (2003 or earlier). It seems fair to say that Shorewall users seem to
      stick with the product once they are familiar with it. On the other
      hand, it seems that Shorewall is not attracting large numbers of new
      users, which is a concern for the future of the project.</para>
    </section>

    <section id="Hardware">
      <title>Hardware</title>

      <para>Ninety-three percent (93%) of users run Shorewall on i386 family
      hardware, with a further 6% running it on x86-64/EM64T platforms. One
      response was received indicating use of Shorewall on MIPS (Linksys WRT
      platform). No responses were received for any other hardware platform.
      While it is not surprising that Intel would be dominant, given their
      market share, it seems a little skewed not to have any representatives
      of other architectures.</para>

      <para>A good spread of CPU power is shown in the survey responses. The
      largest group was 400-999 MHz (30%), with only 16% of responses
      indicating less than 400 MHz, and the same number greater than 2500 MHz.
      A number of responses in the field for additional information suggested
      that the machines used were either recycled desktops, or systems that
      were specifically built to do the job, and had been running in that role
      for a number of years.</para>

      <para>RAM configuration seemed to mostly mirror CPU power, with a slight
      bias towards higher RAM figures. The majority (52%) of systems have
      between 256 and 1023 MB; only 11% of systems have less than 128 MB; 28%
      have 1024 MB or more. This reflects the more server-oriented workload
      that many Shorewall systems run (see the section on server roles
      below).</para>

      <para>Shorewall systems on the whole tend toward smaller OS hard disks,
      with 42% having disks 39 GB or smaller. The largest group by a small
      margin was 80-159 GB at 23%, with 10-39 GB and 0-9 GB coming in a close
      second and third at 22% and 20% respectively.</para>
    </section>

    <section id="Network">
      <title>Network</title>

      <para>The majority of Shorewall systems (82%) use between two and four
      network interfaces. The number of devices connected to systems closely
      mirrors the size of the organisations in which they are used, with 95%
      of systems connecting less than 500 devices, and the largest group (41%)
      connecting 2-10 other devices.</para>

      <para>Ninety percent (90%) of Shorewall systems are connected to 100
      Mbps or faster local networks. Most systems have a broadband Internet
      connection or better, with only 7% having 512 Kbps or less, and 51%
      having 10 Mbps or better. DSL is the most common form of Internet
      connection, with over half the responses (51%).</para>
    </section>

    <section id="Software">
      <title>Software</title>

      <para>The most popular Linux distribution on which users run Shorewall
      is Debian (26% of respondents), followed by a group consisting of Fedora
      Core (16%), Red Hat 9 and earlier (13%) and Red Hat Enterprise and
      derivatives (12%). The next group consists of SUSE (9%), Slackware (8%),
      Gentoo (6%), and LEAF/Bering (5%).</para>

      <para>The message about maintaining an up-to-date Shorewall system seems
      to have gotten through, with 61% of respondents running the latest
      stable version (3.0), and an additional 22% running the previous stable
      version (2.4). Only 14% of users are running unsupported older versions
      (2.2 and previous).</para>

      <para>The most common roles played by Shorewall systems are:</para>

      <itemizedlist>
        <listitem>
          <para>External firewall/router (78%)</para>
        </listitem>

        <listitem>
          <para>DNS name server (61%)</para>
        </listitem>

        <listitem>
          <para>DHCP server (59%)</para>
        </listitem>

        <listitem>
          <para>Internal firewall/router (56%)</para>
        </listitem>

        <listitem>
          <para>Time server (55%)</para>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Comments">
      <title>Comments from users</title>

      <para>Following is a sample of the comments we received about the survey
      - they have been carefully sanitised to make us look good. ;-)</para>

      <itemizedlist>
        <listitem>
          <para>More power to Shorewall!</para>
        </listitem>

        <listitem>
          <para>Shorewall Rocks! I'm amazed how easy it is every time I need
          to do something, even if it's been 6+ months since the last change!
          :)</para>
        </listitem>

        <listitem>
          <para>Good job and a great product.</para>
        </listitem>

        <listitem>
          <para>Shorewall is good, I have recommended it to several people,
          mostly working in the University &amp; academic areas.</para>
        </listitem>

        <listitem>
          <para>Thanks to everyone who contributes to Shorewall. That's a
          *great* piece of software!</para>
        </listitem>

        <listitem>
          <para>Shorewall has been incredible. Tom has given so much of
          himself to this project, I can only say thank you from one person, I
          look up to people like him. I have used Shorewall for many systems,
          I am a contractor that "set up shop" all over the world. Depending
          on the available ISP services, this project has been flexible in
          every situation to date. Also, depending on my needs, it has done
          the same. "IP Tables made easy" is really an accurate
          description.</para>
        </listitem>

        <listitem>
          <para>I'm quite interested in seeing what the 'cross section' of
          Shorewall users are like. It's made my life a lot easier over the
          years. Thank you.</para>
        </listitem>
      </itemizedlist>
    </section>
  </section>

  <section id="Lessons">
    <title>Lessons learned about survey technique</title>

    <section id="Approach1">
      <title>Treat surveys like releasing free software</title>

      <itemizedlist>
        <listitem>
          <para>test on a small group before you go public</para>
        </listitem>

        <listitem>
          <para>release early and often</para>
        </listitem>

        <listitem>
          <para>make branches (copies) when you release alpha and beta
          versions</para>
        </listitem>

        <listitem>
          <para>merge the changes from branches (lessons you learned in those
          versions) into the main trunk</para>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Approach2">
      <title>Start small and work towards what you want to know with specific,
      concrete questions</title>

      <para>I tried to do everything in one survey, and ended up confusing
      some people. For example, despite the fact that the survey's start page
      clearly says "Please answer the questions for only ONE SYSTEM running
      Shorewall", i received multiple comments saying that they couldn't
      answer accurately because they ran more than one Shorewall
      system.</para>

      <para>It would have been better to have two surveys: one about the
      people who use Shorewall, and another about the systems they run it on.
      Better still would be for Shorewall to automatically collect appropriate
      information about systems and request permission to send it to a central
      location for statistical analysis. How to do this and maintain users'
      privacy and obtain their permission efficiently is not an easy problem
      with a product like Shorewall, which doesn't actually stay running on
      user systems, and doesn't present a user interface per se.</para>
    </section>

    <section id="Approach3">
      <title>Be prepared beforehand</title>

      <para>Within hours of the survey's release, 50% of the results were in.
      Within 3 days, it hit the Zoomerang basic survey limit of 100 responses.
      I had not planned for such an enthusiastic response, and also was too
      busy to download all of the results before the survey's time limit
      expired. Fortunately, i was able to obtain funding to allow a Zoomerang
      "pro" subscription to be purchased and thus provide advanced analysis,
      and complete downloads of the results.</para>
    </section>

    <section id="Approach4">
      <title>Incrementally improve your surveys</title>

      <para>The final version of this survey was released still with a few
      bugs. The released version was just a copy of my master survey, and i
      continued to maintain the master after the final survey was released
      (and during this analysis), and i'm sure the next version will be even
      better.</para>
    </section>
  </section>

  <section id="Implications1">
    <title>Possible implications for the Shorewall project</title>

    <para>The users we have seem, on the whole, rather experienced, and very
    loyal. However, we don't seem to be attracting new users, despite new
    features such as multi-ISP support and integrated traffic shaping. The
    question about a GUI comes up frequently, and one wonders whether this is
    would make a significant difference in Shorewall's uptake with new
    users.</para>

    <para>Shorewall seems to be predominantly used in small, i386-based
    environments such as home LANs and small businesses. It seems to be
    frequently combined with a number of other basic functions, such as DNS,
    DHCP, NTP, VPN. Integration with (or perhaps providing a plug-in module
    for) a dedicated gateway distribution such as ipcop, Smoothwall, or Clark
    Connect might be a good way to serve the needs of our users.</para>
  </section>

  <section id="Implications2">
    <title>Possible implications for other free software projects</title>

    <itemizedlist>
      <listitem>
        <para>The essence of free software is software by the people, for the
        people. Knowing who the people are and what their needs are is
        critical to this process.</para>
      </listitem>

      <listitem>
        <para>If at all possible, build statistics gathering into your
        application, and find a way to encourage people to use it. This
        concrete data will help confirm the results of any surveys you might
        conduct.</para>
      </listitem>
    </itemizedlist>
  </section>
</article>
