72177Vim development process is utterly broken (Was: Re: [patch] test98 stops when using gvim)
- Jul 14, 2013On 14-Jul-2013 Bram Moolenaar <Bram@...> wrote:
>Ken: sorry for including you here, even thought only a tiny bit is
> Ken Takata wrote:
> > When I run the test 98 with gvim, it stops at the last line of test98a.in.
> > > call feedkeys(":setl scb\n\<C-w>\<C-w>", 't')
> > It seems that feedkeys() works different on CUI and GUI.
> > I don't know why the difference occurs, but using feedkeys()
> > is not necessary for this test. I think using "setl scb" and
> > "wincmd w" is enough.
> > Please check the attached patch.
> Thanks. I also have no clue why feedkeys() was used here.
a reply for you.
I have been thinking about writing this email for at least a year now.
This patch is the straw that breaks the camel's back, so here it comes.
feedkeys() is essential there.
Try re-running the test without the fix that was introduced along with
the test. Magic: the test succeeds even without the fix!
It took 9 days for the fix to be accepted for inclusion because you,
Bram, asked for a working test (one that would fail without the fix).
Now it takes 40 minutes (!!!) to have a patch included that breaks the
test and makes all my effort (I wrote how I needed to use gdb to come up
with a method that would reproduce the problem in a script) go to
I know, my bad for not putting in a comment, but the patches are
micromanaged to the point that the name of the file test96extra.in gets
renamed to test98a.in yet the very point of tests gets lost after only
4 days (!!!) since inclusion! That's less time than it took me to
prepare the bloody test!
Bram, don't get offended, I actually do hope that one day I will become as
competent a programmer as you are, but still I think Vim's development
process is severely broken:
- the single point of failure (Bram),
- how the decision what gets included is made with the community totally
- we don't have a development branch of Vim because we want stability.
Therefore the unaware users are without a single warning presented
with 7.3.970 which breaks half of syntax scripts, makes the rest 10
times slower, breaks regular expressions and introduces random
crashes. Only after a number of patches and becoming stable is the
only branch renamed to 7.4 alpha!
- we manage patches as files (as opposed to the distributed VCS way:
pull requests) because it allegedly "just works". Yet there was
a spell of a few weeks where every single week there was at least one
patch which was either applied twice, applied only partly or applied
to a wrong part of code. How can it "just work" if it so obviously
All this means that a lot of effort of developers goes to a waste:
- because Bram can't (how could he possibly? He's a man: he needs to
eat, to sleep and to rest) evaluate all the possible patches and they
are added to the mythical todo.txt which means their changes of
getting included drop to almost 0,
- even though a patch got to todo.txt (and therefore will not be
included) people still work on it because they believe it will,
- people prepare a patch to fix something, a fix is published but the
solution has been totally rewritten; not a single word of explanation
- people prepare a patch, it gets included but for some reason the bug
doesn't go away. I recently had to re-debug Vim after my fix got
included only to discover that a line from my patch was not included.
The funny thing was that I did include a test and this single stable
branch of Vim was published with a failing test.
For some reason how people waste their time is OK because they volunteer
to waste their time, they are the guilty ones. But it also means that
Bram's time gets wasted:
- he needs to update todo.txt,
- he won't explain what was wrong with a patch so people will submit
those incorrect patches which Bram will have to rewrite,
- he needs to fix the problems with the mis-applied patches.
I used the pronoun "we" to mean "community" but the sorry state of Vim
development community is that IT DOES NOT EXIST. "Community" implies
a N-to-M relation between its members where N,M > 1. Here it's
a one-to-many relation between Bram and multiple patch submitters
because Bram has to evaluate every single patch. This means there's very
little incentive to examine each other's work (I will check your patch,
this way you will be more likely to check mine). That's why these
I-would-appreciate-it-if-some-people-tried-it-out emails from Bram get
so little response (and because people know that their work might go to
a waste). People work to scratch their own itches; there's no point in
scratching the itches of others.
I could write more but I think there's no point – this already got quite
long. I believe these things drive people away from Vim development or
make them one-time contributors. There used to be a nice small community
of contributors to vim-extended. We produced a number of stable, well
tested (we – as in more than an I – used them on daily basis!) features,
most of which got abandoned (because there was no change of them going
into mainline Vim. Instead the (still buggy) conceal feature got
included because someone convinced Bram it would be nice to be able turn
a text editor into e.g. a web browser. Some bugs simply got renamed as
features and everyone's happy.
I don't know why I'm writing this. I don't hope this email will change
anything. I *AM SORRY* and perhaps I believe that sharing will somehow
help me. I am a contributor of around 50-100 patches to Vim, I've been
here for 5 years and I don't feel I'm being taken seriously. I know
there are many others that will come and replace me, people whose work
could replace what I have done (I have seen one of the issues in
todo.txt solved 3 times before it got removed from todo.txt) but this
doesn't make it any less wrong. I don't deserve it. And I don't deserve
to have this email ignored.
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
For more options, visit https://groups.google.com/groups/opt_out.
- Next post in topic >>