StandardJS หยุดการทดสอบโฆษณาในเทอร์มินัลหลังจาก Linode ดึงผู้สนับสนุน

เผยแพร่แล้ว: 2019-08-29

Feross Aboukhadijeh ผู้ดูแลไลบรารี StandardJS คู่มือรูปแบบ JavaScript linter และโปรแกรมแก้ไขโค้ดอัตโนมัติ ได้เปิดตัวการทดสอบเมื่อสัปดาห์ที่แล้วซึ่งวางโฆษณาในเทอร์มินัลเพื่อเป็นทุนในการพัฒนา การทดลองดังกล่าวได้หยุดชั่วคราวหลังจากได้รับการตอบรับเชิงลบจากชุมชนนักพัฒนา ทำให้ Linode หนึ่งในผู้สนับสนุนรายแรกต้องลบโฆษณาออก

“ผมคิดว่ารูปแบบโอเพ่นซอร์สแบบยั่งยืนในปัจจุบันนั้นใช้งานไม่ได้ และเราต้องการการทดลองเพิ่มเติม” อาบูคาดิเยห์กล่าว “นี่คือการทดลองอย่างหนึ่ง” เขาพัฒนาโมดูลที่แทรกโฆษณาทุกครั้งที่ติดตั้ง Standard 14 กองทุนสปอนเซอร์ถูกกำหนดให้จ่ายสำหรับเวลาผู้ดูแล ซึ่งเขากำหนดให้เป็น “การเขียนคุณสมบัติใหม่ แก้ไขข้อบกพร่อง ตอบคำถามของผู้ใช้ และปรับปรุงเอกสารประกอบ”

Aboukhadijeh เป็นนักพัฒนาที่อุดมสมบูรณ์ซึ่งได้เขียนแพ็คเกจมากกว่า 100 รายการใน npm ที่มีการดาวน์โหลดมากกว่า 100 ล้านครั้งต่อเดือน Standard เป็นโครงการโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดของเขา และถูกใช้โดยโครงการและบริษัทที่มีชื่อเสียง ซึ่งรวมถึง Node.js, npm, GitHub, Automattic และอื่นๆ อีกมากมาย

Abukhadijeh กล่าวว่าเป้าหมายของเขาในการทดลองคือการทำให้ Standard และโครงการโอเพ่นซอร์สอื่น ๆ มีสุขภาพที่ดีขึ้น

“ด้วยเหตุผลที่ซับซ้อน โดยทั่วไปบริษัทต่างๆ จะลังเลหรือไม่เต็มใจที่จะให้เงินทุนสนับสนุน OSS โดยตรง” เขากล่าว “เมื่อมันเกิดขึ้น มันจะไม่เพียงพอและไม่ถึงแพ็คเกจที่มีการพึ่งพาสกรรมกริยา (เช่นแพ็คเกจที่ไม่มีใครติดตั้งอย่างชัดเจนดังนั้นจึงไม่มีใครรู้ว่ามีอยู่จริง) โดยพื้นฐานแล้ว เรามีสินค้าสาธารณะซึ่งมีผู้ใช้จำนวนมากบริโภค แต่แทบไม่มีใครจ่ายให้ โชคดีที่มีรูปแบบการระดมทุนที่มักจะใช้ได้กับสินค้าสาธารณะเช่นนี้ – โฆษณา”

นี่คือตัวอย่างโฆษณา LogRocket ที่เป็นส่วนหนึ่งของการทดสอบครั้งแรก:

ในขณะที่นักพัฒนาบางคนสื่อสารถึงการสนับสนุนผู้ดูแลโอเพ่นซอร์สเพื่อสร้างรายได้จากโครงการของพวกเขาไม่ว่าจะด้วยวิธีใดก็ตาม คำติชมส่วนใหญ่เกี่ยวกับ GitHub, Hacker News, Reddit และโซเชียลมีเดียได้วิพากษ์วิจารณ์แนวทางนี้อย่างยิ่ง

William Hilton ผู้พัฒนาที่ Stoplight คาดการณ์ถึงผลที่ตามมาของการโฆษณาประเภทนี้ที่กลายเป็นรูปแบบการระดมทุนที่ได้รับความนิยม:

ฉันกังวลว่าการติดตั้ง npm จะกลายเป็นโฆษณาแบนเนอร์ที่ยาวเหยียด แต่ในที่สุดแล้วมันจะไม่ปรับขนาด เพราะหากทุกแพ็คเกจ npm เพิ่มโฆษณา ความชัดเจนของโฆษณาแต่ละรายการจะลดลง (ที่น่าสนใจคือ “อสังหาริมทรัพย์” ที่มีค่าที่สุดจะเป็นแพ็คเกจที่มีแบนเนอร์แสดงอยู่ท้ายสุด ดังนั้นหากกลายเป็น “เรซ-ทู-เดอะ-ล่าง” ตามตัวอักษร ผู้คนอาจเพิ่มข้อความสั่งการสลีปในสคริปต์หลังการติดตั้งเพื่อให้แสดงอยู่ใกล้ที่สุด ด้านล่าง ช่างเป็นประสบการณ์การติดตั้ง dystopian!)

เขายังตั้งข้อสังเกตอีกว่า Yarn บล็อกเอาต์พุตของสคริปต์หลังการติดตั้ง ซึ่งในกรณีนี้จะทำหน้าที่เป็นตัวบล็อกโฆษณาในตัว ผู้ดูแลของ Yarn ได้เข้าร่วมในเธรดพร้อมบริบทที่มากขึ้น

“ในฐานะผู้ดูแลเส้นด้าย ฉันไม่เห็นด้วยกับรูปแบบนี้อย่างยิ่ง แม้ว่าจะไม่ใช่เหตุผลที่คุณอาจคิดก็ตาม” Mael Nison กล่าว “สคริปต์หลังการติดตั้งลดประสิทธิภาพของแพ็คเกจและทำลายเวิร์กโฟลว์

“Yarn ไม่ได้พิมพ์บันทึกการสร้างเว้นแต่จะทำให้การติดตั้งขัดข้อง ดังนั้นสคริปต์หลังการติดตั้งนี้จะไม่มีผลใดๆ ต่อผู้ใช้ของเรา ถึงกระนั้น ฉันให้ความสำคัญกับความสมบูรณ์ของระบบนิเวศเป็นอย่างมาก ทั้งจากมุมมองของผู้ดูแลและผู้ใช้ และฉันยินดีที่จะพูดคุยถึงวิธีที่เราจะตอบสนองกรณีการใช้งานนี้ในลักษณะบูรณาการมากขึ้นและรบกวนน้อยลง”

เนื่องจากเป็นการทดสอบที่ใหม่กว่าและยังไม่เข้าสู่กระแสหลัก จึงไม่ชัดเจนว่า npm อาจตัดสินใจบล็อกวิธีการทั้งหมดในการให้บริการโฆษณาผ่านเทอร์มินัลในอนาคต โมดูลใหม่ที่เรียกว่า No CLI Ads ถูกสร้างขึ้นเพื่อตอบสนองต่อโมดูลการระดมทุนของ Aboukhadijeh มันบล็อกโฆษณาไม่ให้ปรากฏในเอาต์พุตคอนโซล npm-adblock เป็นอีกทางเลือกหนึ่งที่ทำงานในลักษณะที่ต่างออกไป การมีอยู่ของวิธีการบล็อกโฆษณาประเภทนี้ที่เรียบง่ายแต่ไม่สะดวกอาจเป็นสิ่งที่จำเป็นในการทำให้กระแสรายได้ใด ๆ หมดไป

คำติชมเกี่ยวกับการทดลองนี้แสดงให้เห็นว่ามีการสนับสนุนอย่างกว้างขวางในการค้นหาวิธีแก้ไขปัญหาการระดมทุนแบบโอเพนซอร์ส แต่ส่วนใหญ่เห็นด้วยว่าโฆษณาเทอร์มินัลไม่ใช่ตัวเลือกที่ใช้งานได้ อันที่จริง ผู้แสดงความคิดเห็นหลายคนระบุว่าวิธีนี้เป็นสิ่งที่น่ารำคาญที่สุดที่ผู้ดูแลแพ็คเกจสามารถทำได้ นอกเหนือจากการลบแพ็คเกจ นักพัฒนาไม่ต้องการถูกสแปมขณะติดตั้งการพึ่งพา ผู้วิจารณ์คนหนึ่งอธิบายว่าสถานีปลายทางของเขาเป็น "ที่มั่นสุดท้าย" และ "ที่พำนักแห่งสันติภาพ" ที่ไม่แสดงโฆษณาจากผู้นำองค์กร

“การขายพื้นที่โฆษณาไม่ใช่นวัตกรรม” นักพัฒนา Matthias Hogerheijde กล่าว “และมันไม่มีประโยชน์อย่างยิ่งในบันทึกของฉัน สำหรับฉัน มีปัญหามากกว่าที่ฉันไม่ต้องการสิ่งที่ไม่ช่วยฉันในบันทึกของฉัน ฉันเห็นด้วยอย่างสุดใจที่จะใส่ 'ได้รับการสนับสนุนจากบริษัท X' ของคุณใน readme ซึ่งช่วยให้ฉันเข้าใจ และตรงใจฉันเมื่อเห็นบางบริษัทบริจาคเงินให้กับ OSS ฉันเองก็อยากอยู่ในโลกที่สมบูรณ์แบบที่นักพัฒนาทุกคนสามารถอยู่อาศัย จ่ายค่าเช่า และทำงานเฉพาะในโครงการที่พวกเขาต้องการได้ โลกที่สมบูรณ์แบบสำหรับฉันนั้นไม่มีโฆษณาในเทอร์มินัลของฉัน”

ผู้แสดงความคิดเห็น Reddit ตลกกับแนวคิดนี้ โดยเขียนตัวอย่างโฆษณาที่ขัดจังหวะกระบวนการสร้าง:

Linode ดึงผู้สนับสนุนจากการทดสอบ Terminal Ads ของ Standard

ผู้ใช้ Standard.js ที่ไม่พอใจกับโฆษณาในเทอร์มินัลของตนบ่นกับผู้สนับสนุนและ Linode ตัดสินใจลบโฆษณาออกจากการทดสอบ

“เราพิจารณาอีกครั้งหลังจากไตร่ตรองถึงปฏิกิริยาของชุมชนนักพัฒนา” ตัวแทน Linode กล่าวบน Twitter “เรายังคงสนับสนุนซอฟต์แวร์โอเพ่นซอร์สอย่างกระตือรือร้นพร้อมกับ @feross แต่เราจะระมัดระวังมากขึ้นเกี่ยวกับการทดลองในอนาคตในขณะที่สร้างสรรค์สิ่งใหม่ๆ ต่อไป”

ก่อนที่จะหยุดการทดลองชั่วคราว Aboukhadijeh รายงานว่าเขาได้ระดมทุน 2,000 ดอลลาร์ ซึ่งเพียงพอสำหรับเวลาห้าวันในการปล่อย Standard 14

“ถ้าเราสามารถระดมทุนเพิ่มเติมได้ สิ่งต่อไปที่ฉันต้องการเน้นคือการสนับสนุน TypeScript ที่พร้อมใช้งานทันทีใน StandardJS (หนึ่งในคำขอคุณสมบัติที่พบบ่อยที่สุด!) และการปรับปรุงปลั๊กอินแก้ไขข้อความต่างๆ ( ซึ่งหลายแห่งยังไม่ได้รับการบำรุงรักษา)” อาบูคาดิเยห์กล่าว “หากคนอื่นๆ ในชุมชนสนใจที่จะเป็นผู้นำในประเด็นเหล่านี้ ฉันอยากจะแนะนำเงินทุนบางส่วนให้กับคุณ”

การทดลองไม่ได้อยู่นอกตารางทั้งหมด เนื่องจากดูเหมือนว่าจะบรรลุเป้าหมายอย่างหนึ่งของ Aboukhadijeh แม้ว่าชุมชนนักพัฒนาจะน่ารำคาญ (และในบางกรณีก็สร้างความโกรธเคือง)

เมื่อสี่วันก่อน Standard ล็อกเธรด GitHub ที่พูดถึงรูปแบบการระดมทุนใหม่หลังจากที่มันร้อนเกินไป ผู้ดูแลโปรเจ็กต์กำลังประเมินการทดสอบซ้ำครั้งนี้ แต่การอภิปรายครอบคลุมมากกว่าคำถามง่ายๆ ว่านักพัฒนาชอบโฆษณาในเทอร์มินัลของตนหรือไม่ หัวข้อใหม่ใน repo ของโปรเจ็กต์ชื่อ “What’s wrong with Open Source now?” ได้เปลี่ยนความคิดเห็นเชิงลบบางส่วนไปสู่การอภิปรายในวงกว้างและมีประสิทธิผลมากขึ้น

การทดลองได้จุดประเด็นการสนทนาที่สำคัญเกี่ยวกับความยั่งยืนของโอเพ่นซอร์สและตำแหน่งที่ผู้ดูแลโครงการต้องการเห็นในอนาคต ในทวีตล่าสุด Aboukhadijeh ได้แชร์ลิงก์ไปยังสถานการณ์เฉพาะที่ผู้ดูแลรายหนึ่งต้องเผชิญในการสนับสนุนไลบรารีที่เน้นไวยากรณ์ฟรี

หลังจากได้รับความคิดเห็นและอีเมลเร่งด่วนหลังจากการเผยแพร่ซึ่งมีข้อผิดพลาดที่ทำให้การพึ่งพาล่ม Ivan Sagalaev ผู้เขียนต้นฉบับของ highlight.js ได้สรุปสถานะปัจจุบันของความสัมพันธ์ระหว่างธุรกิจและโครงการโอเพ่นซอร์สอย่างเหมาะสม:

เรียน วิศวกรทั้งหลาย โปรดใช้ความสะอื้นนี้เป็นโอกาสที่จะอธิบายให้นักธุรกิจของคุณทราบว่าทรัพย์สินทางปัญญาทั้งหมดของพวกเขาเป็นชั้นบาง ๆ บนรากฐานที่สั่นคลอนของรหัสโอเพนซอร์ซที่ดูแลโดยมือสมัครเล่นอย่างเกียจคร้านหรือจ่ายโดยธุรกิจอื่นที่มี เป้าหมายของตัวเองในใจ

หากพวกเขาต้องการความเสถียรจริง ๆ พวกเขาก็ต้องลงทุนในมัน เช่น การจ้างวิศวกรเพื่อจัดการกับการพึ่งพามากมาย รักษาเสถียรภาพของส้อมในพื้นที่ การสนับสนุนแพตช์ต้นน้ำ หรืออะไรก็ตาม - ประเด็นสำคัญคือไม่ควรมีลักษณะเหมือน 'แค่ ทำงานบนผงนางฟ้า