刪庫跑路大神「后悔」了?我只不過犯了大家都會犯的編程錯誤
【導(dǎo)讀】在開源程序界惹出「刪庫跑路」大新聞的開發(fā)者M(jìn)arak Squires,最近發(fā)聲:「人無完人,編程錯誤而已,GitHub你就不用再封我號了嘛!」
2022年的開源社區(qū),全是瓜!
1月初,開發(fā)者M(jìn)arak Squires給大伙兒表演了一個刪庫跑路,而且針對的還是自己的兩個項目。
躺槍的碼農(nóng)們一覺醒來發(fā)現(xiàn),自己程序跑出來的全都是「亂碼」。
雖然Marak表示自己「已經(jīng)在努力修復(fù)了」,但群眾的眼睛是雪亮的。
很快他們就發(fā)現(xiàn):這根本不是什么bug,而是Marak本人在搞事情!
于是,作為項目的托管平臺,GitHub讓Marak見識到了什么是開源社區(qū)的鐵拳——封號。
時間過去了10天,這位始作俑者似乎有點「后悔」了:
GitHub你怎么回事?封號十天了,既不讓我修復(fù)項目的bug,也不回我的郵件。每個人都會時不時地犯編程錯誤。沒有人是完美的。
嗯?「編程錯誤」?
對于Marak的控訴以及希望能回到GitHub的想法,網(wǎng)友們普遍表示:「大可不必」。
老兄,這不是一個「編程錯誤」,你知道的。這是在破壞公共資源。沒有人強(qiáng)迫你做出貢獻(xiàn),而現(xiàn)在希望你做出貢獻(xiàn)的人更少了。
你真的認(rèn)為有人會讓你再次為一個廣泛使用的開源項目作出貢獻(xiàn)嗎?在你耍了這套把戲之后?
這二位網(wǎng)友在封號這件事上也是針鋒相對:
「他的代碼屬于他自己。他可以在代碼上做任何他想做的事?!?/p>
「GitHub的平臺也屬于他們自己。他們可以在平臺上做他們想做的事?!?/p>
刪自己的庫,「斷」自己的路
作為兩個非常受歡迎的開源庫,「colors」在npm上每周的下載量就超過2000萬次,并且有將近19000個項目正在使用,「faker」在npm上每周的下載量超過280萬次,有超過2500個項目使用。
甚至連亞馬遜的云計算開發(fā)工具包(aws-cdk)也用上了。
1月5日,Marak發(fā)布了「faker」的6.6.6版本。
1月8日,Marak又在「colors」加入了v1.4.44-liberty-2。
在新版中,Marak引入了一個無限循環(huán)的bug,會讓所有使用「colors」的程序在控制臺無休止地打印各種非ASCII字符序列,從而讓數(shù)以千計的的項目直接崩潰。
新美國國旗模塊
這些信息包括文本「LIBERTY LIBERTY LIBERTY」,以及在后面跟著的一大串非ASCII字符。
對于「faker」,Marak除了炸了自己程序之外,還修改了GitHub repo的README頁面。
這次,Marak直接攤牌了:endgame。
1月7日,Marak發(fā)了一段自述視頻,不過現(xiàn)在已經(jīng)看不到了。
同日,GitHub將他賬號封禁。
隨后的幾天里,事件在不斷地發(fā)酵,而他的推文也收到了1800個轉(zhuǎn)發(fā)和3700個點贊。
然而,當(dāng)網(wǎng)友對這位刪庫跑路的「大神」越發(fā)地了解之后,支持他的人也越來越少。
也不知是不是想挽回點名聲,Marak在1月15日的時候發(fā)文表示自己已經(jīng)在3天前就修好了程序的「bug」,但因為自己被封了所以沒辦法上傳至NPM。
不過,這個時候已經(jīng)沒有人在關(guān)心這個項目了。
而對于Marak撂挑子的「Faker.js」,很快就有8位開發(fā)者接手,并且表示會把項目做得得更好。
https://fakerjs.dev/update.html
話說回來,雖然都是開源項目,但是協(xié)議分了很多種,GPL、MIT、Apache等等。
比如GPL就要求,但凡你的程序用到了這個協(xié)議下的項目,你就需要公開出來。
而MIT就相對寬松得多,你可以隨便修改和使用,只需要在軟件和軟件的所有副本中包含著作權(quán)聲明和許可聲明即可。
而Marak采用的正是MIT協(xié)議。
所以,公司拿著他的項目去賺錢這個看似「白嫖」的行為,在法律上并沒有什么問題。
Marak:打女友、造炸彈,但我是個寫碼好男孩
當(dāng)然了, Marak并不這么認(rèn)為。
早在2020年11月,Marak就曾表示他不會再用「免費(fèi)工作」來支持大公司了,而這些企業(yè)應(yīng)該考慮用每年「六位數(shù)」的工資來補(bǔ)償。
「恕我直言,我將不再用我的免費(fèi)工作來支持財富500強(qiáng)(和其他較小規(guī)模的公司)。」
「你們可以把這當(dāng)作一個機(jī)會,給我發(fā)一份六位數(shù)的年薪合同,或者把這個項目fork之后,讓別人來做?!?/p>
張嘴就要六位數(shù)美元年薪的Marak Squires,究竟是誰?
Marak Squires的公眾印象,集中在2010年代與2020年代的開頭。
2010年代開頭的Marak Squires,是最早一批「平臺即服務(wù)」公司的聯(lián)合創(chuàng)始人。
他的高中同學(xué)與他創(chuàng)辦的Nodejitsu公司,被2011年的Business Insider雜志評為「紐約地區(qū)最值得關(guān)注的25個新星創(chuàng)業(yè)項目之一」,風(fēng)投人還在文章中贊譽(yù)「這家公司擁有全明星陣容的軟件開發(fā)團(tuán)隊」。
2013年Nojitsu成為彭博新成立的投資基金B(yǎng)loomberg Beta首批投資的公司。
2011年,他還帶Nojitsu四分之三的碼農(nóng)一起開發(fā)了一款多人實時用瀏覽器合作寫歌的音樂小程序JSONloops。
不過,從2010年代初的報道,就可以看得出Marak Squires雖然碼力一流,但實在不適合做老板:
他在接受Observer采訪時,非常牛逼地自夸「哎呀我的缺陷就是不善于俯就……我司招人就招最尖子的軟件工程師,雖然損失了一些聲望,但成效很顯著哦~」。
而實際盈利的搞錢能力卻不一定相稱,在同一篇Observer采訪中,Marak Squires與老同學(xué)Charlie Robbins都表示「能盈利最好,盈利不了……呃反正我們有夢想!」的態(tài)度,JSONloops除了噱頭以外,就只在Kickstarter上眾籌化緣了兩萬美元。
并且情商真的不在線,2010年底因為不滿Hacker News對他們公司的報道,Marak Squires黑掉了Hacker News的網(wǎng)站,讓登錄者強(qiáng)行瀏覽「此站對Nodejitsu的報道不確實」的彈窗,搞得 Hacker News封禁所有關(guān)于Nodejitsu的報道,甚至帶公司域名的貼就刪。
2015年2月,Nodejitsu被GoDaddy收購,Marak Squires下一次被公眾關(guān)注,得等到2020年做炸彈客未遂被捕了。
2020年9月15日,Marak Squires在紐約租住的公寓發(fā)生火災(zāi)?;鹌鸷驧arak Squires做出了經(jīng)典的跳窗跑路動作,但跳到公寓后院就躺平不跑,毫無懸念地被捕。被捕時「情緒狀態(tài)不穩(wěn)」且「雙手有明顯燒傷」。
火頭撲滅后,公寓房東與他的鄰居在火場中發(fā)現(xiàn)了長導(dǎo)火索、「可疑粉末」、大批快遞盒后,被嚇到報警。執(zhí)法部門之后宣布以「魯莽危害他人安全」罪名起訴。
執(zhí)法部門的現(xiàn)場采證與清查發(fā)現(xiàn),盒子里裝的、和公開的粉末都是猛料:導(dǎo)火索、硝酸鉀化肥、鎂粉、硫粉、銅粉、鋁粉和混合杯,軍用爆炸物、詭雷制作的教材,生存主義者宣傳品,等等。
其實不消之后的執(zhí)法部門聯(lián)合發(fā)布會確認(rèn),光看這些材料的目錄就知道,物主肯定是動了做炸彈搞個大新聞的念頭了。
畢竟托各種文藝作品普及的福,氮鉀化肥+鎂粉+導(dǎo)火索的配料組合是要干啥簡直是婦孺皆知。而「生存主義者」現(xiàn)在在美國的公眾形象就是腦子有貴恙的怪咖:出大事要鉆洞避難做野人,沒有大事搞個大事也要……
而且Marak Squires的當(dāng)下精神狀況的確堪憂:
2018年Marak Squires因打傷女友被捕,他在搶奪女友手機(jī)時挫傷女友手臂并留下劃痕;當(dāng)時他有一個5歲的女兒,但目前「他和女孩的母親已經(jīng)分居」。
2020年事發(fā)時,Marak Squires的鄰居紛紛表示他實在孤僻,幾乎沒和鄰里有人際交往。不過也有鄰居表示寬容:「畢竟這年頭我跟自家孩子都交流得少」。
但事發(fā)后鄰居就不寬容了:「這貨簡直就是下一個郵包炸彈客嘛」「這貨跳到后院草坪上就躺倒不動了,跟沒事人一樣等差佬來抓,實在神經(jīng)病?!?/p>
Marak Squires的精神狀況還在帶累家人,鄰居們都證實了他現(xiàn)在又有個小兒子,但他不準(zhǔn)兒子出門,逼得小孩只有坐在窗邊悄悄拉開窗簾往外招手。
他的偶像亞倫·斯沃茨又是誰?
此外,在慘遭刪庫的項目描述里,Marak在還提到了一個人:亞倫·斯沃茨。
他寫到:「Aaron Swartz到底發(fā)生了什么?」
這又是誰?
斯沃茨在互聯(lián)網(wǎng)經(jīng)濟(jì)初起時,是常春藤名校中走出的又一個明星程序員和著名的網(wǎng)絡(luò)活動家,本來很有錢途,不過在一場法律訴訟后「自殺」身亡。
亞倫·斯沃茨的人生幾乎是2000年代的「碼力小天才」神話模板:
1999年,12歲的他搭建自己的網(wǎng)站;
14歲時參與初代RSS的開發(fā)組;
2005年入學(xué)斯坦福后,與同道闖業(yè)闖得太投入,肄業(yè)開發(fā)內(nèi)容平臺Infogami;
憎惡「人生苦短快用Python」的風(fēng)氣,就自己寫了與之競爭的架構(gòu);
2005年他還參與了另一個后來人盡皆知的闖業(yè)項目:Reddit。雖然沒有工作很久,但Reddit被收購后的補(bǔ)償款,讓亞倫在還不能于美國合法買啤酒的年齡,就成了百萬富翁。
亞倫·斯沃茨還長得蠻帥,真是碼界萬里挑一的人物
本來這個人生軌跡繼續(xù)走下去,很容易成為另一個扎克伯格。不過亞倫·斯沃茨的理想主義與不安分性格給自己惹了麻煩。
為標(biāo)顯自己支持「知識開源」的態(tài)度,亞倫黑掉了MIT的校園內(nèi)網(wǎng),用JSTOR數(shù)據(jù)庫的MIT權(quán)限下載了數(shù)百萬篇期刊文章并公布。據(jù)稱他通過反復(fù)旋轉(zhuǎn)自己的IP和MAC地址來繞過JSTOR和麻省理工學(xué)院設(shè)置的技術(shù)封鎖。
2011年1月,斯沃茨因此被起訴和逮捕,輸了官司的話,得吃35年牢飯。2013年1月,官司纏身的斯沃茨在家中自縊身亡,一直有人猜測他的死因有貓膩。
Marak提到他,或許是以偶像自況:我,也是同樣被萬惡的牟利社會欺壓的天才?。≠Y本家大公司一定也會因為我不順?biāo)鼈円饩推群ξ?!暗害我?/p>
不過考慮到Marak當(dāng)時的精神狀況,這實在是想多了。
畢竟大公司搞人的首選方式是派律師軍團(tuán)告人告到崩潰,正如「教父」老師的金句:「我才用不著打手,我要更多律師?!埂柑嶂陌膹?qiáng)盜比提著沖鋒槍的強(qiáng)盜狠多了」
雖然Marak似乎想把自己的「壯舉」和亞倫·斯沃茨對開源的貢獻(xiàn)聯(lián)系起來。
然而網(wǎng)友們并不買賬:「請不要把這么一個因為制作炸彈時燒傷自己以及家暴女友而被捕的人,與亞倫·斯沃茨相比?!?/p>
現(xiàn)在,項目沒了,賬號沒了,甚至都沒人想再看到Marak開發(fā)的項目。
參考資料:
https://www.reddit.com/r/programming/comments/sawkw3/marak_the_guy_behind_the_recent_breaking_of/
https://www.businessinsider.com/the-best-25-hidden-gems-of-nyc-startups-2011-5#nodejitsu-does-cloud-hosting-23
https://observer.com/2011/02/music-hack-day-hackers-ask-for-20-k-for-realtime-webbased-jamming/
https://observer.com/2011/04/nodejitsus-co-founders-on-the-power-of-node-js-and-the-beauty-of-javascript/
https://nypost.com/2020/09/16/resident-of-nyc-home-with-suspected-bomb-making-materials-charged/
https://www.nydailynews.com/new-york/nyc-crime/ny-queens-bomb-materials-man-charged-20200916-bybbhwqwijbuxg7ndsuy43w6zu-story.html
https://abc7ny.com/suspicious-package-queens-astoria-fire/6425363/
https://www.technologyreview.com/2021/12/17/1042692/log4j-internet-open-source-hacking/
本文來自微信公眾號“新智元”(ID:AI_era),編輯:好困 袁榭,36氪經(jīng)授權(quán)發(fā)布。