Among all problems in life, I hate those caused purely by some people’s personal preferences most. Personal preferences are usually fine, but you should not push them too far to block other people’s ways. For example, if you run a journal, you should not force your authors to format their papers just to meet your own aesthetic standards. If you run a homeowner association, you should not force homeowners to use a specific color of fences. It is fine if certain rules are recommended, but they should not be enforced. It will be absurd to reject the publication of a scientific discovery based on the appearance of the paper.
I often create rules, too (in my software), but I will keep it in mind that I should not stand firmly in users’ ways and say “thou shall not pass”, unless it will bring me a lot of extra work to remove a rule. For example, I strongly prefer that the directory of an R Markdown file should be the working directory to evaluate code chunks (i.e., the Rmd document is the “center of universe”), but there are users who strongly disagree with my preference, and don’t want knitr or rmarkdown to (temporarily) change the working directory when evaluating code chunks. Dean Attali is one of those users, and created the ezknitr package. The fundamental reason that ezknitr can work (respecting the original working directory) is because I intentionally left the door open in knitr: I provided an option knitr::opts_knit$get('root.dir'). Basically that means I disagree with you, but I will give you the freedom to escape anyway.
I mourned over an email that I received this morning, in which a (bookdown) user reported to me that his university’s IT forbids numbers in directory names of websites, e.g., jquery-2.0/jquery.js is not allowed, and it must be jquery/jquery.js. He asked me how to get rid of these numbers. While I generally don’t like version numbers in these directory names, I see no point of forcing faculty and students to remove these numbers when publishing their websites to the university’s web servers.
Fortunately, I have an answer: options(htmltools.dir.version = FALSE), but why should I spend the time on dealing with such problems in the first place? It is hard to imagine the limit of bureaucracy in this world.

P.S. I think most people must have been desperate enough about the password rules defined by the crazy IT people. That is a more common example of bureaucracy.
Donate
As a freelancer (currently working as a contractor) and a dad of three kids, I truly appreciate your donation to support my writing and open-source software development! Your contribution helps me cope with financial uncertainty better, so I can spend more time on producing high-quality content and software. You can make a donation through methods below.
-
Venmo:
@yihui_xie, or Zelle:xie@yihui.name -
Paypal
-
If you have a Paypal account, you can follow the link https://paypal.me/YihuiXie or find me on Paypal via my email
xie@yihui.name. Please choose the payment type as “Family and Friends” (instead of “Goods and Services”) to avoid extra fees. -
If you don’t have Paypal, you may donate through this link via your debit or credit card. Paypal will charge a fee on my side.
-
-
Other ways:
WeChat Pay (微信支付:谢益辉) Alipay (支付宝:谢益辉) 

When sending money, please be sure to add a note “gift” or “donation” if possible, so it won’t be treated as my taxable income but a genuine gift. Needless to say, donation is completely voluntary and I appreciate any amount you can give.
Please feel free to email me if you prefer a different way to give. Thank you very much!
I’ll give back a significant portion of the donations to the open-source community and charities. For the record, I received about $30,000 in total (before tax) in 2024-25, and gave back about $15,000 (after tax).