blob: d36afc10006de547cca1fb4d21b5667fd39f5a2d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<appendix xml:id="faq"
xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>FAQ</title>
<qandaset>
<qandaentry>
<question>
<para>Where does the name "Guacamole" come from? </para>
</question>
<answer>
<para>The name was chosen arbitrarily from a random utterance in a conversation with
a member of the project. </para>
<para>When the project reached the point where it was growing out of the
proof-of-concept phase, and needed a real home on the internet, we needed to
think of a name to register the project under. </para>
<para>Several acronyms were toyed with and discarded. We tried anagrams, but all
were too wordy and complex. We considered naming the project after a fish or an
animal, and after suggesting the guanaco, James Muehlner, a developer of the
project, suggested (randomly): "guacamole". </para>
<para>The name had a nice ring, we weren't embarrassed to use it, and it stuck. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What does "clientless" mean? </para>
</question>
<answer>
<para>The term "clientless" means that no specific client is needed. A Guacamole
user needs only have an HTML5 web browser installed, which is exceedingly
common; virtually all modern computers and mobile devices have such a browser
installed by default. </para>
<para>In this sense, Guacamole is "clientless" in that it does not require any
additional software to be installed beyond what is considered standard for any
computer. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Does Guacamole use WebSocket? </para>
</question>
<answer>
<para>Guacamole uses either WebSocket or plain HTTP, whichever is supported by both
the browser and your servlet container. If WebSocket cannot be used for any
reason, Guacamole will fall back to using HTTP.</para>
<para>Historically, Guacamole had no WebSocket support at all. This was due to a
lack of browser support and lack of a true standard. Overall, it didn't matter
as there really wasn't any need: the tunnel used by Guacamole when WebSocket is
not available is largely equivalent to WebSocket in terms of efficiency and
latency, and is more compatible with proxies and existing browsers.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I have Tomcat (or some other servlet container) set up behind a proxy (like
mod_proxy) and cannot connect to Guacamole. Why? How do I solve this? </para>
</question>
<answer>
<para>You need to enable automatic flushing of the proxy's buffer as it receives
packets. </para>
<para>Most proxies, including mod_proxy, buffer data received from the server, and
will not flush this data in real-time. Each proxy has an option to force
flushing of each packet automatically, as this is necessary for streaming
applications like Guacamole, but this is usually not enabled by default. </para>
<para>Because Guacamole depends on streaming to function, a proxy configured to not
automatically flush packets will disrupt the stream to the point that the
connection seems unreasonably slow, or just fails to establish altogether. </para>
<para>In the case of mod_proxy, this option is <code>flushpackets=on</code>. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I connect to the internet through a web proxy, and cannot connect to
Guacamole. I cannot reconfigure the proxy. How do I solve this? </para>
</question>
<answer>
<para>You need to enable automatic flushing of your proxy's buffer to avoid
disrupting the stream used by Guacamole. </para>
<para>If you cannot change the settings of your proxy, using HTTPS instead of HTTP
should solve the problem. Proxies are required to stream HTTPS because of the
nature of SSL. Using HTTPS will allow Guacamole traffic to stream through
proxies unencumbered, even if you cannot access the proxy settings directly. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Can I buy special licensing of the Guacamole code base, such that I can use it
in my own product, without providing the source to my users, without
contributing back, and without acknowledging the project? </para>
</question>
<answer>
<para>Usually, no. Previous requests for such licensing have been very one-sided and
there would be no direct or indirect benefit to the community and the project.
That said, we handle requests for licensing on a case-by-case basis. In general,
any special licensing has to somehow provide for the community and the
open-source project.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Can I pay for custom Guacamole work, or for help integrating Guacamole into my
product, if the open source nature and licenses are preserved?</para>
</question>
<answer>
<para>Yes. We love to be paid to work on Guacamole, especially if that work remains
open source. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How can I contribute to the project? </para>
</question>
<answer>
<para>If you are a programmer and want to contribute code, Guacamole is open-source
and you are welcome to do so! Just send us your patches. There is no guarantee
that your patch will be added to the upstream source, and all changes are
carefully reviewed. </para>
<para>If you are not a programmer, but want to help out, feel free to look through
the documentation or try installing Guacamole and test it out. General editing,
documentation contributions, and testing are always helpful. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How can I become an official member of the project? </para>
</question>
<answer>
<para>The short answer is: "by being asked." </para>
<para>People are only added as official members of the Guacamole project after their
work has been proven. This usually means you will have contributed code in the
form of patches before, or we know you from extensive testing work, or you
frequently help with documentation, and we are impressed enough that we want you
as part of the project. </para>
<para>All that said, you do not need to be a member of the project to help out. Feel
free to contribute anything. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I think I've found a bug. How do I report it? </para>
</question>
<answer>
<para>The project hosts a bug tracking tool called Trac at
http://guac-dev.org/trac/. All bugs should be reported there as new tickets.
This is also where you would request a new feature. </para>
<para>If the bug you found is security-related, we would prefer to be contacted
personally via email, such that the bug can be fixed before becoming dangerously
widely known. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I need help! Where can I find some? </para>
</question>
<answer>
<para>The project hosts forums at http://sourceforge.net/projects/guacamole/forums.
If you have a SourceForge username (or don't mind registering one), this is a
good place to start. </para>
<para>Otherwise, there are Guacamole-specific official IRC channels on freenode.net:
#guacamole, #guacamole-dev, and #guacamole-help. </para>
<para>If none of those options suffice, you can always email any of the project
members directly. You will usually get a personal response, time permitting. </para>
</answer>
</qandaentry>
</qandaset>
</appendix>