Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for 
change notification.

The "Berlin2013" page has been changed by CMichaelPilato:
https://wiki.apache.org/subversion/Berlin2013?action=diff&rev1=13&rev2=14

    * Tracking and non-tracking links
  
  == Discussion Notes ==
+ === FS-NG ===
+ brane presented his ideas for a revamped filesystem logical implementation 
that theoretically solves many of our common-most filesystem woes:
+ 
   * [[attachment:metadata-tng.pdf|Metadata indexing and server-side links]]
  
+ 
+ 
+ === Release Cycles ===
+ In general, attendees expressed interest in shorter, time-based release 
cycles.  The sole reason stated for feature-driven releases was for the purpose 
of always showing demonstrable progress on our users' needs (for example, merge 
tracking), but we generally agreed that this is primarily a communications 
problem.
+ 
+ Much discussion occurred around the mechanics of branch-based feature 
development, the possible introduction of APIs marked “experimental”, and the 
ever-present necessity of getting eyeballs on features early while still 
wishing to keep the trunk trending toward relative stability as the end of the 
time-based release cycle approaches.
+ 
+ The following is the joint recommendation of the hackathon attendees:
+ 
+ In the interest of serving our user base, we are proposing that each release 
live on the trunk for at most nine months.  The first six months of this period 
are open to new features.  In the first three months of the new feature period, 
large, destabilizing features will be accepted (under the provision that the 
feature itself is arguably “complete”).  In the second three months, we will 
accept smaller new features.  But at the end of the six months, the trunk is 
closed to new features and stabilization for the release begins.  We will allow 
up to three months for stabilization on the trunk, cutting the release 
stabilization branch at the end of the period (or beforehand, if we agree that 
the codebase is ready for RC).  After the point, the release branch is managed 
the same as it is today, with an RC at the earliest reasonable moment and the 
same soak requirements and such that we've always had.
+ 
+ Some open questions remain, namely:
+ 
+ What affect should this have on our support of our release lines?  There was 
some support for the idea of moving to time-based support cycles rather than 
our current approach of maintaining the most recent major release only.  
Shorter release cycles should lead to (smaller-impact) releases more often, but 
adopters will realistically not absorb every single Subversion release.  It 
might be beneficial to say that we'll continue to maintain 1.X releases for a 
period of, say, two years from their release date.  (We can, of course, choose 
to patch even older releases for security or other high-impact fixes, of course 
– it's only our minimal promises that we're talking about here.)
+ 
+ Should we require vote-based approval on the reintegration of feature 
branches?  At least some of the hackathon attendees favor this (with the 
typical “three +1's and no vetos”, specifically).  This both helps to solve the 
problem of code bombs (that is, minimizes the '''cognitive''' destabilization) 
and also encourages feature composers to do a better job of vetting their 
designs in advance so as to a) ignite interest and attention and b) reduce the 
change of widespread disapproval of the feature or the approach taken.
+ 
+ === FSFSv7 Branch Reintegration ===
+ stefan2 expressed that while he is confident that FSFSv7 is solid code, it's 
also quite critical and could easily take a year or more to fully stabilize.  
Attendees felt that perhaps it would be best to introduce FSFSv7 as a new, 
experimental fs-type.  Stefan said he had been thinking about the same thing 
himself, even considering a different name for his implementation.  Some 
discussion was had around how to manage the common code found in the two 
implementations.  Stefan will explore the feasibility of a storage abstraction 
layer here, but others seemed fine with the code duplication, if any because it 
would provide an opportunity to purge the code specific to older FSFS formats 
from the new fs-type.
+ 
+ === Shared repository cache ===
+ Tentative agreement with the idea (with admission that stefan2 has clearly 
thought more about this than anyone else).  Concerns here were around security 
of the shared memory. Discussion deferred.
+ 
+ === Parameter checking to avoid NULL values causing security bugs? ===
+ Discussion began around static analysis tools and runtime checking.  A 
sub-thread began around the possibility of ditching the mod_dav + mod_dav_svn 
pairing, and introduce a new module that covers the combined domains of both 
(but which is under the control of this project alone).  As a first step, we 
need to protect the surfaces exposed to the network.  Approval was expressed 
for breser's specific ideas around tooling (based on build.conf) to drive clang 
in the most beneficial way possible.
+ 
+ === Pipelining the client ===
+ stefan2 was polling the attendees regarding the feasibility of introducing 
multi-threaded handling and pipelining into the Subversion client layer.  While 
today Subversion is largely I/O-bound, the concern is that at some point, 
Subversion will instead be CPU-found.  How will we progress past that point?
+ 

Reply via email to