Replies: 5 comments 8 replies
This comment was marked as disruptive content.
This comment was marked as disruptive content.
This comment was marked as disruptive content.
This comment was marked as disruptive content.
|
I will say, almost any project is driven to some degree by personal opinion. Whether that is a vision of what the project is to be or what degree of burden the project will accept to maintain, etc. Having a sole maintainer, you have the opinion of one. Having many maintainers, you can, at times, have different opinions over different areas, or if they jointly maintain the whole, then at least a majority rule. Unfortunately, there will also be different opinions on directions, and also personality conflicts at times. As a sole maintainer of different projects, I know, to some degree, I am opinionated. Just because a user would find something helpful does not mean it will be accepted as I am also in charge of the vision of the project and the maintainability of the project. Long after the requester has moved on from my project, I am left to maintain what was added. I need to be comfortable with the change, understand it well enough, and feel it can be well maintained. I also need to feel it is useful to a majority of the users, not 1%. Some requests from the community can also, quite frankly, be subjective at times, and it makes perfect sense for an opinionated evaluation and decision. Also, some requests have a low payoff for the amount of complexity it adds to the project. All of these things are important. My point is simply that the vision of a project is also controlled by the maintainer. That vision may not always align with everyone. This is not an argument for or against anything that has been said here, these are just general statements. With all of that said, I know at one point, @waylan was looking for others to step up and (help) maintain MkDocs. No one stood up. I did not as I already maintain enough. He is filling a vital role that no one else wanted to fill. I am a little uncomfortable with the approach to this thread as, to some degree, I feel there is a lot of personal baggage in this thread that was probably unnecessary. I understand your frustration, and you wanted to build a case for your proposal, but I'm not quite sure if airing out these grievances in this way is the right approach. This is just my initial reaction. So, are you attempting to throw your hat in the ring and step up as a maintainer? I know more maintainers would definitely help take the burden off @waylan. Anyways, I am grateful for the work @waylan has done and continues to do for this project. I understand this may not have always been the burden he wanted to take up, but I'm glad he has filled the role anyways. I'm also pretty sure some of the decisions that are made here come from the perspective that he may be the sole maintainer for quite some time. Many of the other previous maintainers have moved on, and I'm glad to see MkDocs continuing to be maintained and used, but I'm sure some of this feeds into the approach. |
|
Duplicate of oprypin#2 (comment) since I've seen this now... So, this seems a unneccessarily personal. It would have been enough simply to raise a discussion under MkDocs suggesting that you'd like to see some new maintainership to help push the project forward. Anyways. From my own experiance I can say that in trying to avoid burnout, closing off issues uncompromisingly is pretty much the only viable approach with a large OSS project, so I've every sympathy that type of "close by default, keep the scope narrow, minimise code churn" maintainership. But, either ways we're going to need to find a more constructive ways to move forward. I'd suggest we drop this discussion for now because it's got too much loaded stuff in it, and later this week we can start fresh discussion on possible maintainership options, post 1.2, given that...
|
|
Reading this discussion thread was really demoralizing for me, maybe even more because I seen this happening in the past with other projects. I am new to mkdocs and I was driven to it because I wanted a replacement for Sphinx, ane that is more modern and alive. When I say alive, I mean with more people wanting to contribute to its entire ecosystem (not only the code, but also the plugins). IMHO, learning to work together is the most important bit needed in order to build and keep a community. A community is what keeps an open-source alive long term, not individual. That would require some sacrifices regarding personal opinions or preferences and accepting that sometimes is better to put the community (users) interest first. I even tweeted few days ago about my concern regarding the fragmentation on mkdocs ecosystem, where most plugins are hosted under personal repositories and even those under some github orgs are most of the time relying on a single person, one that can lose interest in maintaining it at any moment. And believe me that if COVID years teached me something is that moment will come much earlier than anyone can imagine. Can we stir this issue and join efforts on making mkdocs a healthy ecosystem, one where maintainership/stewardship is already covered for? I know few github organization that do cover for this and they welcome any community contributions, allowing people to host their repositories under the organization. The authors keep their ownership over the project and the organization admins do step-in to help only when there is a need for it, like when a maintainer is no longer available and someone wants to takeover. Projects are far less likely to end-up as abandonware and we avoid an explosion of also broken forms. Notable examples to learn from are @jazzband,@pytest-dev, @tox-dev or @pycontribs organizations. To a less On some of the mentioned organization, those that become members do also get write access to all projects, not only their plugin/extension and they are encouraged to step in and help others when needed, with reviews, fixing CI/CD or anything. Yep, that requires following some good practices regarding branch protections to avoid accidents. Still, it seems to have worked fine and I am not aware of any problems appearing from it. Even so, that level of trust is not required as other orgs keep the write access separated by project. I know that maintaining and documenting practices, code of conduct requires a little bit of time, the reality is you can always defer to one model that already proved to work. The benefits of bringing people together and speeding development are huge. I am even willing to spend some time helping here as I want mkdocs to thrive. I am quite curious particular to see how the currently listed mkdocs team members do thing about that. @tomchristie @d0ugal @waylan @oprypin @ultrabug ? |
Uh oh!
There was an error while loading. Please reload this page.
tl;dr: See only the last section.
This post is duplicated here for backup
For some background, I am a frequent contributor in the overall MkDocs ecosystem.
I am coming here out of frustration that MkDocs as a project is stalled purely because its maintainer's main activity seems to be to respond to every request with "you shouldn't want MkDocs to let you do this". (This is oversimplified, but the post expands on the details).
I'm not looking to create drama, but I view this as my last chance to change something in a project that I can't bring myself to leave but is also very painful to stick with. And I did first try to resolve this privately.
First, a personal example. Consider my contribution #2272.
The topic of performance is very dear to me, as I want to make MkDocs viable for large API documentation sites, but I have seen multiple users of it complain to me foremost that it's unbearably slow.
I have fully proven the safety of this change (a ton of work went into proving the correctness to @waylan, much more than general work), then (after that PR stalled) I even split out any possible breaking changes into a separate PR #2296 (again putting a lot of work into that) so that the main one can become purely optimization.
And after all that, @waylan comes out of nowhere and blindly closes my PR. Once he made that decision, he 100% dismissed both my factual arguments and my feelings. There was no technical argument why the change is unacceptable, or consideration that further reworking it could help.
Well, since that was closed, and having spent another few months in anguish, I decided to send that contribution again (now further improved) in a new pull request, as nothing was shown to be wrong with the previous one. I have no idea if he's just going to lash out and insta-close it, or something worse. (Which is also why I'm sending out this post along with that pull request).
I have also sent an email directly to Waylan to discuss such organizational topics but got no reply (there's a possibility that it wasn't received, but more likely that it's more convenient to ignore), and I'm also getting no reply whenever I publicly mention such topics.
Of course, I'm not the only one who gets ignored.
Consider this thread with 3 other persons interested in a technical discussion about how to improve convenience for contributors. Well, @waylan is not interested in a technical discussion or others' convenience, he doesn't need to engage, because he's already convinced about something different (based only on preconceptions as far as I can tell) and he can win any argument by just closing it.
And I'm also not the only one frustrated.
#2311 (comment)
Now consider this contribution.
#2347
It is very simple, fully correct and compatible, and fixes an actual oversight. But @waylan wastes everyone's time with his cargo-cult arguments, and again, does whatever it takes to not admit that he was wrong. What does he do in the end? Replaces all usages of that (common) dependency with 2 new dependencies, so it's technically solved without admitting that fix (which should've been merged first in either case).
Then there's the big matter that he ignores the users' perspective, not just the contributors'.
Just consider the totally tone-deaf and uninformed replies to #1979.
And then the last phrase.
Yes... even though his conclusions for most of the conversation were based on the complete lack of understanding (and he didn't really try to understand), he just does whatever it takes to never admit that he was wrong.
I can also talk at length on plugins vs core features. Again, he never considers how much work it is to maintain a plugin vs adding a few lines to MkDocs. And the difference in discoverability of these two alternatives. Well, those are the main points, let's leave it at that; the rest is already said there.
This particular reload issue certainly causes confusion quite frequently, I've seen it a few times first-hand. An easily accessible config (or even a default) would be such a big benefit, as people often don't realize for a while that they're being hit by an outdated stylesheet. But he's not really a user of MkDocs, so he doesn't get it. And he's not interested whatsoever in figuring out how it can work (and it certainly can work, but he's already set on trying to prove that it can't).
Which also brings me to the next point. @waylan, as far as I can tell, is not an active user of MkDocs. He has no personal interest in improving it (must've already implemented all that he needed), and his perspective is very limited.
#2272 (comment)
His interest seems to lie in minimizing the effort for him. Every suggestion's first evaluation is "does absolutely every user of MkDocs benefit greatly from this" (in his opinion) and, even more so, "do I expect to be annoyed by this".
His personal convenience seems to have an oversized weight in the evaluation of benefits versus disadvantages. He doesn't see that there are thousands of users of MkDocs, and that if each of them gets a slightly better experience, the world overall becomes significantly better.
#2272 (comment)
You may also say that he has a right to all this, because he's the only maintainer of MkDocs, and we can't afford to have him burn out.
But I'll tell you what -- I think that having @waylan as the gatekeeper is no longer the best option for MkDocs overall, compared to another universe where contributors are actually allowed to get something done.
There are certainly quite a few people popping up who could become good stewards for MkDocs development. But, they never get a chance to shine; I think people usually just leave after seeing how pointless it is.
I mean, when facing @waylan, you're facing a gatekeeper foremost, and you immediately have to take a defensive stance on everything, because his initial stance is always to try to prove that your change isn't worth his time. It's a mentally taxing game where in any given discussion anything you say can arbitrarily permanently sway his opinion towards dismissing you.
So, this perpetuates the situation where @waylan remains the only maintainer, and he gets to complain that he has little time.
Certainly, in the time that I spent pointlessly trying to convince @waylan of anything, I could've already brought the project far forward.
So, why don't I just fork MkDocs and move on? I definitely have the technical ability and the time to maintain MkDocs if it comes to that. And I do already persist some modifications locally.
However, a fork has almost 0 chance of taking off, so there's no point to it. A big issue is actually a technical one: it would be impractical to install such a fork through
pip. If I use a different PyPI identifier for the project (mkdocs2as a horrible theoretical example), then all plugins still depend onmkdocs, causing duplication and conflicts. And if I use the same module name (without being able to go to PyPI), then there's no nice way to install it (installing directly from Git is very underdeveloped inpip, as there's no support for versioning, upgrades, caching, etc.; and secondary package indexes are also not supported).(So, the position of @waylan as the only person who decides which features MkDocs gets to have is permanently cemented.)
This is not supposed to be a situation where @waylan should feel obligated to defend himself. There's no point to it and he may as well just ignore this too; nobody's going to listen to what I say anyway.
The point is to gauge whether there's interest in a better maintenance model for MkDocs. One that is based on experience of people who use and develop against MkDocs. Based on considering factual pros and cons -- and with the weights accounting for the benefit of the collective user base, rather than the opinion of 1 person.
Namely, I suggest technical decisions to be immediately made open for input from prominent contributors and plugin authors. If they review a pull request, they can formally approve it, which at the beginning might be just a signal for @waylan to withhold his veto power. The same would apply to responding to user-reported issues.
And I sure hope that a decision is made for MkDocs to be more welcoming; it's honestly better for everyone, even likely @waylan, as he will no longer need to bear the weight alone.
Perhaps it'd be useful for pull requests to receive feedback from other people. Currently it's mostly @waylan (who doesn't like meddling in his business, so I gave up on that as well). And @waylan's words are often hurtful -- I believe only unintentionally, but still.
In any case, I definitely prefer a solution that includes @waylan, as he is still the most valuable contributor.
If you support an initiative where you become one of the reviewers on MkDocs, among equally respected peers, please react here with a "Rocket" emoji.
(Other "reactions" are still open for arbitrary use)
All reactions