<?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 & 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>