Proposal: Change to library proposal process
midfield at gmail.com
Wed Jan 5 18:01:17 CET 2011
i'm butting in here when i really have no right, as i am just a user of libraries, but it might be useful to compare the various proposals with other open source projects out there, just for perspective.
in particular, i've had the pleasure of lurking on the postgresql developer's mailing list for a while now, and the level of quality control of their code base is impressive, if rather intimidating. new ideas, features, and patches are shot down more often than not, rather loudly at times, and even experienced developers usually get their patches rejected or returned for revision, for length, understandability, and other stylistic reasons. i'm not sure if i have seen a single feature or patch come through without some revision, requested by or implemented by a reviewer. patches are reviewed by a committee, each patch is given a round-robin of randomly selected reviewers; development as a whole stops periodically in CommitFests and someone is assigned to manage that process, push patches through the reviewing process, et cetera.
admittedly, postgresql is a much different system than libraries -- a very mature, monolithic and complicated program where it is very easy to introduce subtle bugs, and where bugs have a pretty high cost. and their process is by no means perfect -- it took them years to get a standard replication system in place. but as a postgres user, i really appreciate their quality control, especially having witnessed replication disasters in other free databases. it should be said that they seem to be able to regularly push out releases with lots of new features, and they do seem to get a steady trickle of new people who are interested in tackling bugs and new features.
as a haskell lover and a user of libraries, i also appreciate the efforts to keep libraries to a higher standard. if it means a little bit of bike-shedding and bureaucracy, that seems totally worth it.
of course, i'm talking past my pay grade here so i could be completely off-base.
On Jan 5, 2011, at 5:14 AM, Ian Lynagh wrote:
> On Wed, Jan 05, 2011 at 01:50:26PM +0100, Johan Tibell wrote:
>> On Wed, Jan 5, 2011 at 1:43 PM, Stephen Tetley <stephen.tetley at gmail.com> wrote:
>>> Many of the changes proposed on Libraries are controversial, I haven't
>>> counted but I expect uncontroversial (and accepted) changes are the
>>> minority rather than the majority of proposals (successful recent
>>> changes I can see from my inbox seem to be adding applicative
>>> instances for ST where they were obviously missing or fleshing out
>>> some of the Control.Concurrent modules).
>> Perhaps that's because no one would go through the trouble to propose
>> smaller patches as the work reward ratio makes it not worth it?
> The implication being that the reason no-one is submitting patches for
> these widely used libraries is the process?
> Taking the first few packages from:
> As I understand it, Ganesh recently grudgingly became maintainer, as
> no-one else stepped up. 2 or 3 bug fixes in the last year. Diff:
> 3 small tweaks, and the Cabal file altered to cope with base 4, in
> the last 15 months. Diff:
> Not even an upload for the last 18 months.
> Not even an upload for the last 15 months.
> None of those use the library process. Now here's the list of patches
> for the unix package in the last year, which does use the process:
> Sat Jan 1 20:11:50 GMT 2011 Ian Lynagh <igloo at earth.li>
> * Proper autoconf test for sem_close's library; fixes trac #4523
> Fri Dec 10 09:46:45 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * run forkprocess01 with +RTS -ls too, to test #4512
> Ignore-this: 446a0f0b6057c58fc4a2f9d69fae33a1
> Wed Dec 8 18:38:49 GMT 2010 Dmitry Astapov <dastapov at gmail.com>
> * Clarify behavior of "awaitSignal Nothing", export SignalSet that includes all signals reserved by RTS (#4504)
> Ignore-this: 646a2af7fbed41ee3c72a624c6032db9
> Tue Nov 16 17:25:36 GMT 2010 simonpj at microsoft.com
> * Remove unnecessary fromIntegral calls
> Ignore-this: e77072c759445a64892738618ff03ea8
> Fri Sep 17 16:01:14 BST 2010 Ian Lynagh <igloo at earth.li>
> * Bump version to 188.8.131.52
> Thu Sep 9 13:54:59 BST 2010 Ross Paterson <ross at soi.city.ac.uk>
> * avoid Foreign.unsafePerformIO
> Ignore-this: 890c8460db98d1ec18168d70291be9f1
> Mon May 17 19:19:45 BST 2010 Eric Mertens <emertens at galois.com>
> * Add bindings for setting effective user-id and group-id
> Ignore-this: 49f72b40befb133cdbf63742a389dad5
> Having the ability to set the effective user-id and group-id
> enables the application to switch between the real user-id
> and set-user-id multiple times.
> Wed Jun 2 09:25:09 BST 2010 Simon Marlow <marlowsd at gmail.com>
> * Allow base-4.3
> Ignore-this: 5d6dea210a68d3f290f69ee1feb1488a
> Tue May 18 09:44:22 BST 2010 Simon Marlow <marlowsd at gmail.com>
> * add a comment about 3816 failing due to Samba
> Ignore-this: daf0c2087064925e67b1a5a09ce7632c
> Sun Apr 18 18:26:19 BST 2010 Matthias Kilian <kili at outback.escape.de>
> * Provide a dummy input file for queryfdoption01
> Ignore-this: 4d7bfb388193ff6090f4a5fcfe798bbe
> Fri Apr 30 09:28:41 BST 2010 Simon Marlow <marlowsd at gmail.com>
> * mention that forkProcess is not supported with +RTS -Nn where n > 1
> Ignore-this: c7bc7e8262bc72244061a9aba2dd468d
> Mon Mar 29 12:27:13 BST 2010 Simon Marlow <marlowsd at gmail.com>
> * make getAllGroupEntries work when called again; fixes #3816
> Ignore-this: 8b5e3c1d8648d556b9f032a198a8475d
> Mon Mar 29 12:26:46 BST 2010 Simon Marlow <marlowsd at gmail.com>
> * add test for #3816
> Ignore-this: 4d07e5956a5bc6dfb7be59473ccf6b98
> Mon Mar 22 13:16:15 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * fix warnings
> Ignore-this: 9fd97646b47d5d8d2957c0927885041e
> Fri Mar 19 21:08:02 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * handleToFd: close both sides of a DuplexHandle (#3914)
> Ignore-this: d1c17df79644a7ad140099d0c1474c81
> Wed Jan 27 11:46:00 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * check for EINTR in openFd
> Ignore-this: 28859b6a74c6d47d5c92db0eb688fa4c
> Wed Jan 27 11:43:29 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * accept --with-cc to set the path to gcc (#2966)
> Ignore-this: 127eccfccbfc849ce05aed5904d16b75
> Tue Jan 19 00:34:37 GMT 2010 gwern0 at gmail.com
> * System.Posix.Temp: rm whitespace
> Ignore-this: 33b2bcf99f7b6b21461ea0aee7c12ea8
> Tue Jan 19 00:30:22 GMT 2010 gwern0 at gmail.com
> * System.Posix.Temp: pad input filenames with 6 Xs
> Ignore-this: 1e5a45074881f75d58e3a0f02525b264
> If the argument doesn't terminate in capital Xs, the C mkstemp will simply bomb out
> with zero warning. This was not documented.
> By arbitrarily sticking a bunch of Xes at the end of all arguments, we guarantee that
> this exception will not be thrown, the type signature will not change, and no existing
> code can break (since if it was manually avoiding the exception by adding "XXX" itself,
> the temp files will now be simply 3 random characters longer, nothing worse).
> Tue Jan 19 00:27:55 GMT 2010 gwern0 at gmail.com
> * System.Posix.Temp: improve haddocks for mkstemp to explain what that returned String actually is
> Ignore-this: 5f5ec7871a687a024cda18b1b0d1e044
> Wed Jan 13 11:38:03 GMT 2010 Simon Marlow <marlowsd at gmail.com>
> * fix base dependency: should be >= 4.2 (#3780), and bump verison to 184.108.40.206
> Ignore-this: 121b61a9ea1ce1dcbe499285d1910d25
> base's list would be more than 10 times as long.
> Libraries mailing list
> Libraries at haskell.org
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4263 bytes
Desc: not available
More information about the Libraries