blob: 6ef0ac6d6bf4f182ffa14d450dcb30430f1b200d [file] [log] [blame]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="/styles/main.css?s=1714581448">
<link rel="icon" type="image/svg+xml" href="/images/logos/guac-classic-logo.svg"/>
<link rel="icon" type="image/png" href="/images/logos/guac-classic-logo-64.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi"/>
<meta charset="UTF-8"/>
<title>Apache Guacamole™: Open Source</title>
</head>
<body class="">
<!-- Header -->
<div id="header">
<div class="readable-content">
<h1><a href="/">Apache Guacamole™</a></h1>
<ul id="navigation" class="menu">
<li>
<a href="/releases/"
class="releases"
>Release Archives</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Documentation</a>
<ul class="dropdown-menu">
<li>
<a href="/faq/"
>FAQ</a>
</li>
<li>
<a href="/api-documentation/"
>API / Development</a>
</li>
<li>
<a href="/doc/gug/"
>Guacamole Manual</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Community</a>
<ul class="dropdown-menu">
<li>
<a href="/open-source/"
>Contributing to Guacamole</a>
</li>
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="https://github.com/search?utf8=%E2%9C%93&q=repo%3Aapache%2Fguacamole-client+repo%3Aapache%2Fguacamole-server+repo%3Aapache%2Fguacamole-manual+repo%3Aapache%2Fguacamole-website&type=repositories&ref=searchresults"
>Source Code</a>
</li>
</ul>
</li>
<li>
<a href="/security/"
>Security Reports</a>
</li>
<li class="dropdown">
<a class="dropdown-toggle "
href="#">Support</a>
<ul class="dropdown-menu">
<li>
<a href="/support/#mailing-lists"
>Mailing Lists</a>
</li>
<li>
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/"
>Bug/Issue Tracker</a>
</li>
<li>
<a href="/support/#commercial-support"
>Commercial Support</a>
</li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle apache"
href="#">ASF</a>
<ul class="dropdown-menu">
<li>
<a href="http://www.apache.org/"
>ASF Homepage</a>
</li>
<li>
<a href="http://www.apache.org/licenses/"
>License</a>
</li>
<li>
<a href="http://www.apache.org/foundation/thanks.html"
>Thanks</a>
</li>
<li>
<a href="http://www.apache.org/foundation/sponsorship.html"
>Sponsorship</a>
</li>
<li>
<a href="http://www.apache.org/foundation/policies/conduct.html"
>Code of Conduct</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<h1 class="title">Open Source</h1>
<!-- Content -->
<div class="readable-content">
<p>Guacamole is an open source project. It is entirely free in every sense (under
the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>),
and will always be so.</p>
<p>We believe that being open source gives Guacamole distinct advantages over
purely-commercial alternatives. The public availability of the source means
that the codebase is readily modifiable and extendable. It can be embedded in
whole or in part in other projects. For the sake of the project and its
community, significant effort is made by the Guacamole team to keep the
codebase clean and readable. Guacamole is not a “black box”; you can read
through the codebase and see exactly what it does and why. Commercial support
is available, but because the software itself is free and open, there is no
aspect of vendor lock-in.</p>
<p>Guacamole is not public domain, but the Apache license is very permissive, and
as long as you follow it’s simple conditions, you can modify and include
Guacamole in other projects to your heart’s content, including commercial or
proprietary projects.</p>
<h2 id="meritocracy">Joining the project</h2>
<p>The Apache Guacamole project operates as a
<a href="http://apache.org/foundation/how-it-works.html#meritocracy">meritocracy</a>. The
project is made up of volunteers who, based on the subjective judgement of the
existing project members, have demonstrated merit through their contributions
and thus have been offered membership themselves. If you wish to join the
project, the first step is to be active in the community as a
<a href="#contribute">contributor</a>.</p>
<p>Contributors who show merit through the quality of their continuing activity in
the community and their contributions to the project will be invited to become
<a href="#committers">committers</a> or <a href="#pmc-members">members of the PMC</a>.</p>
<h2 id="contribute">Contributing</h2>
<p>If you believe you have a feature or bug fix that would benefit the project, or
simply wish to help other users, please feel free to subscribe to and use the
<a href="/support/#mailing-lists">project mailing lists</a>. To ensure issues are properly
tracked and development effort is not duplicated, all bugs or proposed
development should be reported by opening a new ticket in our
<a href="https://issues.apache.org/jira/browse/GUACAMOLE/">JIRA</a>.</p>
<p>Code contributions are also always welcome, but do have to go through a review
process. The code will more than likely be discussed and sent back a few times
in order to bring the style and implementation in line with the rest of the
Guacamole codebase.</p>
<p>If you are planning to contribute code, please keep in mind that the point of
contributing is to collaborate for the benefit of the project and its
community; it is a service you are choosing to provide because you believe, as
the members of the Guacamole project believe, that doing so works toward the
greater good. It is thus important to remember:</p>
<ol>
<li>Expect honest and constructive criticism. It is a good thing.</li>
<li>A project’s processes exist for a reason. The goal of contributing is to
work with the project for the common good, not fight against it.</li>
<li>Develop against the most recent code on git. Patches against releases and
naive copies of entire files cannot be accepted as they lack context and
are likely out of date.</li>
<li>Code must follow consistent style or it will become unreadable and
unmaintainable. Please read through our <a href="https://cwiki.apache.org/confluence/display/GUAC/Contribution+and+Style+Guidelines">style guidelines</a> and,
when in doubt, follow the style of the code you are modifying.</li>
</ol>
<p>Our full contribution guidelines can be found in the <code class="language-plaintext highlighter-rouge">CONTRIBUTING</code> file in any
of our git repositories. If you need help getting started, the <a href="/api-documentation">API
documentation</a> is an excellent resource, as are the
<a href="/support/#mailing-lists">mailing lists</a> and the tutorials in <a href="/doc/gug/">the
manual</a>.</p>
<h2 id="committers">Committers</h2>
<p>Committers actively maintain and contribute to the Apache Guacamole project,
produce releases, review the code of contributors and fellow committers, and
identify contributors who have shown <a href="#meritocracy">merit</a> and should be
offered committership.</p>
<p>Committers have write access to Apache Guacamole’s git repositories, but do not
make direct changes on their own behalf. Code changes are made only through
<a href="https://cwiki.apache.org/confluence/display/GUAC/Managing+Pull+Requests">pull requests</a>, and are merged only after code review by
a committer not otherwise directly involved in those changes.</p>
<h3 id="resources-for-committers">Resources for committers:</h3>
<ul>
<li><a href="http://www.apache.org/dev/committers.html">Committers’ FAQ</a></li>
<li><a href="http://www.apache.org/dev/new-committers-guide.html">Guide for new committers</a></li>
<li><a href="https://github.com/apache/guacamole-website/blob/master/README.md">Maintaining the website</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Managing+Pull+Requests">Managing pull requests</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Contribution+and+Style+Guidelines">Style guidelines</a></li>
</ul>
<h3 id="release-procedures">Release procedures:</h3>
<ul>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Beginning+the+release+process">Beginning the release process</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Producing+a+release+candidate">Producing a release candidate</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Promoting+a+release+candidate+to+release">Promoting a release candidate to release</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/GUAC/Announcing+the+release">Announcing the release</a></li>
</ul>
<h2 id="pmc-members">PMC members</h2>
<p>The Apache Guacamole PMC is made up of committers and is responsible for
project oversight. PMC members participate in discussions on the <a href="/support/#mailing-lists">mailing
lists</a> and vote on release candidates, new committers,
and new PMC members. The PMC is responsible for identifying members of the
community who have shown <a href="#meritocracy">merit</a> warranting committership and/or
PMC membership.</p>
<h3 id="resources-for-pmc-members">Resources for PMC members:</h3>
<ul>
<li><a href="/support/#mailing-lists">Apache Guacamole mailing lists</a></li>
<li><a href="http://www.apache.org/dev/pmc.html">Project Management Committee Guide</a></li>
<li><a href="http://apache.org/foundation/voting.html">Apache voting process</a></li>
</ul>
</div>
<!-- Footer -->
<div id="footer">
<div class="readable-content">
<!-- Copyrights -->
<p class="copyright">
Copyright &copy; 2024 <a href="http://www.apache.org/">The Apache
Software Foundation</a>, Licensed under the <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache License,
Version 2.0</a>.
</p>
<!-- Trademarks -->
<p class="trademarks">
Apache Guacamole, Guacamole, Apache, the Apache feather logo, and the
Apache Guacamole project logo are trademarks of The Apache Software
Foundation.
</p>
</div>
</div>
<!-- jQuery -->
<script src="/scripts/jquery.min.js" type="text/javascript"></script>
<!-- Dropdown toggle -->
<script src="/scripts/dropdown.js" type="text/javascript"></script>
</body>
</html>