Press "Enter" to skip to content

Open Source lacks accountability – MPJ’s Musings – FunFunFunction


good Monday morning I mmm PJ and you are

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

Please follow and like us: