An exercise in Open source, psychology, and software engineering
View Slide
IMPORTANT CODEALIVEKeeping
IMPORTANT CODEALIVEKeepingAn EXercise in Open source, psychology, Andsoftware engineering
Now. LET ME TELL YOUA STORY...
A Long Time AGo In A GalaXy FarFar Away...
A Long Time AGo In A GalaXy FarFar Away...OPEN SOURCEIt s a Story’ ActuallyABOUT
MID 2010NODEJITSUSTARTED InNODE.JS WAS LIKEAND BACK THEN
THEWILD WEST
THEWILD WESTOr Maybe...
AN UNTOUCHEDPARADISE?
AN UNTOUCHEDPARADISE?Some might say...
THE MANCHURIANCANDIDATE?
THE MANCHURIANCANDIDATE?NO MATTER WHAT...
THEMODULESWE NEEDED Were like...
404 not found
404 not foundSO, like many others
404 not foundSO, like many othersWE WROTE THEM
404 not foundSO, like many othersWE WROTE THEM OURselves
THE BEST FEELINGSEver. For Serious.CERTAINLY ONE OF
WRITE NODE.jSMODULESWE WANT YOUTO
AndWE DID!
AndWE DID!LAST MONTH, Just my own npmmodules totaled over...
10,000,000+ downloadsSource: npm-stats.com
IT WAS Truly Humbling10,000,000+ downloadsSource: npm-stats.com
IT WAS Truly Humbling10,000,000+ downloadsSource: npm-stats.comButIT WAS ALSO...
ABSOLUTELYTERRIfying
BECAUSEBACK TO OUR STORY...
BECAUSEBACK TO OUR STORY... IT TURNS OUT
RUNNING A STARTUP
RUNNING A STARTUPIs A LOT OF WORK
REMEMBER THATSUPER HAPPY FEELING?
FROM YOUR USERSTOTALLY SUCKSTAKING ABUSE“ ”It turns outJUST
40#&'6$,*/(/*$&
40#&'6$,*/(/*$&Please: BE#$%@ingNice
ASIDE
ASIDE USING TWITTER IS LIKE....
....EXCEPT 140 CHARACTERS IS EVEN WORSE. ASIDE USING TWITTER IS LIKE....
CULTIVATE PERSONAL INTERACTION
CULTIVATE PERSONAL INTERACTIONWHEN IN DOUBT, FOLLow-up Privately
CULTIVATE PERSONAL INTERACTIONWHEN IN DOUBT, FOLLow-up PrivatelyTHINK OF IT AS DISCRETION.
CULTIVATE PERSONAL INTERACTIONWHEN IN DOUBT, FOLLow-up PrivatelyTHINK OF IT AS DISCRETION.... Or Having some Class.
ONCE AGAINBACK TO OUR STORY...
ONCE AGAINBACK TO OUR STORY...WITHOUT THE ADEQUATE TIME TOMAINTAIN THE MODULES I WROTE...
2,000+ UNREAD GITHUB EMAILs
2,000+ UNREAD GITHUB EMAILsTONS OF NEGATIVITY
2,000+ UNREAD GITHUB EMAILsTONS OF NEGATIVITYIS THIS PROJECTAbandoned?”“
YOUR MODULE'S BADAND YOU SHOULD FEEL BAD
YOUR MODULE'S BADAND YOU SHOULD FEEL BADTRUST ME ....
YOUR MODULE'S BADAND YOU SHOULD FEEL BADTRUST ME .... .... i did.
AGAIN: BE#$%@ingNice
FROM NEW YORKI AM
FROM NEW YORKI AMAND SO IS
WITH GREAT POWER COMES GREAT RESPONSIBILITY
OPEN SOURCEIT CAN BE DONE!
#PICARDTIPS
You Are Probably ThinkingBUT HOW?
SCIENCE CAT SAYS
SCIENCE CAT SAYS“ ”GOOD QUESTION
WRITING CODE
WRITING CODEIS
WRITING CODEISABSOLUTELY NOT
WRITING CODEISTHE ANSWERABSOLUTELY NOT
First:
First:WILLING TO HELPFIND ANYONEWHO ISWEEKLY MEETINGSAND START
TRIAGE ALL THE THINGS!
ISSUES, FIRST.TRIAGE ALL THE THINGS!
ISSUES, FIRST.THEN PULL REQUESTS.TRIAGE ALL THE THINGS!
HIGH LEVEL PROBLEMSFINDTHETRIAGE INTO BUCKETSAND
HIGH LEVEL PROBLEMSFINDTHETRIAGE INTO BUCKETSAND NEXT-PATCH
HIGH LEVEL PROBLEMSFINDTHETRIAGE INTO BUCKETSAND NEXT-MINOR NEXT-PATCH
HIGH LEVEL PROBLEMSFINDTHETRIAGE INTO BUCKETSAND NEXT-MINOR NEXT-MAJOR NEXT-PATCH
THEN YOUCAN LAND YOUR PRS
THEN YOUCAN LAND YOUR PRSDO NOT REFACTOR THE THINGS YOUHATE YET. For SeRIOUS.
BUT I HATE THE THINGSI HATE ABOUTmy Code!
PATIENCE
LANDING OLD PRS IS HARDIT GETS EVEN HARDER ASMORE OF THE CODE CHANGES
JUST ASK THEM TO RESUBMIT
THERE IS USUALLYONLY ONE CHANCE PER PR.DEVELOPERS VERY RARELY COMMIT
#&'6$,*/($0/4*45&/5
#&'6$,*/($0/4*45&/5THIS PERSONDO NOT BEPLEASE
IT IS EASIER TO MERGERATHER THAN REFACTORTHEN REFACTORTHEN MERGE
ON SOFTWARE QUALITY
ON SOFTWARE QUALITY AND HUMILITY
DO NOT BEAFRAID
DO NOT BEAFRAIDNOT EVERYONE PAINTS THE MONA LISA. AND CERTAINLYNOT EVERY TIME.
This MODULE,BLACKSMITH
This MODULE,BLACKSMITHBut MEANWHILE....
HERE COMESMETALSMITH
nooo .... It's not true!
you're going to findTHE TRUTHS WE CLING TOTHAT MANY OFOUR OWN POINT OF VIEWDEPEND GREATLY ON
%06#-&%08/%&13&$"5&(*7&"8":45*--0/(0*/(IT IS A PRACTICE.
%06#-&%08/%&13&$"5&(*7&"8":45*--0/(0*/(IT IS A PRACTICE.SO DOUBLE DOWN,
%06#-&%08/%&13&$"5&(*7&"8":45*--0/(0*/(IT IS A PRACTICE.SO DOUBLE DOWN, DEPRECATE,
%06#-&%08/%&13&$"5&(*7&"8":45*--0/(0*/(IT IS A PRACTICE.SO DOUBLE DOWN, DEPRECATE,OR GIVE IT AWAY.
THANKS{github, twitter}.com/indexzero[email protected]
THANKS{github, twitter}.com/indexzero[email protected]MAY THE SOURCE BE WITH YOU