• Stars
    star
    278
  • Rank 148,454 (Top 3 %)
  • Language
  • Created 10 months ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🗒️ Notes from a tired maintainer

Notes from a tired maintainer

Hi. You might have come across this text either because you found it somehow or with a link, perhaps in a closed Pull-Request (PR) Issue or a chat. If you are coming from a closed issue or PR, before everything THANK YOU for your contributions and help, i do appreciate that ❤️

The thing is, maintaining multiple open-source projects is not as easy as you might imagine. As a full-time open-source maintainer, I roughly receive more than 200 notifications every 12 hours plus random messages and all are expected to be responded to. They often come from completely different people with different contexts, skill levels, priorities concerns, and so on.

I understand that you face issues that are important enough for you to come to GitHub and attempt to report to fix them. And I know that you might:

  • Want a feature to be landed
  • Want a bug to be resolved
  • Want your PR to be reviewed or released
  • Want to have updates and followups for something
  • Want to contribute and waiting for the maintainer’s update

Above, are the responsibilities of the maintainers of course but we have a limited capacity. Please understand that your request while could be undoubtedly super important for you, is not the only one to be addressed. Sometimes scope of an issue that seems small to you is much higher than you imagine and even for explaining it costs time and focus.

Context Switch is EXPENSIVE (for humans and also machines)

I suggest reading managing the chaos of context switching article by Addy Osmani to grasp some context.

Sometimes you might think answering or fixing something takes only a couple of minutes. I understand and want to answer you as soon as possible but this cost me significantly and kills my daily productivity and focus if have to do this for your request. Everyone's needs are important to me and I need to prioritize based on common sense and real merits.

This PR looks good to me (or tell me what to do)

You or someone else might have already gone ahead and attempted to propose an enhancement or fix and you see the PR which looks good overall to you still pending. Even the maintainer or others (while they really shouldn’t!) might have approved the PR partially or fully. And you see it is still not merged. Here are some possible reasons for it:

  • The code quality is not acceptable enough and the maintainer is trying to be “polite” and not discouraging the author
  • The PR while addressing one specific thing, is not compatible with the whole project's goals
  • The PR needs more thorough testing and extended validation
  • The maintainer needs to “Think” about the changes
  • The maintainer is simply busy with other priorities

In all cases, please BE PATIENT. Be sure that maintainers love nothing more than triaging PRs and moving them forward. Please understand that making decisions in a project is not as easy as you might think. Most of the time there is more context that you might be less aware of.

Finally, If something is critical for you and you believe you can accept these changes at your / your user's risk, you can use solutions like patch-package to manually apply them.

I want to contribute tell me what to do

That is awesome! Nothing is feeling better than having contributions coming to OSS projects.

When I feel a task can accept contributions, I will tend to provide more details as much as possible and as time allows. If you see an issue like this, you are more than welcome to help but please make sure to follow those comments strictly and if disagree, discuss before attempting the changes. If there is no explicit answer from the maintainer, please remain patient and also if the Issue is explicitly not open to contributions, it means it is simply not!

Please understand that contributions always require two collaborative sides. Otherwise, while you might be aiming for something good and willing to help, you might slow things down as a result.

Collaboration only makes sense when the cost is time cost by the author to address.

So I will ping you as much as I can

Please don't. It does not help and can lead to finally your request being intentionally delayed, ignored, marked as spam, or closed. But always don't assume your request is delayed intentionally, by default it certainly is not delayed!

So how can I help

Please be patient and understanding about how FOSS works.

Please try to give better context to the maintainers when communicating:

  • Why something is important and needs to be prioritized
  • Why do you think something should be done in a specific way?

Finally, if you want to contribute to the code or follow up on a PR, please align with the maintainer to minimize the collaboration cost. Please keep your PRs limited to one clear fix also, respecting project conventions and code style.

Final notes

Coming from an already delayed issue or PR to these notes is probably not pleasant (nor for me) but unless there is not a mutual awareness of how open source works and what is like to be a maintainer, we cannot make things better, together.

More Repositories

1

config-dir

📁 A proposal for the .config/ directory.
511
star
2

clippyjs

Add Clippy or his friends to any website for instant nostalgia
JavaScript
323
star
3

nuxt-build-cache

▣ Speed up your Nuxt builds up to 2x [experimental]
TypeScript
150
star
4

nuxt-chat

A simple chat app made with Nuxt, Nitro Tasks, Databases and Websockets!
TypeScript
118
star
5

nuxt-on-the-edge

Vue
99
star
6

nuxt-shiki

🎨 Nuxt + Shiki syntax highlighter
TypeScript
75
star
7

github-is-blocked-in-iran

GithubUserContent Is Blocked In Iran!
72
star
8

tslite

🪶Typescript but %60 smaller
TypeScript
70
star
9

h3-on-edge

⚡️ Edge workers with straming powered by unjs/h3
TypeScript
52
star
10

warning.wtf

⚠️ why all these warnings? ⚠️
TypeScript
52
star
11

shiki-es

Standalone build of shiki fully compatible with all ESM environments.
TypeScript
48
star
12

nuxt-swr-cache

JavaScript
47
star
13

nuxt-twind

⚡️ Integrate Nuxt with Twind, The smallest, fastest, most feature complete tailwind-in-js solution in existence!
TypeScript
42
star
14

space-invaders

👾 Space Invaders game in single (~4KB Gzipped) JavaScript file!
TypeScript
41
star
15

nuxt-on-pi

Vue
39
star
16

nitro-cloudflare-dev

POC module to enable access to the Cloudflare runtime bindings in development server of Nitro and Nuxt
TypeScript
32
star
17

nuxt-plesk-example

Vue
30
star
18

yarnpm

🔮 Transform NPM To Yarn!
JavaScript
28
star
19

osticket-docker

osTicket Docker Image (unofficial)
PHP
24
star
20

nuxt-tailwindcss4

Experimental integration with Nuxt + Tailwind CSS v4.0
TypeScript
24
star
21

bodymoji

Draws an emoji on your face! Powered by Nuxt.js, Tensorflow.js and Posenet
JavaScript
22
star
22

dotfiles

Vim Script
15
star
23

cf-kv-exporter

☁️ CLI to export a Cloudflare a KV Namespace
JavaScript
15
star
24

farsi.css

Persian Fonts For Web
CSS
12
star
25

custom-telegram-clients

Curated list of custom (and potentially malicious) telegram clients
11
star
26

mangler

A Ventrilo Compatible Client for Linux
C
10
star
27

nuxt-shiki-demo

Vue
8
star
28

diff2web

Online Diff Viewer
JavaScript
6
star
29

nuxt-express

Nuxt Express Starter Template
Vue
6
star
30

maxmind-databases

Maxmind / Geolite2 databases for node-maxmind
Shell
6
star
31

n10y

Converts internasionalization to i18n
JavaScript
6
star
32

exp-nux2-slim

JavaScript
6
star
33

nuxt-rewrite

JavaScript
5
star
34

http-proxy-java

Java
5
star
35

nuxt-tests

Nuxt 2/3/bridge Testing
TypeScript
5
star
36

gluu-docker

Gluu CE Docker Images
Shell
5
star
37

bpi-r4-openwrt

🍌 Banana Pi BPI-R4 OpenWrt Image
Shell
4
star
38

happy.js

Happy web framework based on Hapi + VueJS2 + Mongoose
JavaScript
4
star
39

mdx-module

Nuxt.js module for MDX
JavaScript
4
star
40

capnp-es

TypeScript implementation of the Cap'n Proto serialization. Up to %65 faster than `JSON.parse` even for simple payloads.
TypeScript
4
star
41

nuxt-remote-config-demo

Vue
4
star
42

nuxt-amplify

Nuxt + Amplify
Vue
4
star
43

subz-proxy

Subtitle APIs
JavaScript
4
star
44

nuxt-static-demo

full static build with cache
Vue
3
star
45

codesandbox-nuxt

Nuxt.js template for CodeSandbox (Archived)
Vue
3
star
46

loop.sh

AUT Portal Loop !
Shell
3
star
47

pi0.github.io

HTML
3
star
48

libvips

Shell
3
star
49

sichat

Simple Mock Chat API
JavaScript
3
star
50

telesi

Simple Telegram Clone
CSS
2
star
51

okauth

Auth System
JavaScript
2
star
52

chavosh-exam-importer

Chavosh Exam Importer Module
2
star
53

portalcheck

Python
2
star
54

nuxt-pnp-demo

https://github.com/nuxt/nuxt.js/pull/8389
Vue
2
star
55

data

2
star
56

laravel-elixirx

[DEPRECATED!] Elixir Helper For Those Who DO!
JavaScript
2
star
57

nuxt-benchmarks

💨 Nuxt.js SSR performance Benchmarks
JavaScript
2
star
58

nuxt-i18n

HTML
2
star
59

httpinspector

HTTP Server Inspector
PHP
2
star
60

vue-router-repro

TypeScript
2
star
61

nuxt-use-motion

🤹 A Nuxt module putting your components in motion
TypeScript
2
star
62

simpiler

A simple c compiler for SPIM
C
2
star
63

jooche-web

PHP
2
star
64

ocrstream.js

Run OCR On Streams using pure js
JavaScript
2
star
65

nuxt-server-assets

TypeScript
2
star
66

pi0

2
star
67

js-mem-usage-exp

JavaScript
1
star
68

bun-on-pages

JavaScript
1
star
69

nitro-md4w

TypeScript
1
star
70

displaylink-mirror

easy mirror x11 to displaylink adapter
ApacheConf
1
star
71

webpackbar-clear-bug

JavaScript
1
star
72

laravel-auth

PHP
1
star
73

lsc-project

LDAP Synchronization Connector [SVN Mirror]
Java
1
star
74

nuxt-jest-regression

JavaScript
1
star
75

nuxt-swiper-demo

Vue
1
star
76

letsgo

Lets Learn Go :)
Go
1
star
77

MSP

Strategy game
Java
1
star
78

esm-module-field-bug

https://github.com/standard-things/esm/issues/627
JavaScript
1
star
79

nuxt-programatic-example

JavaScript
1
star
80

node

Node Lab
JavaScript
1
star
81

laravel-elixir-rtl

laravel-elixir-rtl
JavaScript
1
star
82

rollup-repro

JavaScript
1
star
83

nuxt-monorepo-repro

TypeScript
1
star
84

os-xv6-network

Automatically exported from code.google.com/p/os-xv6-network
C
1
star
85

vercel-edge-playground

JavaScript
1
star
86

telegram-bot-hosting

A python script to host telegram bots
1
star
87

nuxt3-fetch-error-repro

Vue
1
star
88

nuxt2-missing-payload

reproduction + workaround for auto reload on missing payload
JavaScript
1
star
89

nuxt-meta-iife-bug

JavaScript
1
star
90

node-frameworks-benchmark

Dummy benchmarks of nodejs frameworks using api-benchmark
JavaScript
1
star
91

pmaze

Maze generator and solver in cpp
C++
1
star