Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Mac

การสร้างชุมชนออนไลน์ด้วย Node-Pixel:แนวทางของ Andrew Fisher

การสร้างชุมชนออนไลน์ด้วย Node-Pixel:แนวทางของ Andrew Fisher

โดย Gitter

_Andrew Fisher ทำงานในโครงการที่รวมฮาร์ดแวร์และซอฟต์แวร์เพื่อสร้างเอฟเฟกต์แสงที่สวยงาม เขาเล่าให้เราฟังเกี่ยวกับวิธีการส่งเสริมและจัดการชุมชนโอเพ่นซอร์สรอบโครงการของเขา ค้นหาสิ่งที่เขาพูดและดูช่อง Node-Pixel Gitter._

บอกเราสักเล็กน้อยเกี่ยวกับตัวคุณและชุมชน Node-Pixel Node-Pixel คืออะไร ทุกอย่างเริ่มต้นได้อย่างไร

ฉันเป็นนักพัฒนาเว็บไซต์อาชีพมาเป็นเวลา 20 ปี และปัจจุบันเป็น CTO ของ LUXE City Guides ฉันมีส่วนร่วมในชุมชนโอเพ่นซอร์สในรูปแบบต่างๆ มาโดยตลอด และในช่วงไม่กี่ปีที่ผ่านมามีส่วนร่วมอย่างลึกซึ้งในชุมชน JavaScript Robotics (nodebots)

Node-Pixel เติบโตจากสิ่งนั้น โดยโปรเจ็กต์นี้ได้รวมฮาร์ดแวร์และซอฟต์แวร์ (JavaScript) เข้าด้วยกันโดยเฉพาะเพื่อสร้างเอฟเฟกต์แสงที่สวยงาม มันเริ่มต้นขึ้นเพราะในอดีตไม่มีวิธีที่ง่ายในการทำเช่นนั้นในโลกของ JS Hardware และฉันเป็นคนชอบแสงสวยๆ มาก เลยตัดสินใจสร้างสิ่งที่จะทำได้

ชุมชนนี้เป็นส่วนหนึ่งของชุมชน Johnny-Five และ NodeBots โดยมีผู้ที่สนใจเป็นพิเศษในด้านฮาร์ดแวร์แสงสว่างเป็นส่วนหนึ่ง (กลุ่มอื่นๆ สนใจเกี่ยวกับหุ่นยนต์แบบดั้งเดิมหรือระบบอัตโนมัติในบ้าน เป็นต้น) โปรเจ็กต์นี้ได้เห็นความมุ่งมั่นจากนักพัฒนาที่มีความสามารถที่น่าทึ่งจากทั่วโลกที่ช่วยให้บรรลุเป้าหมายของวิธีที่ตรงไปตรงมาในการควบคุมการจัดแสงฮาร์ดแวร์จาก JavaScript

คุณมีเป้าหมายร่วมกันอะไรบ้างในฐานะชุมชน

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

ปัญหาใดที่เกี่ยวข้องกับโครงการ Node Pixel คุณรู้สึกตื่นเต้นมากที่สุดในช่วงนี้

การบูรณาการในวงกว้างขึ้นใน Interchange ซึ่งเป็นโครงการที่ฉันมีส่วนร่วมด้วยอย่างแน่นอน Interchange แก้ปัญหาเฟิร์มแวร์ฮาร์ดแวร์ที่ pip และ npm แก้ปัญหาสำหรับโมดูล python และ javascript นั่นคือการจัดการแพ็คเกจสำหรับเป้าหมายเฉพาะ โครงการ Node Pixel แสดงให้เห็นถึงความจำเป็นสำหรับสิ่งนี้ภายในโลกฮาร์ดแวร์ JS และทำให้ Interchange เกิดขึ้น ดังนั้นการทำให้เข้ากันได้กับ Interchange อย่างสมบูรณ์จึงเป็นเป้าหมายใหญ่

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

อะไรคือปัจจัยที่สำคัญที่สุดที่คุณได้นำมาพิจารณาในขณะที่สร้างและดูแลรักษาชุมชน? ปัจจัยใดที่ส่งผลต่อความสำเร็จของชุมชนของคุณ

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

สิ่งที่เกี่ยวข้องกับเรื่องนี้ก็คือ เราปฏิบัติตามหลักจรรยาบรรณสำหรับการสนับสนุนโครงการ และตั้งแต่เริ่มแรก เราได้พยายามส่งเสริมชุมชนที่เปิดกว้าง ไว้วางใจ ปลอดภัย และมีความรับผิดชอบมาโดยตลอด ฉันคิดว่าเมื่อผู้คนมองว่าสิ่งนั้นเป็นเพียง "สิ่งที่เป็นอยู่" มันจะช่วยให้ผู้คนนำมาตรฐานชุดนั้นมาใช้เมื่อพวกเขามีส่วนร่วม Node Pixel ทำได้ดีในแง่นั้น แต่ก็เป็นหนี้บุญคุณอย่างมากกับงานที่กว้างขึ้นในโลกของ JS Hardware โดย Johnny-Five และ javaScript โดยทั่วไปเพื่อให้แน่ใจว่าเป็นสถานที่ที่ปลอดภัย

ความท้าทายสำคัญที่คุณพบขณะจัดการชุมชนคืออะไร

โซนเวลา!!!!

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

ประเด็นหลักที่พูดคุยกันในช่องโครงการ Node Pixel บน Gitter คืออะไร

สิ่งต่างๆ ในแต่ละวันส่วนใหญ่เกี่ยวข้องกับการสนับสนุนผู้คนที่ใช้โครงการนี้ เราแสดงความเห็นอย่างชัดเจนเกี่ยวกับการใช้ Gitter เป็นช่องทางการสนับสนุนหลัก ดังนั้นสนับสนุนให้ผู้คนเข้ามาและถามคำถาม สิ่งนี้ช่วยให้ผู้คนเริ่มดำเนินโครงการได้อย่างรวดเร็ว

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

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

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

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

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

คุณจะให้คำแนะนำอะไรแก่ผู้ที่ต้องการเริ่มต้นชุมชนโอเพ่นซอร์สออนไลน์ตั้งแต่เริ่มต้น

พูดคุยกับตัวเอง

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

วิธีหนึ่งที่ฉันจะเอาชนะสิ่งนี้ได้คือการหยิบยกปัญหาใน GitHub ของฉันและมอบหมายปัญหาให้กับตัวเอง ฉันตรวจสอบโค้ดของโค้ดของตัวเองและจดบันทึกและระดมตั๋วเพื่อแก้ไขโค้ด ฉันมักจะสังเกตสถานะปัจจุบัน ฯลฯ ใน Gitter แม้ว่าฉันจะสงสัยว่าจะไม่มีใครอ่านมันก็ตาม

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

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

ขอบคุณ!

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น