
watching fun fun function so today I
want to talk about the lack of
accountability in open source software
what I mean by that and how that arises
this morning I I didn’t know what to
make an episode about so I guess
procrastinate it and started looking at
Twitter and I found this tweet by Henry
Smith which is a person I know that he’s
oh he’s amazing
and he had this insight about his own
open source contributions doing open
source work is so weird when you
start to realize what a web of
dependencies is wrapped around the thing
you maintain but there’s people doing
serious grown-up stuff which is affected
by my thirty second decisions I make in
my underpants on a Sunday morning which
is so true and that’s the kind of things
that Henry tweets and you should really
follow him but the hilarious thing is
that Jonathan Blow at the same time
almost tweets tweets this Jonathan Blow
is the creator of braids if you don’t
know him he’s also an amazing guy and he
has all these kinds of amazing talks
about software development he also has
nothing to prove so he just says things
like this one open source software
authors have no respect for users and
create giant externalities of wasted
time and frustration this kills me I’m
trying to use Graff Vince and already
it’s a giant waste of my time trying to
figure out what the syntax error is and
then he follows it up with a few tweets
that says that we developers it’s hard
to think about scale right you if you
waste an hour of developers time that is
using your software if your software is
used at scale then that is just a
tremendous amount of of wasted time
it’s my pence I can’t help but drawing a
parallel to left pad do you remember
left pad if you don’t know the story and
you won’t if you’re not into the
JavaScript community a person on the
internet some person wrote this tiny
little module called left pad it was a
great little module it did only one
thing it’s a common programming problem
that you you let’s say that you have a
number like 12 and you want to produce a
string from that number and you always
want the string to have the same length
so you want it padded with zeros so like
let’s say that the string should always
be 4 and you have the number 12 it
should be 0 0 1 2 it’s not rocket
surgery to write this but it’s just nice
yes blue import left pad and have the
problem solved it’s just the kind of
thing that should be in the language but
isn’t so somebody writes a module for it
and this was published on the the node
package manager and the NPM the big
repository that almost all JavaScript
developers uses as left pad so this was
used by so many people and so many
modules it was right and the story would
have ended there if it wasn’t for the
fact that this person that did this
module he also made a bunch of other
modules including a command-line module
called kick kay-kay and the problem is
that ki KEK that’s a that’s a trademark
owned by a messenger and one day kick
decided that they wanted to create their
own NPM modules for their product kick
like their messenger I wanted to publish
things on NPM under under their name so
kick they went to this person and asked
asking hey we we own the trademark kick
and we we want this name and we need to
fix this and this person liked it his
name is a sir if you will know it anyway
he I think that he could possibly have
had a case here because kick was a
completely different thing from the
the messenger kick and I I think that II
he had taken the the trademark fight I
think that there might have been able to
do it but his response was sky was very
flippant he has basically said to the
lawyers to off he was like oh my
god this is some lawyer asshole here I
will just tell them to off and I
don’t want to deal with this so kick did
what what you do if you are a company
and you wanted to protect your trademark
they went to npm I think that an NPM
like they prioritize the users so I
think that from their standpoint and
that combined with the fact that Acer
was being like extremely unreasonable
and also not willing to to take the
trademark fight he he kind of I think
that he wanted NPM to take the trademark
fight for him but NPM probably felt like
well like it is not unreasonable that a
user would expect the the kick package
to be from the enormous ly well-known
messenger kick so yeah we are going to
give this this name to this company as I
like trademark claim this pissed a sir
off tremendously so what he did was he
wanted to punish NPM for this so he
pulled all his modules from NPM
including left pad which basically broke
all the things and this spurred all
kinds of opinions from weic weick way to
go away sir good on you standing up to
the man to people that thought that Acer
was an asshole that only thought about
his his own values and didn’t think
about all the peoples or the trouble
that he cost for people breaking this
belt people felt that they had trusted
Acer and he had abused that trust people
thought that NPM was evil overlords and
we should have an immutable package
manager
probably some distributed thing people
thought that this is the law people kick
it had the law on their side and we
should respect the law and the thing
that you have a problem with this the
law and I had some opinions at the time
but today I want to think back on that
situation from the in the perspective of
open source lacks accountability and the
line of thought that I want to explore
is that it’s not open sourcing something
in itself that makes accountability just
disappear
no because not yet not all open source
projects lack accountability this but
most of them do and I think it’s because
open source is free that’s quite right
actually I think I I think the more
accurate thing is it saying the open
source is mostly not funded like Acer
did not get compensated for writing left
pad in any way nobody paid Acer a it’s
any kind of salary or grant or whatever
to write left pad it was just something
that he he wanted for himself and for
his colleagues or whatever and and he
wrote it and published it because why
not if you made something good why not
communicate it and broadcast it to the
world give it away the argument against
that is of course left pad I guess so
when it came to removing left pad from
the internet there was really no
consequence for answer he wrote the
medium post on why he did what he did
and he got a lot of support and a lot of
hate but in the end I don’t think it
really changed his professional
situation in any way the people using
left pad were not his customers so and
they weren’t paying anything for it and
there was no university that had paid
him with the expectation that he would
be there was no don’t bite the hand that
feeds you situation so why should a sir
have dealt with all that shite he had no
reason in he didn’t have the funding to
do it either
my ping lawyers said that’s a lot of
money so he could just do what he wanted
and what he thought was right so the
needs of the actual end users of left
pad didn’t really factor in heavily on
the how the situation panned out and an
interesting side effect of you knowing
that something is created by someone
without any kind of compensation and
just provided to the world for for free
means that it’s it’s now unassailable
this thing you cannot really say that
something sucks when it is provided for
free when somebody has just given it
away you just come off as this person
who is like oh this tool is given to
this person for free and they think that
oh my god this free thing that I have
been provided for no cost at all it’s
not good enough I would like something
better it’s so hard to complain about a
product that somebody has provided to
you for free I’m not sure what to do
about this situation because it is a
problem I think that we need to be able
to improve software and improve the the
tooling that we all use and and improve
and our expectations of them and yeah I
guess that you could say that oh let’s
just use commercial tools I use a lot of
commercial tools like cloud-based sass
services and do things that you pay for
and they are often very well polished
sometimes because they need to be if
because if they’re not people will you
stop using them and then their salaries
will disappear there is this nice
codependence in going on in in
commercial software but commercial
software is yes especially a software is
a service you just create this an even
more horrible dependency graph where you
are dependent on a lot of little
companies all over the place and then
you get acquired by Google and they
shuffle the product and like it just
creates in the worse situation it would
be very interesting if we could get
something working like that is in the
middle so that we can get open-source
projects funded so that the real
developers can spend real time on the
project on the projects with actual paid
development time at the same time make
the the product widely available for for
free to everyone and the question is of
course then like if you make a product
available for free why should how do you
where from where do you get the money
that to pay the the person developing it
like people are experimenting with this
is like there exists get tip and there
are six patreon and I think that should
grad it pay but it hasn’t really taken
off in software development yet but I
think we need to fix it and we need to
figure it we need to figure out somehow
but I am not sure how what do you love
what do you think oh please comment down
below and give your thoughts on the
topic I would really like I would really
love to see some discussion on this and
hear what you think you have your swatch
episode of fun fun function I release
this every Monday morning Oh 800 GMT
time do not miss the mass blue elbow do
not miss the next one if you are
forgetful there is this little
notification thing that you can turn on
in the YouTube app or you can follow me
on twitter at MP Jeremy if you don’t
want to wait till next model you can
check out this series on functional
programming that I made or this random
video if that does not seem she appeals
or you and that is it for today until next Monday morning stay curious