[postgis-tickets] [SCM] postgis.net branch hugo updated. 13f3789d8bc70eaf591dc02c7fd733395e942cf3

git at osgeo.org git at osgeo.org
Mon Feb 28 23:48:29 PST 2022


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "postgis.net".

The branch, hugo has been updated
       via  13f3789d8bc70eaf591dc02c7fd733395e942cf3 (commit)
      from  44a2f8198787b5e2ca1e46ec24e68ac716b1dddc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 13f3789d8bc70eaf591dc02c7fd733395e942cf3
Author: Regina Obe <lr at pcorp.us>
Date:   Tue Mar 1 02:48:23 2022 -0500

    Add section for rfcs, copy over first 2, mind changes to event

diff --git a/config/_default/config.toml b/config/_default/config.toml
index b64129b..e9df625 100644
--- a/config/_default/config.toml
+++ b/config/_default/config.toml
@@ -15,4 +15,5 @@ event = "events"
   '/pages/' = '/:filename/'
   '/post/' = '/posts/:year/:month/:day/:filename/'
   '/events/' = '/events/:filename/'
+  '/rfcs/' = '/rfcs/:filename/'
   '/' = '/:filename/'
diff --git a/config/_default/menus/menu.en.toml b/config/_default/menus/menu.en.toml
index b9d1707..209c731 100644
--- a/config/_default/menus/menu.en.toml
+++ b/config/_default/menus/menu.en.toml
@@ -19,10 +19,15 @@
   url = "development/"
   weight = -107
 
+[[main]]
+  name = "RFCs"
+  url = "rfcs/"
+  weight = -106
+
 [[main]]
   name = "Support"
   url = "support/"
-  weight = -107
+  weight = -15
 
 # social menu links
 [[social]]
diff --git a/content/events/foss4g2019.md b/content/events/foss4g2019.md
index 871bf47..2c66aaf 100644
--- a/content/events/foss4g2019.md
+++ b/content/events/foss4g2019.md
@@ -1,6 +1,5 @@
 ---
 title: FOSS4G 2019
-series: events
 category: events
 date: "2019-08-26"
 eventDates: "2019 August 26-30"
diff --git a/content/rfcs/rfc01.md b/content/rfcs/rfc01.md
new file mode 100644
index 0000000..62b5ccd
--- /dev/null
+++ b/content/rfcs/rfc01.md
@@ -0,0 +1,146 @@
+---
+title: "RFC-1: Project Steering Committee"
+author: Chris Hodgson
+category: rfcs
+date: 2019-10-31
+lastmod: 2022-03-01
+draft: false
+status: Draft
+type: rfc
+---
+
+This document describes the functions of the PostGIS Project Steering Committee determines membership, and process used to carry out those functions.
+
+### Functions of the Project Steering Committee
+
+The two primary functions of the PSC are:
+
+ 1. To enforce control over the PostGIS codebase. This can be summarized as:
+    a. Enforce mechanisms to ensure quality control
+    b. Ensure compliance with all required legal measures
+ 2. Project Management and responsibility for the "public face" of PostGIS
+
+The PSC is expected to be able to speak and act on behalf of the PostGIS project.
+
+### Codebase Control
+
+#### Quality Control Mechanisms
+
+The quality control mechanisms, which are the responsibility of the PSC, currently include:
+
+ * Maintaining submitter guidelines and making all developers aware of them.
+ * Granting write access to the source code repository for new developers.
+ * Enforcing the submitter guidelines, with the ultimate sanction against non-compliance being removal of write access to the source code repository.
+
+In general, once write access has been granted, developers are allowed to make changes to the codebase as they see fit. For controversial or complicated changes consensus must be obtained on the developers' mailing list, or an RFC and vote may be required.
+
+Removal of write access to the source code repository is handled as a proposal to the committee as described below in the 'Decision Process' section.
+
+#### Compliance with Legal Measures
+
+Control over the codebase also extends to ensuring that it complies with all relevant legal requirements. This includes copyright and licensing amongst other issues. The Submitter guidelines document will include a section on copyright and licensing compliance.
+
+### Project Management
+
+The PSC will share responsibility and make decisions over issues related to the management of the overall direction of the PostGIS project and its external visibility. These include, but are not limited to:
+
+ * Release Cycles
+ * Project Infrastructure
+ * Website Maintenance
+ * Promotion and Public Relations
+ * Interaction with other Organizations such as OSGeo
+
+It is the responsibility of the PSC to ensure that issues critical to the future of the PostGIS project are adequately attended to. This may the formation and oversight of sub-committees for particular purposes.
+
+
+## Decision Process
+
+Written proposals are submitted to the the postgis-dev mailing list for discussion and voting. Proposals with significant technical detail should be written on the PostGIS wiki as an RFC, and an e-mail announcing the proposal, with a link to the RFC, should be sent to the postgis-dev mailing list. Proposals can be made by any interested party, not just PSC members.
+
+### Voting
+
+ * Proposals must be available for review for at least two business days before a decision can be made.
+ * Respondents may vote “+1” to indicate support for the proposal and a willingness to support implementation.
+ * Respondents may vote “-1” to veto a proposal, but must provide clear reasoning and alternate approaches to resolving the problem within the two days.
+ * A vote of -0 indicates mild disagreement, but has no effect. A 0 indicates no opinion. A +0 indicate mild support, but has no effect.
+ * Anyone may comment on proposals on the list, but only members of the Project Steering Committee’s votes will be counted.
+ * A proposal will be accepted if it receives +2 (including the author) and no vetoes (-1).
+ * If a proposal is vetoed, and it cannot be revised to satisfy all parties, then it can be resubmitted for an override vote in which a majority of all eligible voters indicating +1 is sufficient to pass it. Note that this is a majority of all committee members, not just those who actively vote. While this vote provides a way to override an obstructionist veto, ideally all members can come to a consensus.
+ * Upon completion of discussion and voting the author should announce whether they are proceeding (proposal accepted) or are withdrawing their proposal (vetoed).
+ * The Chair gets a vote.
+ * The Chair is responsible for keeping track of who is a member of the Project Steering Committee, on a page provided for this purpose on the wiki.
+ * Addition and removal of members from the committee, as well as selection of a Chair should be handled as a proposal to the committee.
+ * The Chair is the ultimate adjudicator in cases of disputes about voting or breakdown of the voting system
+
+### When is a Vote Required?
+
+ * Any change to committee membership (new members, removing inactive members)
+ * Changes to project infrastructure (e.g. tool, location or substantive configuration)
+ * Anything that could cause backward compatibility issues
+ * Adding substantial amounts of new code
+ * Changing inter-subsystem APIs, or objects
+ * Issues of procedure
+ * When releases should take place
+ * Anything dealing with relationships with external entities such as OSGeo
+ * Anything that might be controversial
+
+## Committee Membership
+
+The PSC is made up of individuals consisting of technical contributors (e.g. developers) and prominent members of the PostGIS user community. There is no set number of members for the PSC.
+
+### Adding Members
+
+Any member of the postgis-dev mailing list may nominate someone for committee membership at any time. Only existing PSC committee members may vote on new members. Nominees must receive a majority vote from existing members to be added to the PSC.
+
+Once people are voted into the PSC, the following tasks must be done
+
+* Add them to footer of http://postgis.net site
+* Add them to the git owner list of git.osgeo.org/gitea/postgis, github.com/postgis, gitlab.com/postgis
+* Add them to this document as a current member
+* Add them to the documentation, if they are already in member list, they should be moved up to psc list (current dev and latest stable - https://postgis.net/docs/postgis_introduction.html#psc, https://postgis.net/docs/manual-dev/postgis_introduction.html#psc
+* Add them to linkedin PostGIS project group
+* Add them to psc at postgis.net email distribution (this is in the PairDomains mail forwarding registration - so requires OSGeo sac member to do it)
+* Add them to LDAP postgis group
+* Add them to LDAP shell group and install their sshkey in their account on download.osgeo.org (needed so they can upload source tarballs and docs to download.osgeo.org/postgis) - again requires SAC member at moment to do
+
+### Stepping Down
+
+If for any reason a PSC member is not able to fully participate then they are free to step down. If a member is not active (e.g. no voting, no IRC or email participation) for a period of two months then the committee reserves the right to seek nominations to fill that position. Should that person become active again, they would require a nomination.
+
+
+## Membership Responsibilities
+
+### Guiding Development
+
+Members should take an active role guiding the development of new features they feel passionate about. Once a change request has been accepted and given a green light to proceed does not mean the members are free of their obligation. PSC members voting “+1” for a change request are expected to stay engaged and ensure the change is implemented and documented in a way that is most beneficial to users. Note that this applies not only to change requests that affect code, but also those that affect the web site, technical infrastructure, policies and standards.
+
+### IRC Meeting Attendance
+
+PSC members are expected to participate in pre-scheduled IRC development meetings. If known in advance that a member cannot attend a meeting, the member should let the meeting organizer know via e-mail.
+
+### Mailing List Participation
+
+PSC members are expected to be active on both the postgis-users and postgis-dev mailing lists, subject to open source mailing list etiquette. Non-developer members of the PSC are not expected to respond to coding level questions on the developer mailing list, however they are expected to provide their thoughts and opinions on user level requirements and compatibility issues when RFC discussions take place.
+
+
+## Composition of the PSC
+
+The PostGIS development team has been effectively working under a PSC for several years but the process was not documented. This RFC will be distributed to the postgis-users and postgis-dev mailing lists for comment, and all substantive comments will be addressed appropriately before this RFC is accepted using the voting process defined herein.
+
+The current Project Steering Committee members are:
+
+ * Raúl Marín Rodríguez
+ * Regina Obe
+ * Bborie Park
+ * Darafei Praliaskouski
+ * Paul Ramsey (Chair)
+ * Sandro Santilli
+
+The initial Project Steering Committee members were:
+
+ * Mark Cave-Ayland
+ * Chris Hodgson
+ * Kevin Neufeld
+ * Regina Obe
+ * Paul Ramsey (Chair)
+ * Sandro Santilli
\ No newline at end of file
diff --git a/content/rfcs/rfc02.md b/content/rfcs/rfc02.md
new file mode 100644
index 0000000..5610e75
--- /dev/null
+++ b/content/rfcs/rfc02.md
@@ -0,0 +1,206 @@
+---
+title: "RFC-2: Alignment Ideas"
+author: Paul Ramsey
+category: rfcs
+date: "2008-10-31"
+draft: false
+type: rfc
+---
+
+Getting into Alignment
+----------------------
+
+- Goal 1: Get our on-disk format aligned, so that we can read directly out of it after it has been brought into memory.
+- Goal 2: Sacrifice as little of the compactness of the current scheme as possible
+- Goal 3: Retain the ability to represent structures like GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(...))
+
+
+PG_LWGEOM/LWGEOM
+----------------
+
+Right now, PG_LWGEOM is just an LWGEOM with an extra 4-bytes of information tacked onto the front.  The "align" keyword in CREATE TYPE is guaranteed to align the complete PG structure, so the front of the PG_LWGEOM can be guaranteed to be on an alignment boundary.  That means that the front of the LWGEOM will be four-bytes *off* the boundary.
+
+The simplest fix is to make our LWGEOM/PG_LWGEOM be the same struct, and have LWGEOM carry around the PG_LWGEOM 'size' attribute, even though there is not internal use for it. It can be "application data", where most of the time the application is PostgreSQL.
+
+Since our main goal is the keep size-on-disk down, increasing our size-in-memory for non-PostgreSQL applications of liblwgeom seems like a reasonable trade-off.
+
+TYPE
+----
+
+The type char at the head of the serialized form is a problem. By expanding it to 2-bytes, and in combination with some 2-byte length fields further down, we can achieve alignment at the cost of just 1 extra byte. See below in SRID for an approach that combines type and srid to reduce the cost to 1 byte.
+
+BBOX
+----
+
+Because the bbox is 4 floats ( = 2 doubles ) wide, we can ignore it. The fact that it is optional is not a problem, adding or removing it does not change the alignment of anything.
+
+SRID
+----
+
+Right now the SRID is optional and 4 bytes.  That's a problem, because it knocks us in/out of alignment depending on its presence. I see two approaches:
+
+-- Make it smaller and mandatory.
+
+o Reduce it to 2 bytes, and expand the type byte to 2 bytes, and you have a 4-byte block that should be easy to add to another 4-byte block to get aligned.
+o Reduce it to 3 bytes, and use the spare bit in the type char for extra geometry types.
+
+Currently, none of the SRID values in the EPSG database exceed 32000, so they fit into an unsigned short (65536). With three bytes, SRID can be as large as 16M.  Users will have filled in their spatial_ref_sys tables with god-knows-what, however.
+
+-- Make it larger and keep it optional.
+
+Doubling SRID to 8-bytes makes it a no-pain optional field, like the bbox, but at 4-byte cost.  However, since most geometries in production *do* carry SRID information, this is a size hit that will likely apply to many users.
+
+LENGTHS
+-------
+
+Lengths (ordinate array lengths, ring counts, sub-object counts) are the hardest thing to deal with. They are 4-bytes long and they mostly come one at a time, which has the effect of misaligning the structure each and every time we hit one.
+
+- Basic fix, simply pad all the lengths out to 8 bytes.
+- More complex fix, move to a serialized form more like the shape file, which stores all the offsets in one block at the front, and then all the doubles in one uninterrupted set afterwards. That means the net lack of alignment for a given group of offsets is only ever four bytes at the most.
+
+
+FULLY PADDED EXAMPLES
+---------------------
+
+The simplest approach is to pad out everything as needed. Here is what things look like for some examples. The leanest features (2d points, two-vertex 2d lines) take the biggest hit, as expected. The balance between speed increase gained from aligned access versus lost to disk I/O is going to require some empirical testing, unfortunately.
+
+:: POINT2D ::
+
+<int> Pg VarSize
+<int> type
+<longlong> srid
+<double> X
+<double> Y
+
+Old size: 25 bytes
+New size: 32 bytes (28% larger)
+
+:: LINESTRING2D (w/ bbox and srid) ::
+
+<int> Pg VarSize
+<int> type
+<longlong> srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+
+Old size: 61 bytes
+New size: 72 bytes (18% larger)
+
+:: POLYGON2D (w/ bbox and srid) ::
+
+<int> Pg VarSize
+<int> type
+<longlong> srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> nrings
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+<double> X2
+<double> Y2
+<double> X3
+<double> Y3
+
+Old size: 97 bytes
+New size: 112 bytes (15% larger)
+
+
+:: MULTILINESTRING2D (w/ bbox and srid and just one part) ::
+
+Note that the bbox and srid are dropped from the subgeometry.
+
+<int> Pg VarSize
+<int> type
+<longlong> srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> nlines
+<int> Pg VarSize
+<int> type
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+
+Old size: 66 bytes
+New size: 88 bytes (33% larger)
+
+
+SCRUNCHED HEADER EXAMPLES
+-------------------------
+
+Keeping the "type" at 8 bits, and reducing "srid" to 24 bits, scrunches that metadata complex into a single 32-bit space. Because SRID is made mandatory, a bit is also freed up in "type" for more geometry types.
+
+:: POINT2D ::
+
+<int> Pg VarSize
+<int> type / srid
+<double> X
+<double> Y
+
+Old size: 25 bytes
+New size: 24 bytes (4% smaller)
+
+:: LINESTRING2D (w/ bbox and srid) ::
+
+<int> Pg VarSize
+<int> type / srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+
+Old size: 61 bytes
+New size: 64 bytes (5% larger)
+
+:: POLYGON2D (w/ bbox and srid) ::
+
+<int> Pg VarSize
+<int> type / srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> nrings
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+<double> X2
+<double> Y2
+<double> X3
+<double> Y3
+
+Old size: 97 bytes
+New size: 104 bytes (7% larger)
+
+:: MULTILINESTRING2D (w/ bbox and srid and just one part) ::
+
+Note that the bbox and srid are dropped from the subgeometry.
+
+<int> Pg VarSize
+<int> type / srid
+<float><float> bbox mins
+<float><float> bbox maxs
+<longlong> nlines
+<int> Pg VarSize
+<int> type / srid
+<longlong> npoints
+<double> X0
+<double> Y0
+<double> X1
+<double> Y1
+
+Old size: 66 bytes
+New size: 80 bytes (21% larger)

-----------------------------------------------------------------------

Summary of changes:
 config/_default/config.toml        |   1 +
 config/_default/menus/menu.en.toml |   7 +-
 content/events/foss4g2019.md       |   1 -
 content/rfcs/rfc01.md              | 146 ++++++++++++++++++++++++++
 content/rfcs/rfc02.md              | 206 +++++++++++++++++++++++++++++++++++++
 5 files changed, 359 insertions(+), 2 deletions(-)
 create mode 100644 content/rfcs/rfc01.md
 create mode 100644 content/rfcs/rfc02.md


hooks/post-receive
-- 
postgis.net


More information about the postgis-tickets mailing list