Re: OT: Roland Puntaier / "getmail6" drama
Charles Cazabon <[email protected]> Wed, 27 Oct 2021 08:56:53 -0600
| Newsgroups | gmane.mail.getmail.user |
|---|---|
| Message-ID | <[email protected]> |
Roland Puntaier <[email protected]> wrote: > On Tue 21Oct26 08:42, Charles Cazabon wrote: > > > > [...] Roland has continued to tell me he will send me "a patch" to > > integrate his changes from "getmail6" into getmail, continuing to ignore > > the detailed information I gave on how to send his changes as a series of > > patches. > > When I first wanted to make the Python 3 changes, > I couldn't find the link to the repo with all the history. As I have said on this list a number of times, and which I have explicitly told you personally multiple times, I do not currently use a public repo or forge for development of getmail. The fact that you keep disingenuously asking questions that imply you don't know this is perplexing; it suggests you're trolling. That's not helpful. > Why don't you adopt a more open "open source development"? It makes > contributing easier. This is absolutely open-source, or Free Software, development. Perhaps it's a different methodology that you're used to; that's fine, we each have our own methods. I have had contributions from dozens of getmail users over the years; not one of them has ever had a problem collaborating in this fashion. You are the only one who claims this workflow makes it impossible to contribute: > If you insist on your old-fashioned methodology, we cannot work together. Dozens of contributors would disagree that a patch workflow makes it impossible to work together. Calling me or this workflow old-fashioned doesn't advance anything; it's just ad hominem and raises tensions. It's not helpful. You could say "this is not the way I am used to working", which would be fine. Instead, you are saying "the way you work is incorrect and you should change it", which is, again, not helpful. For what it's worth, this email & patch workflow has worked well in the Free Software community for fifty years, and continues to be used today with no ill effects. The fact that public forge workflows also exist now is great; more choices is good. But we don't tell people "you're not allowed to walk to the town centre anymore because buses now exist" is obnoxious. > I could send you all the commits in getmail6 as patches in emails. So, it's NOT impossible to work this way? Good to hear. However, you still have not acknowledged in any way how I have described submission of large changes must occur. I don't want one big patch, or one patch for each commit you happened to make in your local repository. The work needs to be reviewable, so that regressions and bugs can be spotted. This means the work needs to be split into patches that: 1) each are about fixing/changing one thing, i.e. they're divided into functional blocks in a series, not organized by whatever random order they were comitted. 2) each makes the changes in the code base such that the result, the intermediate stage between patches, is a fully-functioning version. Each one builds on the changes introduced in the last one, if necessary. But if two patches which address unrelated X and Y functionality are sent and I think X needs changes, I should be able to apply Y without X, because the patches are separated by function. 3) Each is at least minimally documented. "This patch changes all the X because in Python 3 it has this side-effect that doesn't happen in Python 2", etc. This is not some weird requirement that I have invented. It is a longstanding, widely-used development practice. Insisting on patches/changes being reviewable is the normal way to approach development; I would argue any projects that do not insist on this are by far the exception, and probably have unstable results. The Linux kernel development process uses exactly this process. Linus insists on the above separate-patch methodology, and submissions to him are by email for review/acceptance. The Linux kernel repository is almost 30 million lines of code. So please don't tell me that this approach cannot work for getmail. For one random recent example of a patch series being submitted, see https://lkml.org/lkml/2021/4/14/1024 . > That is not the modern way to do things. > It involves manual steps that in the meantime are part of git. > You can directly pull or cherry-pick. > So I asked you to make a gitlab or github repo with all the history. > I would then make a pull request with the commits of getmail6 on top of your > HEAD. Forcefully telling me that I am running my project inccorectly and how you want me to run my project is off-putting. The fact that (based on your apparent age in online profiles), I have been distributing getmail as Free Software since you were in elementary school, is pretty damn presumptuous. And I have other Free Software projects I have been distributing longer than that. > Merging means also merging our way how to do things. > If you insist on your old-fashioned methodology, we cannot work together. > I'm quite sure the community also does not want to make a step backward in > methodology. You do not speak for "the community". Neither do I. But this process works, as evidenced by the fact that it *has* worked for getmail for 23 years, and for other projects for *fifty* years or more. And it will continue to work. Will getmail ever be in a public repository? Probably, yes. Today is not that day. > We can also not work together, > if you are constantly offended about your great name or whatever. getmail has built up a loyal userbase and excellent reputation, specifically because of the quality standards I have demanded of myself in the getmail codebase. That all flows from my most important principle behind getmail: email is crucial, and getmail should never, ever corrupt or lose your mail, or fail to retrieve your mail when you need it to. You have barged in, ignored my patient attempts to educate you on how to collaborate, have forked a buggy version and released it using my project name which makes users think getmail is a buggy mess, have shown no ability or willingness to even be polite, much less to follow common practice such as renaming your fork when I explicitly ask you to, and do nothing but tell me how I run my project is wrong, and continue to demonstrate that you will ignore my information that is *specifically designed to help you get your changes integrated into getmail*. I think I'm entitled to protect the "great name or whatever" of my project, and I'm also entitled to be disappointed in you when you shit on it. > Getmail is just a small wrapper around the Python email libraries. > What's there so special about it? Ad hominem again. Not helpful. If it's a "small wrapper" and "not special", I invite you to discard all of getmail's code, and write your own project from scratch. It's only a small wrapper around the stdlib, after all - you should be able to bash that out in an afternoon, surely? > That is what open source is about: that you can change what you use. > And you can also share your changes. And as I have mentioned, when the upstream of your fork asks you to change the name of your fork to eliminate confusion and unwarranted support burden, it is absolutely common practice and *polite* practice to do that change. Most forks do it even without an explicit request from the upstream project, as I posted examples of earlier. Again, you completely ignore this. When you want to collaborate, I'm here, even if you're still behaving the way you are now. I can hold my nose and accept correct patches even from people that I find presumptuous, arrogant, cocky, smug, uncooperative, uncollaborative, commanding, prescribing, and disrespectful of ownership, pride, quality, and community. Charles -- ----------------------------------------------------------------------- Charles Cazabon GPL'ed software available at: http://pyropus.ca/software/ -----------------------------------------------------------------------