00:00:06.000
hello raceconf welcome to my talk why
00:00:09.240
I'm closing your GitHub issue
00:00:11.460
today I'm going to speak about stress
00:00:13.860
and open source projects and what
00:00:15.599
maintainers can do to avoid burnout and
00:00:18.240
to stay motivated
00:00:20.699
a little about my context my name is
00:00:23.100
Henning I'm heading development over at
00:00:25.199
makundra we are a ruby consultancy in
00:00:27.900
Germany we build and host bespoke web
00:00:30.960
applications
00:00:32.579
we also maintain very old versions of
00:00:35.340
European rails for our rails RTS service
00:00:39.059
I spent most of my day training Junior
00:00:41.579
developers and maintaining our tool
00:00:43.800
chain
00:00:44.520
like most development teams we have a
00:00:46.620
kit of ruby gems and npm packages that
00:00:49.320
we use in our daily work
00:00:52.620
and boy do rails apps use a lot of Open
00:00:55.079
Source components so these are numbers I
00:00:58.440
pulled from a few applications that we
00:01:00.360
built in the last years
00:01:02.460
you can see that we use around 200 ruby
00:01:05.220
gems and around 900 npm packages in
00:01:08.040
every single project that we put out
00:01:09.659
there and who built these packages
00:01:12.360
well
00:01:13.740
that is us
00:01:16.020
because when people speak about the open
00:01:18.659
source Community they usually mean
00:01:20.340
everybody
00:01:22.380
and there are a number of great reasons
00:01:26.460
to start an open source project
00:01:29.580
first it's a fantastic way to learn
00:01:31.680
about a domain or a language
00:01:35.340
or maybe you have a strong mission for a
00:01:38.280
solution and you want to share it
00:01:41.280
you may find joy in crafting software
00:01:44.220
just the way you think is right without
00:01:46.140
any requirements from a customer
00:01:50.040
I know that some people contribute to
00:01:52.259
open source to improve their resume and
00:01:54.840
while that's not a requirement to get a
00:01:57.060
job it is certainly a way to stand out
00:02:00.240
maybe you're craving recognition from
00:02:03.000
your peers like from people who are not
00:02:05.340
your boss and not your customer
00:02:07.799
I know that some people just like
00:02:09.539
building communities
00:02:11.459
and for some there's even overlap
00:02:13.739
between the open source project and the
00:02:15.599
day job so they can use their project to
00:02:18.120
help the team at work
00:02:20.640
not a great reason in my eyes is money
00:02:23.239
that only works for very few people
00:02:33.540
for the past 10 years I've been
00:02:35.760
investing a lot of time
00:02:37.560
in open source projects I started around
00:02:40.260
25 projects not all of them are
00:02:42.420
selective but many still are
00:02:44.640
and this chart is going to show you how
00:02:46.620
I felt about my open source work over
00:02:49.019
time
00:02:50.220
the horizontal axis is obviously time
00:02:53.400
the vertical axis is smooth and higher
00:02:56.640
mode is better mood this line here is
00:02:59.640
neutral mood
00:03:01.080
and this is how I felt
00:03:03.660
so
00:03:06.060
what happened here why does it go up and
00:03:09.239
then crash down again
00:03:11.940
well when you build your first Library
00:03:14.159
you may realize that this can be a lot
00:03:17.280
of fun
00:03:18.480
you can do everything just the way you
00:03:20.760
think is right
00:03:23.280
and releasing something for the first
00:03:24.780
time is a rush because you're putting
00:03:26.700
something of yourself out there for
00:03:28.440
other people to see and use and that is
00:03:30.599
exciting
00:03:31.920
you will probably be even rewarded with
00:03:34.739
a few GitHub storage which is like the
00:03:36.720
smallest unit of recognition in our
00:03:39.480
community
00:03:40.739
and the high point is when people
00:03:44.220
actually start using your thing and the
00:03:46.080
download numbers are going up
00:03:47.700
this feels amazing when it happens the
00:03:50.159
first time
00:03:53.580
I mean then you'll probably get your
00:03:57.239
first GitHub issue eventually
00:03:59.640
um so someone has a problem with your
00:04:00.959
library
00:04:02.400
I guess you're just going to fix it for
00:04:04.620
them but then you're going to get more
00:04:07.140
issues and then you're going to get so
00:04:09.659
many issues and eventually you realize
00:04:13.200
I now have a second job I have my
00:04:15.299
regular job and then I have my open
00:04:17.040
source job
00:04:18.120
and that doesn't feel great
00:04:21.419
this area here belong the zero line I
00:04:24.660
call the dark Zone
00:04:26.699
um
00:04:27.600
it's a place where you can dip into but
00:04:30.300
if you stay in it for too long you run
00:04:32.699
the risk of burning out
00:04:34.500
and I believe that open source
00:04:36.300
maintainers have a certain disposition
00:04:38.460
to burning out because open
00:04:43.680
Source work has to do with passion
00:04:46.919
I mean no one forces you to work on open
00:04:50.759
source right
00:04:52.080
you do it because you have an intrinsic
00:04:54.300
motivation that drives you
00:04:56.280
and while it's always great to burn
00:04:58.259
something driven people don't always
00:05:00.180
notice when they're giving away more
00:05:01.860
than they have to give
00:05:04.860
so
00:05:07.259
as I learned publishing an open source
00:05:10.440
project is only the beginning of the
00:05:12.479
work
00:05:13.380
because GitHub has this button here
00:05:16.680
it is labeled a new issue and everyone
00:05:19.620
who falls on that button can make emails
00:05:22.800
appear in your inbox
00:05:25.680
and this never-ending flood of issue
00:05:28.080
notifications can be very draining
00:05:32.039
especially since not all of these issues
00:05:34.560
are nice you are going to encounter
00:05:36.960
people who are rude or entitled and
00:05:39.419
while those may not even be the majority
00:05:42.240
it is those that are going to wait waste
00:05:44.759
a lot of energy on
00:05:47.639
so
00:05:49.979
if you find yourself struggling with
00:05:51.600
this
00:05:52.320
know that it's not you alone
00:05:55.080
here is a tweet from Brian J Brennan
00:06:00.900
he writes
00:06:02.940
I experience an acute combination of
00:06:04.860
panic guilt and shame every time I see
00:06:06.900
an email from GitHub in my personal
00:06:08.220
inbox that is normal right
00:06:10.919
I rarely put stuff out there for other
00:06:12.780
people to use because I just can't
00:06:14.639
commit to supporting it perpetually and
00:06:16.740
that is the new expectation
00:06:19.680
here is another tweet thread
00:06:23.340
this time from Aaron Patterson and I
00:06:26.639
believe many of you know Aaron he's
00:06:28.020
keynoting this conference and I believe
00:06:30.720
Aaron is among the most accomplished
00:06:33.060
rubies of our time
00:06:34.800
but even with all of his experience and
00:06:36.660
all of his skills he still tweets this
00:06:40.560
user entitlement is a huge source of
00:06:42.660
burnout for me on open source software
00:06:44.520
projects
00:06:45.840
I think it's because I don't know how to
00:06:48.120
deal efficiently I don't want to be mean
00:06:50.100
so I say I don't owe you anything very
00:06:52.740
long-windedly
00:06:55.080
or hypocratically to the thing they
00:06:57.240
wanted either way I feel terrible your
00:06:59.880
life is now easier but at the expense of
00:07:01.860
mine is what it feels like
00:07:05.340
so Aaron Aaron even realizes what's the
00:07:08.340
problem it's that saying no is hard but
00:07:12.060
he finds himself in a place where he
00:07:13.919
either needs to invest a lot of energy
00:07:15.600
into saying no or he does it against his
00:07:17.819
will
00:07:21.360
so six years ago I was pretty deep in
00:07:24.240
the dark Zone and I was grumpy all the
00:07:27.240
time at night and over weekends I
00:07:30.060
brooded over GitHub issues and what
00:07:32.400
other people demanded that I do and
00:07:35.460
when I asked asked me hey Henning what's
00:07:37.680
up
00:07:39.000
I was like ah nothing
00:07:41.280
and
00:07:43.259
the grumpiness reached a point where I
00:07:45.599
either had to change something or I had
00:07:47.460
to stop doing it
00:07:48.900
and before I stopped doing it all
00:07:50.639
together I wanted to try it one more
00:07:52.740
time with my own rules and to my
00:07:54.419
surprise this actually worked
00:07:57.599
so what has worked for me
00:08:00.360
and what may work for some of you
00:08:07.080
I gave myself permission to be a little
00:08:09.840
self-serving
00:08:11.099
I allowed myself to spend my open source
00:08:13.740
time with the things that motivate me
00:08:15.419
with the things that give me energy
00:08:19.080
earlier we saw this long list of
00:08:21.840
motivations
00:08:24.000
and not all of them will be your
00:08:26.340
motivations not all of them are my
00:08:27.900
motivations
00:08:29.220
these are my motivations here
00:08:31.379
so
00:08:32.399
I have
00:08:34.800
a very strong vision for my current
00:08:36.419
project and poly I totally think that
00:08:39.479
this is the way that web front end
00:08:41.339
should be built and if that Vision
00:08:44.760
motivates me I guess I should do more
00:08:47.160
things that align with that vision
00:08:50.220
I'm also a perfectionist person I like
00:08:52.740
dumping a lot of time in the challenging
00:08:54.480
problems and producing a precise
00:08:56.940
solution so I guess I should do things
00:09:00.060
that have an elegant challenging or
00:09:02.160
interesting implementation
00:09:04.560
and for me there's also overlap
00:09:07.440
between my open source projects and my
00:09:09.600
day job and I'd love to see my team
00:09:11.820
succeed with the tools I built so I
00:09:14.040
guess I should do more things that we
00:09:16.500
need at work
00:09:18.360
and once
00:09:20.160
you know what the things are you want to
00:09:22.620
do you need to stop doing all the other
00:09:25.019
things
00:09:26.040
because time is limited when you do one
00:09:28.560
thing you are not doing all the other
00:09:30.240
things
00:09:31.380
I mean if you're still young you may
00:09:33.420
still have a lot of time on your hands
00:09:35.399
but the older you become the more busy
00:09:37.980
you become with work family
00:09:39.120
responsibilities
00:09:40.980
so
00:09:43.560
doing something always means deciding
00:09:46.200
against doing the other things and
00:09:49.320
so what does not doing things look like
00:09:54.779
for me it looks like closing a lot of
00:09:57.540
GitHub issues without making a change
00:10:08.240
here is a list of issue types that I
00:10:11.040
would just have taken care of in the
00:10:12.660
past but now I just close
00:10:16.740
so you have an idea for a feature that
00:10:18.779
is great but I also have a lot of ideas
00:10:21.240
of my own and if you are not willing to
00:10:24.180
do the work I will just close the issue
00:10:28.800
have you discovered an edge case in my
00:10:30.600
software well unless this thing affects
00:10:33.540
me or the majority of my users I will
00:10:35.760
just close the issue
00:10:37.620
I also won't write your tests anymore
00:10:40.320
this is something that I did in the past
00:10:42.839
um I would just have written tests if
00:10:44.459
they were missing from a PR I no longer
00:10:46.740
do this and I need tests to keep
00:10:48.899
maintaining this project so instead I'm
00:10:51.300
just going to close your issue
00:10:53.160
and
00:10:55.380
last big one
00:10:57.660
you never talk to me and now you sent me
00:10:59.700
this huge pull request
00:11:02.220
with a giant feature that I don't need
00:11:04.380
making a million decisions I disagree
00:11:06.899
with and now
00:11:08.519
I'm supposed to merge that thing and
00:11:10.500
maintain it forever
00:11:13.079
um I will just close this
00:11:15.660
now
00:11:16.740
I know all of this sounds a little rude
00:11:19.320
but I actually believe I'm a somewhat
00:11:21.420
polite person so I am going to be very
00:11:24.120
nice when I close issues but I'm also
00:11:27.720
very clear about what I'm willing to do
00:11:30.600
and what I'm not willing to do
00:11:34.560
so
00:11:37.019
if you want to close a lot of issues you
00:11:39.600
realize that it's not easy because it
00:11:41.339
means saying no a lot
00:11:43.140
and saying no is never easy it's so much
00:11:45.779
easier to say yes
00:11:47.700
so maybe we can learn from people who
00:11:51.180
are good at saying no and maybe such a
00:11:53.880
person is Sam Stevenson
00:11:57.180
Sam works at base camp and if you have
00:12:00.959
work with raids for any amount of time
00:12:02.940
you have probably used tools that Sam
00:12:05.100
created or that Sam contributed to
00:12:08.880
and
00:12:10.740
five years ago at this race conf Sam
00:12:14.220
presented a tool called turbo links 5.
00:12:17.360
turbulinks is a way to accelerate to
00:12:20.279
accelerate page loads in
00:12:22.260
web applications and
00:12:25.140
it shipped with these native app
00:12:26.760
adapters that allowed you to build
00:12:28.380
smartphone apps on top of your
00:12:30.420
server-side web application so you could
00:12:32.640
Implement a few interaction natively
00:12:34.740
while keeping most of the logic on the
00:12:36.899
server it was a pretty clever solution
00:12:39.480
really
00:12:40.620
and turbo links 5 ship with adapters for
00:12:44.220
IOS and Android
00:12:46.500
after Sam's talk an audience member had
00:12:49.200
a question about Windows phone support I
00:12:51.720
mean Windows phone was still a thing in
00:12:52.980
2016.
00:12:54.600
and I think we can learn a lot from
00:12:57.180
Sam's answer so let's have a look
00:13:04.740
yes
00:13:07.800
any plans to support Windows fun
00:13:10.680
I don't have any plans but I if someone
00:13:13.980
wants to look into that
00:13:15.480
you can take a look at the way we built
00:13:17.160
the IOS and Android
00:13:19.079
adapters so there's a JavaScript
00:13:21.300
component that's bundled with each one
00:13:23.760
that basically communicates with the
00:13:26.940
webview over a bridge
00:13:28.500
so you could take the same approach on
00:13:30.540
other platforms
00:13:32.579
we'd love to see that happen
00:13:38.880
all right so the person in the audience
00:13:41.639
asks
00:13:43.380
do you have any plans to support Windows
00:13:45.839
phone
00:13:47.160
and let's review what Sam says in
00:13:49.019
response and I think he says three
00:13:50.940
things
00:13:54.180
first she says
00:13:55.740
don't expect me to build this for you
00:13:59.040
but then he gives
00:14:01.320
actional advice so the audience members
00:14:04.139
the audience member may use it to help
00:14:06.779
themselves
00:14:08.100
and in the end he's just a friendly
00:14:09.839
person and is encouraging
00:14:13.139
note all the things that Sam does not
00:14:15.959
say or do
00:14:17.519
at no point does Sam offer to build
00:14:21.959
Windows phone support or admit that the
00:14:24.660
lack of support is somehow his
00:14:26.040
responsibility
00:14:27.720
but his answer is so nice and helpful
00:14:30.360
and encouraging that it makes a great
00:14:32.040
template for dealing with feature
00:14:33.600
requests
00:14:35.160
so let's practice this
00:14:39.240
for this purpose I made an app I made a
00:14:42.839
clock it's called superclock and it's a
00:14:44.519
clock for your terminal
00:14:46.079
it has this retro 90s NC art aesthetic
00:14:50.399
and let's see if we get any issues if we
00:14:53.699
put it on GitHub and I'm certain we're
00:14:55.800
going to get any issues because there
00:14:57.959
are always issues on guitar right
00:14:59.940
so
00:15:01.199
first issue
00:15:02.880
add 12 hour clock from Fubar and Fubar
00:15:06.720
writes hi
00:15:08.040
loving the style of this clock but I'm
00:15:10.380
from the US and the 24 hour clock is
00:15:12.720
very uncommon here please add a feature
00:15:15.180
for a 12 hour Am Pm display
00:15:18.720
so let's take a moment and think what we
00:15:20.699
want here
00:15:23.160
so I personally don't need a 12 hour
00:15:26.760
clock because I'm living in Europe
00:15:29.339
um but I know that many clocks have this
00:15:31.740
feature and I think it's a good fit for
00:15:33.779
the for the application so
00:15:38.339
it would be okay for me to edit but I'm
00:15:40.320
not not going to do it myself so this is
00:15:43.199
what I answer haifoo bar I think an AMPM
00:15:47.160
option would be a great addition can you
00:15:49.380
prepare a pull request for that
00:15:51.660
and now one of two things is going to
00:15:53.760
happen
00:15:54.660
in 10 of all cases
00:15:57.120
you will actually get a pull request
00:15:59.160
just by asking and that's surprising
00:16:02.279
because in her initial issue Fubar
00:16:04.680
didn't offer to contribute but it's
00:16:07.500
amazing how often people just do
00:16:09.959
something when you ask them to
00:16:12.060
but in most cases
00:16:14.880
honestly you will never hear from the
00:16:16.440
person again because they never plan to
00:16:18.120
contribute they just want to leave a
00:16:19.620
feature request with you
00:16:21.360
in that case
00:16:23.040
I will leave this issue open for a while
00:16:26.579
see if there's any activity but if it if
00:16:30.240
it has been stated for a time like a
00:16:33.000
year
00:16:33.720
I'm just going to close it
00:16:35.940
and um
00:16:37.740
I'm going to add a comment like hey no
00:16:41.040
one wants to see spectacle this right
00:16:42.360
now so I'm closing the issue feel free
00:16:43.980
to reopen to reopen when you're working
00:16:45.899
on a PR
00:16:47.459
and then I close it
00:16:50.160
okay let's see if we get another issue
00:16:52.560
yes
00:16:54.300
issue number two
00:16:56.639
Oracle Enterprise Time server is
00:16:58.800
unsupported
00:17:00.540
architect 64 writes
00:17:03.360
this clock doesn't support Oracle
00:17:05.520
Enterprise Time server 2018 which makes
00:17:07.740
it completely unusable in an Enterprise
00:17:09.660
environment
00:17:11.339
okay so what do we want here
00:17:16.679
so I don't use Oracle Enterprise
00:17:19.199
products and I don't want to use them
00:17:21.299
and I also don't want to complicate my
00:17:23.100
project by supporting an oracle product
00:17:25.439
I mean I couldn't maintain that even if
00:17:27.179
I wanted because I just don't have that
00:17:29.700
access to those tools
00:17:32.040
so
00:17:33.059
I'm going to be clearer and honest about
00:17:35.520
this and just answers this
00:17:38.880
I unfortunately I cannot build or
00:17:41.100
maintain integration with Oracle
00:17:42.480
Enterprise Products feel free to Fork
00:17:44.340
this repository with your changes and I
00:17:46.320
will link to it from our readme for
00:17:47.880
other interested users
00:17:50.220
so I make one more suggestion with the
00:17:53.280
fork and then I close it immediately and
00:17:56.400
this feels really strange when you're
00:17:59.039
working as software developer in your
00:18:00.480
day job because as developers we are so
00:18:03.840
used to waiting for customer acceptance
00:18:05.820
when we deliver a change right
00:18:08.220
but the users of your open source
00:18:10.200
repository they are not your customers
00:18:12.120
and you don't work for them so it's okay
00:18:14.340
to close immediately you do not do not
00:18:17.700
need to wait for acceptance
00:18:22.860
okay so one last issue and this one is a
00:18:26.580
pull request attached
00:18:28.500
um and boy this is a big pull request he
00:18:31.080
changed every single line of our
00:18:32.760
Repository
00:18:36.000
this sometimes happens people have
00:18:37.980
strong opinions and rewrite per project
00:18:39.240
but take a look at this
00:18:41.880
um
00:18:43.620
use cloud script instead of Ruby
00:18:45.840
hip hip rights this project is using
00:18:48.000
Ruby
00:18:50.220
but clearly Cloud script is the future
00:18:52.740
and converted the entire report to Cloud
00:18:55.080
script you're welcome
00:18:57.360
okay
00:18:58.919
what do we want here
00:19:01.320
so I know when what I don't want I don't
00:19:04.080
really want to use cloud script but this
00:19:06.900
is really
00:19:08.700
awkward now because
00:19:10.740
obviously hip hip invested so much time
00:19:12.660
into rewriting my app
00:19:15.480
and
00:19:17.280
um I wish he would have talked to me
00:19:19.620
about this before
00:19:21.780
so it's now really awkward to reject
00:19:24.000
this thing but I also know that
00:19:26.400
accepting this now will cause me so much
00:19:28.740
more pain in the future
00:19:30.299
so
00:19:32.100
I just close it
00:19:33.840
hey thanks for the pr unfortunately I'm
00:19:36.539
not using Cloud script and I don't want
00:19:38.220
to change the language to maintain the
00:19:39.539
repo sorry
00:19:41.400
and I close it again I don't wait for
00:19:44.160
acceptance I don't wait until it's okay
00:19:46.620
for hiphop I just close it
00:19:52.020
so
00:19:54.600
what did we learn here
00:19:58.140
are some permissions you may give
00:20:00.360
yourself
00:20:01.980
first it is okay to ask users to fix
00:20:05.100
their own issues
00:20:08.340
second it is okay to close issues
00:20:10.919
without permission you don't have to
00:20:13.080
wait
00:20:14.460
until it's okay for the user
00:20:17.400
and third it is okay to reject a change
00:20:20.280
that you do not want
00:20:22.260
because you are the one who needs to
00:20:24.059
maintain it forever
00:20:27.539
so you may ask
00:20:30.960
am I using GitHub issues at all anymore
00:20:33.780
am I just closing everything and no I'm
00:20:36.419
not closing everything there there are
00:20:38.220
still
00:20:39.419
I still see your purpose for GitHub
00:20:41.160
issues and here is how I'm using adap
00:20:43.980
issues first I use them to discuss
00:20:47.400
whether a feature is a good fit for the
00:20:49.200
library
00:20:52.260
and then
00:20:54.660
I help you make the best for request you
00:20:56.580
can do so if you need help setting up
00:20:58.500
the project I will help you if that will
00:21:01.740
help you find the best place where to
00:21:04.200
make the change and if you need any help
00:21:06.120
getting the test runs or whatever I'm
00:21:07.980
going to help you out I'm just not going
00:21:09.480
to do it for you
00:21:11.160
um you need to try you need to drive it
00:21:14.280
so
00:21:15.900
that is an exhaustive list I'm not using
00:21:18.660
it up it's just for anything else today
00:21:21.600
and we talked about my mood curve
00:21:24.780
earlier and you see how it crashed deep
00:21:27.480
into the dark Zone but then it goes up
00:21:29.460
again
00:21:30.299
and this point here is when I started to
00:21:33.360
align my open source work with my
00:21:35.039
motivations
00:21:36.120
and voila never again reached that
00:21:38.940
initial Rush of my first year I'm pretty
00:21:41.159
happy with my open source work now I'm
00:21:44.520
definitely getting more energy out of it
00:21:46.440
than I put in and that's a good place to
00:21:48.539
be
00:21:49.740
and if you feel worn down by your own
00:21:51.539
project I hope that I could give you
00:21:53.760
some ideas for improving your own
00:21:56.100
situation
00:22:04.799
so
00:22:06.360
all of us use open source every day
00:22:10.380
and I'm sure that every one of us of us
00:22:13.860
know the frustration
00:22:15.900
when you have posted an issue that is
00:22:18.059
important to us only to see it being
00:22:20.039
ignored for
00:22:21.780
months or years
00:22:23.820
I know I have felt that frustration
00:22:26.640
and
00:22:28.080
there is this strange tradition on the
00:22:29.820
internet where people drive by old bug
00:22:31.919
reports and make fun of how long they've
00:22:34.740
been open
00:22:39.480
these are actual comments real comment I
00:22:42.240
found this week
00:22:43.919
for instance
00:22:45.419
my apologies but this is insane that it
00:22:48.120
hasn't been fixed in approaching 12
00:22:49.559
years
00:22:50.940
or holy mother of God 10 years and you
00:22:54.120
still haven't fixed it I am having a
00:22:56.039
good laugh here
00:22:58.440
I say it's a strange tradition because
00:23:00.659
these comments reveal so much more about
00:23:03.000
the commentary than they do about the
00:23:04.740
project
00:23:05.820
they show a major misconception about
00:23:08.039
what an open source project is and what
00:23:10.320
an issue is
00:23:12.240
so what is an issue an issue is
00:23:16.080
a request for a change
00:23:19.020
and it can be used to discover
00:23:21.299
requirements
00:23:22.740
and it can be a place to cooperate at a
00:23:25.020
pull request
00:23:26.460
but what an issue is not
00:23:28.700
it's not a work order to the maintainer
00:23:31.679
because you do not employ the maintainer
00:23:33.840
the maintainer does not work for you
00:23:37.559
it's also not a guarantee that a change
00:23:39.960
will be made and it's never a deadline
00:23:43.620
so if you need any of the items on the
00:23:47.100
right
00:23:47.940
you need to either be very friendly and
00:23:51.000
convincing and convincing or you need to
00:23:54.000
pay someone or you need to do the work
00:23:56.460
yourself
00:24:01.740
so even if you don't have issues that
00:24:04.740
are a decade old you probably have seen
00:24:07.200
comments like this
00:24:08.880
any update
00:24:10.500
bump plus one
00:24:12.840
and these are really the same thing
00:24:19.080
here's
00:24:20.460
a tip from Nicholas sackers the creative
00:24:23.340
ears lint
00:24:25.200
if you ask any update on this on an open
00:24:28.500
source issue the answer is always no
00:24:31.039
updates are in the issue
00:24:34.440
an issue with no reason activity is a
00:24:36.840
clear indication that it's blocked
00:24:38.400
because of lack of time interest or
00:24:40.559
other
00:24:41.760
there is no value in asking which of
00:24:44.520
those is the case or plus ones if you
00:24:47.280
are willing to help go ahead and offer
00:24:49.200
you will get better responses
00:24:54.960
before I leave you
00:24:56.880
here's an idea an idea how you can make
00:24:59.280
a maintain a smile and you can do it
00:25:01.020
tonight
00:25:01.919
with very very little effort
00:25:05.400
and I give you one last tweet this time
00:25:09.120
for Nolan Lawson was worked on Countess
00:25:11.340
open source projects but you may know
00:25:13.200
him from his work on pouchdb and Nolan
00:25:15.840
wrote The Following
00:25:17.940
it is really rare in open source
00:25:20.039
software to see feedback from people who
00:25:21.960
are a long time mostly happy users of
00:25:23.700
the product about what their pain points
00:25:25.440
are
00:25:26.340
if you only pay attention to GitHub
00:25:28.799
issues you'd swear nobody could
00:25:31.080
understand your project and everyone was
00:25:33.419
running into weird edge cases
00:25:36.299
and he has a point right
00:25:38.340
because on GitHub
00:25:40.679
there's only a button that says I have
00:25:42.960
an issue
00:25:44.340
but there is not a button that says
00:25:47.400
I have no issue that button doesn't
00:25:49.320
exist I just fake it into the screenshot
00:25:52.080
and there are always many more people
00:25:55.020
who don't have issues but you never hear
00:25:57.179
from them
00:25:58.440
so what I'd like to encourage you to do
00:26:01.320
tonight is go through your gem file pick
00:26:04.380
some gem that you've been using
00:26:05.580
successfully and just make an issue
00:26:07.679
where you say hey thank you for the
00:26:10.380
thing it's been working for me bye
00:26:13.140
here's an example where some friendly
00:26:16.320
people did this for rails and I assure
00:26:18.720
you this will make a maintainer very
00:26:20.400
happy for a day even if they're just
00:26:22.740
going to close it with a smile
00:26:23.760
afterwards
00:26:26.460
so thank you resconf this has been great
00:26:29.340
if you would like to follow me here is
00:26:31.799
my handle on Twitter and GitHub you can
00:26:34.080
also send me an email
00:26:35.700
and I would like to take this
00:26:37.020
opportunity to make a very short pitch
00:26:38.820
for my own open source project it's
00:26:40.320
called anpoli and antoli is an
00:26:44.100
unobtrusive JavaScript framework for
00:26:45.779
server-side web applications it allows
00:26:47.640
you to build fast Spa like front-ends
00:26:50.640
while keeping all your rendering Logic
00:26:52.320
on the server
00:26:53.520
and right now in a community there's a
00:26:56.100
big interest in HTML over the wire
00:26:58.500
techniques ever since the release of
00:27:00.659
Hotwire last Christmas
00:27:02.059
antoli also sends a Gmail over the wire
00:27:04.559
but we took a very different approach to
00:27:07.380
Turbo that you may find interesting and
00:27:09.120
when not using websockets
00:27:11.520
we've been polishing this thing for five
00:27:13.860
years
00:27:14.760
though it's a very mature and stable
00:27:16.380
solution if you're interested you can
00:27:18.299
check it out on unpoli.com
00:27:21.720
alright thank you for listening racecon
00:27:23.640
bye bye