From 07b6188954339c081defe78fd966eb2c65104e1f Mon Sep 17 00:00:00 2001
From: "Jonathan S. Katz" <jonathan.katz@excoventures.com>
Date: Sat, 29 Jul 2017 12:31:54 -0400
Subject: [PATCH] Publish community recognition guidelines from the PostgreSQL
 Core Committee.

Publish the community recognition guidelines developed by the PostgreSQL Core
Committee from a navigation off of the "Community" section.  Add URLs from
several other pages on the PostgreSQL website in order to access the guidelines:

  * Donate
  * Events
  * User Groups

Additionally, this patch updates the contact email address for donation questions
to the PostgreSQL Funds Group.
---
 pgweb/urls.py                              |   1 -
 pgweb/util/contexts.py                     |   1 +
 templates/events/archive.html              |   3 +-
 templates/pages/about/donate.html          |  15 ++--
 templates/pages/community/recognition.html | 121 +++++++++++++++++++++++++++++
 templates/pugs/index.html                  |  33 ++++----
 6 files changed, 150 insertions(+), 24 deletions(-)
 create mode 100644 templates/pages/community/recognition.html

diff --git a/pgweb/urls.py b/pgweb/urls.py
index 4321c40..63724ee 100644
--- a/pgweb/urls.py
+++ b/pgweb/urls.py
@@ -153,4 +153,3 @@ urlpatterns = patterns('',
 	# Fallback for static pages, must be at the bottom
 	(r'^(.*)/$', 'pgweb.core.views.fallback'),
 )
-
diff --git a/pgweb/util/contexts.py b/pgweb/util/contexts.py
index 02ccc66..c3bf4a3 100644
--- a/pgweb/util/contexts.py
+++ b/pgweb/util/contexts.py
@@ -54,6 +54,7 @@ sitenav = {
 		{'title': 'International Sites','link':'/community/international/'},
 		{'title': 'Propaganda',         'link':'/community/propaganda/'},
 		{'title': 'Resources',          'link':'/community/resources/'},
+		{'title': 'Recognition Guidelines',       'link':'/community/recognition/'},
 	],
 	'developer': [
 		{'title': 'Developers',         'link':'/developer/'},
diff --git a/templates/events/archive.html b/templates/events/archive.html
index 10ac323..962b156 100644
--- a/templates/events/archive.html
+++ b/templates/events/archive.html
@@ -9,7 +9,7 @@
 <p>
 <i><b>Note:</b> The PostgreSQL Global Development Group does not endorse any
 events run by third parties. No guarantee of the quality of events is offered
-whatsoever.</i>
+whatsoever.  For information on <a href="/community/recognition/#conferences">Community Conference Recognition</a>, please review the guidelines <a href="/community/recognition/#conferences">here</a>.</i>
 </p>
 {%for event in eventblock.events %}
 <div><a href="/about/event/{{event.id}}/">{{event.title}}</a></div>
@@ -29,4 +29,3 @@ whatsoever.</i>
 <p><a href="/account/events/new/">Submit event</a></p>
 {%endif%}
 {%endblock%}
-
diff --git a/templates/pages/about/donate.html b/templates/pages/about/donate.html
index 7c761b5..9751681 100644
--- a/templates/pages/about/donate.html
+++ b/templates/pages/about/donate.html
@@ -11,23 +11,24 @@ PostgreSQL.</a>
 </p>
 
 <h3>PostgreSQL Europe (PgEU)</h3>
-<p>PostgreSQL Europe is a European region non profit focusing on the support of other PostgreSQL groups in Europe. 
+<p>PostgreSQL Europe is a European region non profit focusing on the support of other PostgreSQL groups in Europe.
 You may also use this link to donate to specific European groups such as those in Germany or the
-United Kingdom. <a href="http://www.PostgreSQL.eu/donate">Donate to PostgreSQL Europe.</a></p>
+United Kingdom. <a href="https://www.postgresql.eu/donate/">Donate to PostgreSQL Europe.</a></p>
 
 <h3>PostgreSQL United States (PgUS)</h3>
 <p>PostgreSQL United States is a non profit for PostgreSQL in the United States.
-It focuses on Education, User Groups, and Advocacy. <a href="http://www.PostgreSQL.us/donate">Donate to PostgreSQL United States.</a></p>
+It focuses on Education, User Groups, and Advocacy. <a href="https://postgresql.us/donate/">Donate to PostgreSQL United States.</a></p>
 
 <h3>Tax deductibility</h3>
 <p>Please be aware that PostgreSQL contributions may or may not be tax exempt. For more information please
 refer to the party you are donating to and your tax professional.</p>
 
+<h2>PostgreSQL Nonprofit Organisation (NPO) Recognition</h2>
+<p>For information about how <a href="/community/recognition/#npos">Recognised PostgreSQL Nonprofit Organizations (NPOs)</a> become recognised, please review the guidelines <a href="/community/recognition/#npos">here</a>.
+
 <h2>Questions</h2>
 <p>If you have any questions about donations please contact either the
-<a href="mailto:jdrake@PostgreSQL.org">PostgreSQL fund raising contact</a> or the
-respective organization your are donating to.
+<a href="mailto:funds-group@postgresql.org">PostgreSQL Funds Group</a> or the
+respective organization you are donating to.
 </p>
-
- 
 {%endblock%}
diff --git a/templates/pages/community/recognition.html b/templates/pages/community/recognition.html
new file mode 100644
index 0000000..b39686c
--- /dev/null
+++ b/templates/pages/community/recognition.html
@@ -0,0 +1,121 @@
+{%extends "base/page.html"%}
+{%block title%}Community Guidelines{%endblock%}
+{%block contents%}
+
+<h1>Community Recognition Guidelines</h1>
+
+<p>The PostgreSQL community is comprised of an international group of individuals and 3rd-party organisations who contribute to the PostgreSQL Development Group through various efforts.  In order to help recognise the efforts of everyone contributing to the PostgreSQL project, the <a href="/developer/core/">PostgreSQL Core Committee</a> has put together a set of guidelines to fairly recognise these contributions to the community.</p>
+
+<p>The following sections provide the guidelines for how various affiliates of the PostgreSQL community can qualify for official recognition by the PostgreSQL Development Group.</p>
+
+<p>
+  <ul>
+    <li>
+      <a href="#npos">Recognised PostgreSQL Nonprofit Organizations (NPOs)</a>
+    </li>
+    <li>
+      <a href="#conferences">Community Conference Recognition</a>
+    </li>
+  </ul>
+</p>
+
+<a name="npos" />
+<h1>Recognised PostgreSQL Nonprofit Organizations (NPOs)</h1>
+<p>Recognised PostgreSQL Nonprofit Organizations (NPOs) will be listed on the <a href="/">PostgreSQL Website</a> as such. To become recognised as an NPO, the organisation must self-certify that they meet the criteria below, aimed at ensuring they meet the standards of openness expected in the PostgreSQL Community.
+
+Use of the terms “must”, “must not”, “should” and “should not” in the criteria below should be interpreted per <a href="https://www.ietf.org/rfc/rfc2119.txt" target="_blank">RFC2119</a>.
+
+<h2>Assessment Criteria</h2>
+<h3>General</h3>
+
+<p>
+  <ul>
+    <li>A Code of Conduct should be adopted and apply to all members and directors.</li>
+    <li>The organisation must be registered as a Non Profit Organisation in the territory in which it operates.</li>
+    <li>No payments may be made to directors or members for their service with the exception of reimbursement of expenses incurred on the organisation's business, and sponsorship of conference attendance where deemed appropriate to help ensure the success of an event.</li>
+    <li>The organisation must work towards the betterment of the PostgreSQL Project and/or community. It may not participate in any activities which may bring the project into disrepute or otherwise work against the interests of the project or the community.</li>
+    <li>The <a href="/developer/core/">PostgreSQL Core Team</a> may recognise, not recognise, or rescind a previous recognition of any organisation without justification, regardless of whether or not the criteria above are met.</li>
+    <li>These criteria may be reviewed and potentially updated at any time.</li>
+  </ul>
+</p>
+
+<h3>Membership</h3>
+<p>
+  <ul>
+    <li>Membership must be open to anyone, limited only to the geographic area in which the NPO operates or a specific spoken language, if desired.</li>
+    <li>Membership must be at zero cost or a nominal cost (up to US $50 per year) to allow participation from any interested community members.</li>
+    <li>Corporate memberships may be allowed, at higher cost than individual membership if desired, provided the same membership terms are available to any company.</li>
+    <li>Membership must be renewed at least once every three years. "Lifetime" memberships must not be allowed.</li>
+  </ul>
+</p>
+
+<h3>Directors</h3>
+<p>
+  <ul>
+    <li>The board of directors must be elected by the membership, and all members including any corporate members must have an equal vote.</li>
+    <li>The board of directors should not consist of 50% or more directors working for the same company or group of companies under the same ultimate ownership or management, a situation which must be actively avoided as much as is possible. Should such a situation arise, for example, following the resignation of a director, an election should be held as soon as possible to restore the balance of the board.</li>
+    <li>Director terms must last no longer than three years without re-election. A limit on the number of terms served may be set. "Lifetime" directorships must not be allowed.</li>
+  </ul>
+</p>
+
+<h3>Vetting</h3>
+<p>
+  <ul>
+    <li>Voting for the board of directors must be done in a way that may be externally vetted.</li>
+    <li>Financial reports must be published at least annually for review by the membership.</li>
+    <li>The organisation must make its financial reports and voting processes and records available to the <a href="/developer/core/">PostgreSQL Core Team</a> or their nominated representative for review if requested.</li>
+  </ul>
+</p>
+
+<a name="conferences" />
+<h1>Community Conference Recognition</h1>
+<p>The Community Conference Recognition programme is a voluntary scheme under which submitters of events to the <a href="/about/events/">PostgreSQL Website listings</a> may self-assess their entry against the criteria below, and if they comply may market their event as a PostgreSQL Community event.</p>
+<p>Events that do not meet the criteria will still be welcomed (where appropriate under the <a href="https://wiki.postgresql.org/wiki/NewsEventsApproval#Approving_Events_and_Event-Related_News_.28excluding_training.29" target="_blank">general listing policies</a>) - for example, events organised by a single company which may still be valuable for people to attend, but are not necessarily what we would consider fully “open.”</p>
+<p>Use of the terms “must”, “must not”, “should” and “should not” in the criteria below should be interpreted per <a href="https://www.ietf.org/rfc/rfc2119.txt" target="_blank">RFC2119</a>.</p>
+
+<h2>Assessment Criteria</h2>
+<h3>General</h3>
+<p>
+  <ul>
+    <li>The event must be primarily focused on PostgreSQL and targeted at existing and/or potential developers and users of PostgreSQL.</li>
+    <li>The event must adopt and follow an appropriate Code of Conduct to ensure a safe and enjoyable environment for anyone who wishes to attend.</li>
+    <li>The <a href="/developer/core/">PostgreSQL Core Team</a> reserves the right to recognise, not recognise, or rescind a previous recognition for any event without justification.</li>
+    <li>Events are self-certified as complying with these criteria when <a href="/about/events/">listed on the PostgreSQL Website</a>. If an event is self-certified by the organisers and later found not to comply with the criteria, the <a href="/developer/core/">PostgreSQL Core Team</a> reserves the right to rescind the recognition of the event as a community event and, where appropriate, take further action up to a permanent ban on future event listings from the organisers.</li>
+    <li>These criteria may be reviewed and potentially updated at any time.</li>
+  </ul>
+</p>
+
+<h3>Talk selection</h3>
+<p>
+  <ul>
+    <li>The talk selection committee must be fully disclosed on the event website.</li>
+    <li>The talk selection committee must NOT consist of 50% or more members from a single company or group of companies under the same ultimate ownership or management.</li>
+    <li>All members of the talk committee must have an equal vote (except in case of a tie-breaker).</li>
+    <li>The Call For Papers must be open for anyone to submit.</li>
+    <li>Solicited or sponsor keynote presentations may bypass the normal talk selection process, but their topics must be approved by a majority of the talk committee.</li>
+    <li>The full talk selection process and voting system must be fully disclosed to all members of the talk committee.</li>
+    <li>Details of the talk selection process and how results were obtained must be provided to the <a href="/developer/core/">PostgreSQL Core Team</a> on request.</li>
+  </ul>
+</p>
+
+<h3>Sponsorship</h3>
+<p>
+  <ul>
+    <li>The sponsorship terms and/or prospectus must be published on the event website for public review.</li>
+    <li>All sponsors of the same level or type must be treated equally; they must be offered the same benefits at the same cost as all others.</li>
+    <li>Changes to the benefits offered should not be made following publication, and must not be made following the first executed sponsor agreement.</li>
+    <li>There should not be an exclusive top sponsorship level.</li>
+    <li>Sponsor benefits for all levels or types should include a listing on the event website. Ordering of the sponsor listing must be in randomised or predictable order with text stating how they are ordered, grouped by level or type of sponsorship.</li>
+    <li>Sponsorship opportunities should be open to all, offered on a first-come, first-served basis. Limits on the number of any given level or type of sponsorship may be set.</li>
+    <li>Only recognised sponsors may exhibit at the event, or be listed on the event website or other materials.</li>
+  </ul>
+</p>
+
+<h3>Financial</h3>
+<p>
+  <ul>
+    <li>The event organisers must provide copies of financial records to the <a href="/developer/core/">PostgreSQL Core Team</a> or their nominated representative for review if requested.</li>
+    <li>A statement on the event website must indicate where any profits from the event will go.</li>
+  </ul>
+</p>
+{%endblock%}
diff --git a/templates/pugs/index.html b/templates/pugs/index.html
index d2eaa9f..52439e9 100644
--- a/templates/pugs/index.html
+++ b/templates/pugs/index.html
@@ -9,19 +9,24 @@
 
 {% for pug_group in pug_list %}
   <h2>{{ pug_group.country }}</h2>
-  <ul>
-  {% for pug in pug_group.pugs %}
-    <li>
-      <strong>{{ pug.locale }}</strong>:
-      {{ pug.title }}
-      {% if pug.website_url %}
-        (<a href="{{ pug.website_url }}">website</a>)
-      {% endif %}
-      {% if pug.mailing_list_url %}
-        (<a href="{{ pug.mailing_list_url }}">mailing list</a>)
-      {% endif %}
-    </li>
-  {% endfor %}
-  </ul>
+  <p>
+    <ul>
+    {% for pug in pug_group.pugs %}
+      <li>
+        <strong>{{ pug.locale }}</strong>:
+        {{ pug.title }}
+        {% if pug.website_url %}
+          (<a href="{{ pug.website_url }}">website</a>)
+        {% endif %}
+        {% if pug.mailing_list_url %}
+          (<a href="{{ pug.mailing_list_url }}">mailing list</a>)
+        {% endif %}
+      </li>
+    {% endfor %}
+    </ul>
+  </p>
 {% endfor %}
+
+<h1>PostgreSQL Nonprofit Organisation (NPO) Recognition</h1>
+<p>For information about how <a href="/community/recognition/#npos">Recognised PostgreSQL Nonprofit Organizations (NPOs)</a> become recognised, please review the guidelines <a href="/community/recognition/#npos">here</a>.
 {%endblock%}
-- 
2.11.0 (Apple Git-81)

