<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi<div class=""><br class=""></div><div class="">Following our verbal discussion here is my proposed update:</div><div class=""><br class=""></div><div class="">-------</div><div class="">The core team of QGIS strives hard to provide the most advanced and<br class="">user friendly GIS for free use by everyone. In the core QGIS project, every line of code that gets committed is</div><div class="">subject to peer review when contributed by a non core developer. This<br class="">gives us an opportunity to identify and correct inadvertent (or<br class="">intentional) security issues that a developer may introduce into the code<br class="">base. By contrast, all of the plugins that are published via the QGIS<br class="">plugin repository are reviewed by the plugin developers themselves and<br class="">we don't have good insight into how much due diligence is applied to<br class="">plugin code management.<br class=""><br class="">The vast majority of our plugins (listed in <a href="http://plugins.qgis.org/" class="">http://plugins.qgis.org/</a> and<br class="">inside your copy of QGIS) are developed by third parties, either<br class="">individuals, companies, and institutions. As such, they are outside our<br class="">direct control and the developers often relatively unknown to the QGIS community. </div><div class="">We view this as a potential security risk. We are convinced<br class="">the risk is small, because of many factors including the "many eyes"<br class="">principle (the code is visible to everybody, and in use by thousands of<br class="">people), but cannot exclude the possibility that someone tries to<br class="">inject malicious code into a plugin.<br class=""><br class="">In order to address this situation, we looked into the opportunity of<br class="">implementing automatic tools to scan plugins, before their publication,<br class="">and spot potential problems. Our research indicated that this approach would be<br class="">difficult and costly, and easy to circumvent.<br class=""><br class="">We decided therefore to implement a simple yet robust approach to<br class="">security, based on the 'web of trust' principle: we trust people we know well in the community.</div><div class="">You will see on the <a href="http://plugins.qgis.org" class="">http://plugins.qgis.org</a> web site that there is a 'Trusted Author' tag has been applied to plugins </div><div class="">created by those members of the community that we know and trust. </div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">The criteria for 'Trusted Authors' includes those community members that regularly </div><div class="">meet at our QGIS developer meetings, and and those that are in almost daily contact<br class="">with the core team via our developer mailing lists or background project discussions.</div><div class="">The remaining plugins (and there are wonderful,<br class="">reliable, robust, and useful plugins in the list) have not been given the 'trusted'<br class="">label. <br class=""><br class="">We would be delighted if a side effect of this choice would<br class="">be to stimulate more active and direct involvement of plugin developers in the QGIS<br class="">community. All plugin developers are therefore invited to join us at one<br class="">of the next developer meetings (AKA HackFest), or otherwise become a<br class="">recognized, active member of the community, so they can be integrated as<br class="">'trusted' plugin developers.<br class=""><br class="">---------</div><div class=""><br class=""></div><div class="">Regards</div><div class=""><br class=""></div><div class="">Tim</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class=""><span>—</span><br class=""><br class=""><br class=""><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span><span><span><span><img height="118" width="150" apple-inline="yes" id="44ED694B-3CAA-493B-9857-8462F5160068" apple-width="yes" apple-height="yes" src="cid:1A5DF6DE-E302-4C28-BFBD-29663CBF1351" class=""></span><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Tim Sutton</b></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Co-founder:</b><span class="Apple-converted-space"> </span>Kartoza</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Project chair:</b><span style="font-weight: normal;" class=""><span class="Apple-converted-space"> </span><a href="http://qgis.org" class="">QGIS.org</a></span></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Visit <a href="http://kartoza.com/" class=""><span style="-webkit-text-stroke-color: rgb(71, 135, 255);" class="">http://kartoza.com</span></a> to find out about open source:</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Desktop GIS programming services</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Geospatial web development</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">GIS Training</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Consulting Services</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0); min-height: 14px;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">Skype</b>: timlinux </div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><b class="">IRC:</b><span class="Apple-converted-space"> </span>timlinux on #qgis at <a href="http://freenode.net" class="">freenode.net</a></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: initial; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; margin: 0px; line-height: normal; -webkit-text-stroke-color: rgb(0, 0, 0);" class="">Kartoza is a merger between Linfiniti and Afrispatial</div>
</span></span></span></span></div><br class=""></div></body></html>