[slime-devel] Re: fork ?
Helmut Eller
heller at common-lisp.net
Sat Feb 3 21:21:16 UTC 2007
* Attila Lendvai [2007-02-03 12:34+0100] writes:
>> 2. If you really, really can't abide by point 1 then you should create
>> a proper fork. This means choosing a new name and creating a new
>> project with its own mailing list. On your project website you
>> should also try and justify the fork and the inevitable drain on
>> developer resources.
>
> first of all, we could have a long discussion about what exactly a
> fork is and how people think about it. i don't want to do that, so i
> just summarize my opinion that it's not a bad thing at all. slime is a
> tool we use every day, therefore it's natural that there can't be
> consensus about it - everyone will have needs that others will
> dislike. darcs (or git or your favourite distributed source control
> system) helps a great deal in managing branches, and in fact each
> checked out darcs repo instance is a branch. my suggestion to use
> darcs was driven exactly by this, btw.
>
> then it slowly turned out that i don't agree with many unwritten
> rules about elisp/emacs coding. for example at the beginning i
> wasn't aware that the lack of use of defun* with keywords as opposed
> to all those many &optionals are not due to historycal reasons -
> which was my obvious guess. later these things caused many small
> confrontations that i wasn't at all aware of, until Helmut finally
> expressed his dislike of them in a quite short mail.
>
> by now looking at his cleanup checkins on my changes i understood it
> and to be honest i'd be very disappointed if mails like that could
> change my opinion about technical things in which we don't agree. but
> there's nothing unusual in that, sometimes people don't agree. without
> that nothing would ever change in the world, while with that arguments
> are inevitable.
>
> i honestly tought that the things i was changing (in that relatively
> short period i was committing to the cvs) are generally useful for
> everyone. i always missed slime-mode-map in the minibuffer, now it's
> even gone from the official. i also missed the dwim inspection or the
> 10-fold (or was it even more?) speedup of the fuzzy completion, just
> to mention a few.
My recollection of the events is this:
1. Attila sends some patches to mailing list and requests, almost with
force, commit rights.
2. Marco commits some patches introducing some bugs along the way.
One bug breaks the debugger.
3. On the mailing list, I point out that the patch contained XEmacs
specific code. Attila insists that the code in question isn't
XEmacs specific. I revert the patch.
4. Some other bug breaks fuzzy completion and Brain Downing, the
original author of the fuzzy completion, doesn't seem to like the
new features.
5. I give Attila commit rights, so that he can fix the bugs.
6. Attila fixes bugs and suggests Darcs. I say: let's try it. Some
people raise concerns. Attila stops pushing Darcs because "he
can't read documentation for other people". I request that Attila
should remove the Darcs repo from Slime's webspace and Attila moves
the repo to cl-wdim.
7. Attila commits lots of changes. Apparently he has nothing else to
do than to improve Slime. At a superficial look at the changes I
see some good ideas, some bugs, stuff that I don't like, and a lot
of disgusting more-than-80-columns code.
8. I request that Attila should write ChangeLog entries and read the
HACKING file.
9. Attila reads the HACKING file. He adds a code snippet -- without
explanation, but which doesn't seem to do anything in Emacs -- to
the HACKING file. He starts to write ChangeLog entries, but not on
a per function basis as described in HACKING. He uses the commit
messages of his Dars repo instead.
10. Attila commits more stuff. Among other things he changes
functions labeled with "interface", completly rewrites the
with-output-to-temp-buffer code, changes some functions to defun*
while adding losts of new arguments, introduces
set-keymap-parents. He changes the default completion function to
fuzzy.
11. I think by myself: "This arrogant bloke is destroying all the
beauty that Slime ever had. Can't he ask before he makes essential
changes." Consider leaving the project. Write "Stupid XEmacs"
message.
12. Attila, instead of fixing his changes, announces that he longer
commits his stuff in a message with subject line "forked". He
writes "those who concentrate on rigid rules [...] can always
stick to the old repo."
13. I think: "Well, at least he got the message. His fork will not
have much success anyway." Try to clean up the mess that he left
behind while keeping the best ideas (not successfully for the repl
history code, but at least the code is now a lot simpler).
14. To my surprise, Attila commits some patches from the mailing list
to the "old repo". He sends some super-softly formulated messages
to the list. I try to ignore him: no tolerance for forks.
15. I commit some changes which are incompatible with his fork.
Attila sends the "cutting up slime.el" message. As usual, Gary
King loves Attila's ideas. I make it clear that I will leave the
project if Attila stays.
16. Attila replies that he is surprised and that he only had the best
intentions for the community.
17. I affirm that I don't want to work with him. Attila doesn't
reply. I assume he left the project.
> to get back to "forking" (which is in fact only a darcs repo caching
> my (our) changes that we can easily share with my collegues), i
> suggest to forget about it completly. that thing was created to rise
> my own _efficiency_ [yeah, i'm selfish, sorry], and then i popped it
> up so that maybe people will like the idea and then it can be for
> eveyone's good [or not?], but it turned out that it's not the case.
> from my point of view and needs, creating a new project with a new
> name and a new mailing list is the worst idea, so let's just forget
> that darcs repo ever existed!
>
> in my view slime is just a tool that i'm shaping the way it fits my
> hands the best and therefore it may not fit the hands of others that
> well. and i honestly think that it's normal and is part of the way our
> world works. if you read back my mails about moving to darcs, my most
> important reason was that using darcs people can very easily manage to
> keep some of their changes local, while the generally acceptable
> changes can be put in the official.
Slime may just be a tool, but forcing your ideas on other people might
not be the best way to win friends.
>
>> Note that forking due to trivialities is highly unlikely to attract
>> other developers.
>
> which makes it obvious how different we think about "branches" or
> "forks" (or iow, distributed repo instances).
>
>> So I think Helmut's position is justified and not an overreaction
>> (although an ultimatum is probably not the most effective course of
>> action). My advice to Attila would be firstly to apologize, then
>> either retract the fork or commit to it, the current situation cannot
>> continue.
>
> you can pretty much have an opinion about me and the way i was acting,
> but i humbly note that i don't really find it grounded when
> suggestions are given about projects by people not being contributors
> of it. (this may not be the case here, in which case i'm sorry and
> take it back)
Giving to much weight to the opinions of new contributors might be
unreasonable too. Many people consider making suggestions a form of
contribution.
> but i already apolagized for any/all possible misunderstandings about
> my comment on Helmut's changes. but to be sure i re-phrase again that
> i don't have bad feelings behind this "fork", i didn't intend to make
> Helmut (or anybody else) mad with my changes in slime's cvs and i'm
> sorry if some of my comments were not formulated in the least
> confrontational way and if they left room for misunderstandings.
I still think I understood most of your messages the way you intended.
And I say it again: I don't want to work with you.
> but as i already expressed above, i won't apolagize for thinking
> different about some thechnical terms and that i have different needs
> from a tool than some of the others. this is just plain natural for
> me, even when i'm "on the other side" of the argument if there is such
> thing at all.
Good luck with this strategy.
> i tought that my previous mail was the last one to this list, because
> i find it quite pointless to waste anyone's time with matters like
> this, and it seemed to me that the situation was clearly stated. but
> it seems like some things about the status of that other repo needed
> to be cleared up.
>
> but what other repo are we talking about, anyway? :)
>
> sorry for wasting your time,
I assume this was your last message on this list.
Helmut.
More information about the slime-devel
mailing list