<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Dear QGIS users,<br>
    <br>
    I started a crowd-funding campaign for automated unit tests in QGIS.
    Please consider to help funding this project in order to improve the
    software and code quality in the long run. More details can be found
    on the project page and in the text below.<br>
    <br>
<a class="moz-txt-link-freetext" href="http://blog.vitu.ch/10102014-1046/crowdfunding-initiative-automated-testing">http://blog.vitu.ch/10102014-1046/crowdfunding-initiative-automated-testing</a><br>
    <br>
    <p class="MsoPlainText"><span lang="EN-US">I plan to improve the
        quality of QGIS sustainably by introducing the automatic
        execution of test procedures which will inform responsible
        developers automatically in case of failure. Your support for
        this project is highly welcome and you can contribute to make
        QGIS more stable in the long run. To implement the necessary
        changes as well as repairing currently broken tests a minimal
        amount of CHF 5000.- will be required. The following paragraphs
        will describe the project in more detail.<o:p></o:p></span><span
        lang="EN-US"><o:p> </o:p></span>
    </p>
    <p class="MsoPlainText"><span lang="EN-US">----------<o:p></o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US">In the last years, QGIS
        matured from a hobby project to a serious alternative with a
        broad scope of possibilities and a great potential.<o:p></o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US">With the constant
        addition of new features new possibilities have been created and
        still are created. Every new feature means changes to the source
        code of the software and is a potential source of errors.<br>
      </span></p>
    <p class="MsoPlainText"><span lang="EN-US">There are possibilities
        to automatically detect errors. This is done by executing a
        series of operations with known result. If a operation does not
        return the desired (known) result something went wrong and it
        needs to be evaulated why.<o:p></o:p></span><br>
    </p>
    <p class="MsoPlainText"><span lang="EN-US">QGIS has currently over
        100 different tests. However, these are not run regularly and
        nobody realizes when tests fail. This led to the situation, that
        at the moment approximately 2/3 of the tests do not report
        success and nobody knows why and since when.<br>
      </span></p>
    <p class="MsoPlainText"><span lang="EN-US">I intend to take the
        following measures to ensure that in the future tests no longer
        can silently fail:<br>
      </span></p>
    <p class="MsoPlainText"><span lang="EN-US">* tests will be run on
        all source code changes in master (main development branch)<o:p></o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US">* tests will be run on
        all pull requests (changes being evaluated for integration in
        master)<o:p></o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US">* if tests fail the
        responsible developers will be notified by mail<o:p></o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US">* with symbols, the
        current state of the tests will be indicated<o:p></o:p></span><span
        lang="EN-US"><o:p><br>
        </o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US"><o:p></o:p></span><span
        lang="EN-US">With this system it is possible to react
        instantaneously when tests fail and to revert the responsible
        changes or to not even integrate these.<o:p></o:p></span><span
        lang="EN-US"><o:p><br>
        </o:p></span></p>
    <p class="MsoPlainText"><span lang="EN-US"><o:p></o:p></span><span
        lang="EN-US">To make sure that this system works and is
        accepted, it is important to start with a working suite of
        tests. How much time it takes to fix all tests is difficult to
        say. The plan is therefore to fix as many tests with the
        available funds and to disable the rest of the tests in the
        first time. Therefore additional funds that are provided on top
        of the required minimum CHF 5000.- will be very welcome for
        additional working tests.<o:p></o:p></span><span lang="EN-US"><o:p><br>
        </o:p></span></p>
    <p class="MsoPlainText">It would be great if this crowd-funding
      effort could help to get this project to fly.<br>
      <span lang="EN-US"><o:p></o:p></span><span lang="EN-US"></span></p>
    <p class="MsoPlainText">Kind regards,<o:p></o:p></p>
    Matthias Kuhn<br>
  </body>
</html>