Re: OT: Roland Puntaier / "getmail6" drama
Charles Cazabon <[email protected]> Wed, 27 Oct 2021 16:34:44 -0600
| Newsgroups | gmane.mail.getmail.user |
|---|---|
| Message-ID | <[email protected]> |
I sometimes feel like I will have written an entire book on these issues,
which I find odd, because my entire position on this whole mess can be summed
up in two very simple points:
1) I am happy to accept contributions towards getmail from anyone, even
those I vehemently dislike, providing those contributions are in a format
that is inherently reviewable, to avoid introducing bugs into getmail.
2) If someone has changes for getmail and for whatever reason does not or
cannot contribute a la (1), then they are free to fork getmail - I
specifically chose the GPLv2 for a reason. My sole ask is that if you
fork my project, you pick a new name for your project to avoid confusion
and unnecessary support burdens on unrelated parties. This is not an
unusual request; it is considered common courtesy in the Free Software
community.
Richard Unger <[email protected]> wrote:
> >
> > You present in this venue as a serious person with no evident agendas
> > beyond the health of your software. Many of our younger folk quickly
> > become frightened when a serious person appears.
>
> I’m sorry, but as a long time “lurker” on this list, I have to chime in at
> this point to strongly disagree with this statement. If you examine the
> past postings on this list, Charles has been consistently rude to the people
> posting here (more charitable people might call it grumpy). It’s the typical
> attitude of a developer who thinks he is smarter than everyone else, I’ve
> seen it time and time again. And even if you are smarter than everyone else,
> its no excuse to be rude to people.
You do not know me. As someone - perhaps Mark Twain? - said, "I am
continually amazed to find myself described as ill-tempered by those I have
never set eyes on".
If you believe that you, despite never having seen me, much less met me or
talked to me, can interpret my emotional state from a few lines of ASCII
text, then you are mistaken and presumptuous.
I'm not grumpy. Do I use captial letters, or *bold*, or /italic/ text to
emphasize points? Sure, especially when I believe that the other party has
ignored or deliberately misconstrued an important part of my argument, or
when they have attributed their own mistaken beliefs about me to be my
positions on whatever subject.
Do I use what some people would consider "strong language"? Sure, for
emphasis and to illustrate a point. We're all adults, and every 8-year-old on
the planet has heard the word "fuck" before. Outside some of the more
infantilizing religious traditions, we have thankfully left behind the bizarre
Victorian notion that merely hearing such words could corrupt our "immortal
soul". If you don't believe me, go look it up -- before the Victorians, there
were pretty much no taboos regarding speech outside of supposed blasphemy.
So sometimes I use strong language, and you interpret that as me being grumpy.
You're wrong, but you can think whatever you like. If you tell me on my
mailing list that I am grumpy, I will tell you that you do not know me, and
you certainly have no insight into my emotional state.
When my langauge is strong, or I deliberately express frustration or whatever,
it's virtually always to achieve a specific aim or make a particular point,
and it is defintely *not* my default, starting position.
I tend to move to strong phrasing only after someone has persistently refused
to listen to reason, take well-intentioned advice, understand lengthy answers
I have painstakingly provided, discarded the results of significant time I
have invested in trying to help them, or investigate resources I have pointed
out.
On the few occasions that I begin at "vehement disagreement", it's pretty much
only when dealing with trolls, with whom polite engagement is generally
infeasible.
> As such, I think I understand Roland’s frustration at communicating with
> Charles (although of course that’s also not an excuse for insults).
I would like to clear up the unspoken, and incorrect, assumption which lies
behind that comment.
There *was* no frustration at communicating with me. His first contact with
me stated (from memory) he wanted to send me one big diff (*) from getmail to
what he had running under Python 3. I explained that I would happily accept
the contributions, but that they needed to be in a form that could be checked
for correctness and compatibility -- reviewable in other words.
I heard nothing more from him until I started getting list posts and private
emails from people having bizarro problems with getmail that upon (sometimes
significant) investigation turned out to be problems Roland introduced in
"getmail6", and which many people were unknowingly "upgraded" to because he
decided to name-squat and get "getmail6" to replace getmail for anyone who
upgraded Debian or whatever other distribution.
He still didn't contact me then. I contacted him and asked him to change the
name of his fork, and that's when he started telling me that I needed to
change how I run my project, and how he was perfectly entitled to use my
project's name without my permission or even against my explicit wishes.
I have expressed frustration and disappointment with Roland's continuing
refusal to even address the issue of renaming his fork of my project. If you
interpret that as me being grumpy -- well, fill your boots.
> Roland is perfectly right to criticize Charles development methods, for a
> popular open source project messing around with patches sent by email is far
> from current best practices
I categorically deny that. Public forge workflows are a different method of
development, and that's fine. Some people are under the mistaken belief that
I disapprove of these methods - I don't, and have never said so. I use them
myself for other things.
I have had more-or-less fruitful discsussions with others about Github et al
over the years. When someone has approached and said, "Hey, have you
considered switching development Github? I think it would work better", then
I have said that yes, I have considered it, and it isn't the right choice for
me at this time because X, Y, Z. Perfectly polite question-and-answer, in
reasoned fashion.
But some others - perhaps including you - don't do that. You walk in and
declare loudly that I must change my development method to suit your whims,
because you obviously know better than me, and my way is old and boring and
stupid, and the whole world knows you don't do it that way any more.
I don't get the attitude. The email-and-patch workflow self-evidently works.
It's what getmail currently uses. It is not difficult for some random person
to send me a one-liner drive-by bugfix patch by email, and has happened many
times over the yeras. It may not be what some younger developers are used to,
because they grew up with Github or whatever. That's fine. They can run
their projects from Github. If I use their project, and I fix a bug or add a
feature, I will open a PR and send it to them -- I have done this numerous
times! I have nothing against others using the forge workflows, despite what
you may have mistakenly assumed about me.
The email-and-patch workflow is *not* inferior, and continues to work well.
In some respects it is better and easier than the forge workflows, and in
others it has higher friction or other drawbacks. All methods have tradeoffs.
Anyone who says "you can't use that workflow, it's old and broken"... well,
I'll disagree with the entire idea that you have the right to decide how I
maintain my project.
> and creates much unnecessary work for contributors.
I disagree here, too. As others have noted, git has built-in support for this
workflow. And in case anyone has forgotten, git was originally designed and
implemented by Linus Torvalds specifically to support his email-based
workflow.
No bullshit.
There's also the, perhaps minor, point that not only does getmail predate
Github, it predates git itself by seven years or so, and it predates
BitKeeper, which was Linus' inspiration and model for git, by more than two
years. Public forges did not exist when getmail was first released as Free
Software.
> If you want to provide open source software to the community, there is
> really no excuse these days not to be on GitHub/Bitbucket/Sourceforge etc…
Perhaps you have not spent much time thinking through all of the issues
surrounding the use of a proprietary system.
https://www.gnu.org/software/repo-criteria-evaluation.en.html
There are *lots* of reasons people choose not to use Github, Gitlab, etc.
You're just handwaving them away and declaring they don't matter, if you've
considered them at all.
Maybe those reasons don't matter *to you*. That's fine; do what you want with
your projects. To other people, those reasons *do* matter, and we are free to
develop our projects using the methods we consider best.
I really don't understand the mentality that lets someone walk up to a
stranger and start ordering them to do their job or their hobby in a different
fashion that would please the interloper more than the way they're currently
doing it.
I mean, what's the correct response? Besides the obvious "go fuck yourself
with a chainsaw"? I'm not being facetious - I honestly don't know how these
people expect that interaction to go after they finish issuing unsolicited
orders to a stranger regarding a project they created and maintain for the
benefit of the community, for free.
> if you’ve been doing things the same way in IT for 23 years, its a sure sign
> you are no longer doing it right.
In other words, "You're old and stupid, haha, no one should listen to you".
Again, mere ad hominem, and it doesn't lend credence to you having any actual
practical ideas to contribute.
I've got lots of experience in software & systems engineering. I've got
decades of writing Free Software. I have decades of developing getmail,
specifically, and email software more generally.
What I do, demonstrably, works. If you think it cannot work, then you're
denying the evidence before your eyes. The fact that you're on this list
suggests you use or have an interest in getmail, and that itself shows the
model works.
If you want to run a project differently - please, go ahead! I have no
objections to you starting a project on Github.
But for some reason, some newer developers - a tiny minority, thank $DEITY -
seem to get seriously butthurt over anyone not using *their* preferred
workflow. It's annoying. And I am far from the only project maintainer who
has experienced this.
It's like it's a dogmatic, religious thing rather than a reasoned position.
It's like the ancient Amiga/Apple/PC wars, if you're old enough to remember
those.
> I think we should be thanking Roland for bringing getmail, a software used
> by many individuals and organizations, into the 21st century.
For what seems like the 37th time, I have ZERO PROBLEMS WITH ANYONE FORKING
GETMAIL AND DISTRIBUTING IT. If Roland produces a superior product, the whole
world will switch to it, and I can stop maintaining getmail and do other
things.
All I ask is that he rename his fork, because his taking of my project name is
extremely rude and inconsiderate, imposes significant burdens on me, and
tarnishes the hard-won reputation of getmail.
> Had Charles been easier to work with,
Another false assumption in your statement. I assure you, I am very easy to
work with. If I wasn't, would I spend hours and hours and hours trying to
help Roland get his stuff into getmail?
> I am sure Roland would have managed this in a more cooperative way,
Again, you assume incorrectly. At no point has Roland *ever* even
acknowledged that I have provided some very specific points on how a large,
intrusive change can be integrated into getmail, much less indicated that
he understood it or would make any attempt to follow it.
I'm happy to provide advice and iterate on getting it into shape that makes it
possible to review. But he has never - not once - displayed any intention of
doing it.
> Perhaps after 23 years it is time tor Charles to retire
Seems awfully presumptuous to tell me what I should do with my project.
Dunno.
Charles
(*) one big diff is *not* reviewable. Running getmail or any
comparably-complex Python application through 2to3 and fixing up breakages as
they are found will result in a diff that touches a majority of all the lines
of code in the application.
--
-----------------------------------------------------------------------
Charles Cazabon
GPL'ed software available at: http://pyropus.ca/software/
-----------------------------------------------------------------------