Bởi Gitter
_Andrew Fisher làm việc trong một dự án kết hợp phần cứng và phần mềm để tạo ra những hiệu ứng ánh sáng đẹp mắt. Anh ấy nói với chúng tôi về cách nuôi dưỡng và quản lý cộng đồng nguồn mở xung quanh dự án của anh ấy. Hãy tìm hiểu những gì anh ấy nói và xem kênh Node-Pixel Gitter._
Hãy cho chúng tôi biết một chút về bản thân bạn và cộng đồng Node-Pixel. Node-Pixel là gì? Mọi chuyện bắt đầu như thế nào?
Tôi là nhà phát triển web nghề nghiệp trong 20 năm và hiện là CTO của LUXE City Guides. Tôi luôn tham gia vào cộng đồng nguồn mở dưới nhiều hình thức khác nhau và trong vài năm qua đã tham gia sâu vào cộng đồng Robotics JavaScript (nodebots).
Node-Pixel phát triển từ đó, với dự án kết hợp rất cụ thể phần cứng và phần mềm (JavaScript) với nhau để tạo ra hiệu ứng ánh sáng đẹp mắt. Nó bắt đầu bởi vì trong lịch sử không có cách nào dễ dàng để làm điều đó trong thế giới Phần cứng JS và tôi là người rất thích những chiếc đèn đẹp nên đã quyết định chế tạo thứ gì đó có thể làm được điều đó.
Cộng đồng này chắc chắn là một tập hợp con của cộng đồng Johnny-Five và NodeBots, trong đó có những người đặc biệt quan tâm đến hệ thống chiếu sáng phần cứng (các nhóm khác quan tâm nhiều hơn đến robot truyền thống hoặc tự động hóa gia đình, v.v.). Dự án đã nhận được sự cam kết từ một số nhà phát triển tài năng đáng kinh ngạc trên khắp thế giới, những người đã giúp hiện thực hóa mục tiêu về một cách đơn giản để kiểm soát ánh sáng phần cứng từ JavaScript.
Các mục tiêu chung của bạn với tư cách là cộng đồng là gì?
Như đã giải thích ở trên, thực sự mong muốn được thấy mọi người sử dụng phần cứng có JavaScript và đặc biệt là có thể làm việc với phần cứng rất phức tạp bằng cách sử dụng một cách đơn giản để thực hiện việc này.
Những vấn đề nào liên quan đến dự án Node Pixel khiến bạn hào hứng nhất những ngày này?
Chắc chắn là sự tích hợp rộng rãi hơn vào Interchange, một dự án mà tôi cũng tham gia. Interchange giải quyết các phần cứng phần cứng mà pip và npm giải quyết cho các mô-đun python và javascript - tức là quản lý gói cho các mục tiêu cụ thể. Dự án Node Pixel đã minh họa sự cần thiết của điều này trong thế giới phần cứng JS và khiến Interchange diễn ra, do đó, làm cho nó tương thích hoàn toàn với Interchange là một mục tiêu lớn.
Ngoài ra, nỗ lực lớn tiếp theo là làm cho thư viện có nhiều khả năng hơn cho những thứ như hoạt ảnh và những thứ khác, để tạo ra các hiệu ứng ánh sáng thực sự phức tạp và kích hoạt tất cả chúng từ NodeJS hoặc có thể là từ trình duyệt trực tiếp.
Yếu tố quan trọng nhất mà bạn đã tính đến khi tạo và duy trì cộng đồng là gì? Những yếu tố nào góp phần vào sự thành công của cộng đồng của bạn?
Điều lớn nhất mà tôi thực sự nghĩ là tính minh bạch - chúng tôi sử dụng các vấn đề của Gitter và GitHub như một phần quan trọng trong việc này để thúc đẩy sự cộng tác giữa những người ở xa nhau về mặt địa lý. Việc có nhật ký các cuộc thảo luận của chúng ta, v.v. giúp bạn dễ dàng quay lại cộng đồng để giải thích lý do căn bản đằng sau điều gì đó, đặc biệt nếu họ là người dùng dự án nhưng có thể không đóng góp cho dự án đó.
Liên quan đến vấn đề này là chúng tôi tuân thủ Quy tắc ứng xử khi đóng góp cho dự án và ngay từ đầu, chúng tôi đã luôn nỗ lực thúc đẩy một cộng đồng cởi mở, tin cậy, an toàn và có trách nhiệm. Tôi nghĩ khi mọi người đặt ra điều đó theo “mọi thứ diễn ra như thế nào” thì điều đó sẽ giúp mọi người áp dụng bộ tiêu chuẩn đó khi họ tham gia. Node Pixel đã hoạt động tốt ở khía cạnh đó nhưng thực sự nhờ vào công việc rộng lớn hơn đang được Johnny-Five và javaScript nói chung thực hiện trong thế giới Phần cứng JS để đảm bảo những nơi an toàn.
Những thách thức chính mà bạn gặp phải khi quản lý cộng đồng là gì?
Múi giờ!!!!
Tôi đang ở Úc và hầu hết các cộng tác viên của tôi đều ở Hoa Kỳ và EU nên việc trùng lặp có thể thực sự khó khăn khi chúng tôi làm việc thông qua việc xây dựng các tính năng, v.v. Cần phải thu nhỏ Thái Bình Dương hoặc Ấn Độ Dương bằng một nửa kích thước của chúng;)
Các vấn đề chính được thảo luận trong kênh dự án Node Pixel trên Gitter là gì?
Phần lớn công việc hàng ngày đều xoay quanh việc hỗ trợ những người sử dụng dự án. Chúng tôi rất quan tâm đến việc sử dụng Gitter làm kênh hỗ trợ chính, vì vậy hãy khuyến khích mọi người tham gia và đặt câu hỏi. Điều này giúp mọi người bắt đầu và thực hiện dự án rất nhanh chóng.
Ngoài ra, khi chúng tôi xây dựng các tính năng, có rất nhiều cuộc thảo luận qua lại về các cách tiếp cận, ghi chú khi đánh giá mã, v.v. GitHub giúp giải quyết vấn đề này, tuy nhiên, chúng tôi có xu hướng sử dụng GH làm phần thứ hai của cuộc trò chuyện trôi chảy hơn này trong khi chúng tôi đi đến một cách tiếp cận, sau đó sử dụng GH để ghi lại các vấn đề và các bước giải quyết.
Dựa trên kinh nghiệm của mình, bạn có cảm thấy rằng các cộng đồng nguồn mở đã thay đổi và phát triển trong những năm qua không? Nếu vậy thì làm thế nào?
Chắc chắn rồi. Có một số điều tốt và xấu trong việc này. Một mặt, nguồn mở ít nhiều đã “thắng” phần lớn cách chúng ta xây dựng phần mềm. Với tư cách là nhà phát triển, chúng tôi muốn có thể xem, xác thực và thay đổi mã mà chúng tôi đang chạy trong các dự án của riêng mình. Bằng cách này, tôi nghĩ rằng việc phát triển phần mềm đã trở nên cởi mở hơn nhiều đối với mọi người và hy vọng điều đó sẽ giúp các nhà phát triển trong tương lai học hỏi và không lặp lại những sai lầm trong quá khứ do thiếu thông tin.
Điều tồi tệ là có thể có rất nhiều người sử dụng phần “miễn phí” của phần mềm nguồn mở và miễn phí, nơi người tiêu dùng của các dự án mong đợi các bản sửa lỗi xảy ra ngay lập tức hoặc một tính năng mới được thêm vào chỉ vì họ yêu cầu. Việc có thể sử dụng các công cụ để tương tác với mọi người nhằm làm dịu đi cách tiếp cận này là vô giá vì bạn có thể thường xuyên khuyến khích ai đó giúp đóng góp và có khả năng xây dựng tính năng mà họ muốn xem như một phần của dự án.
Nhìn chung, tôi nghĩ cộng đồng hiện nay đã giống một cộng đồng hơn và tôi tin rằng mặt tốt chắc chắn sẽ nhiều hơn những mặt tiêu cực — nhưng chúng ta nên luôn xem xét những gì có thể làm để giúp tất cả các dự án có trải nghiệm tốt hơn.
Bạn sẽ đưa ra lời khuyên gì cho những người muốn bắt đầu một cộng đồng nguồn mở trực tuyến từ đầu?
Hãy nói chuyện với chính mình.
Điều đó nghe có vẻ kỳ lạ nhưng thường khiến bạn nản lòng khi là người duy nhất làm việc trong một dự án. Bạn có một ý tưởng, bạn ném mã của mình lên đó và đợi mọi người chọn nó. Việc này có thể rất khó khăn vì bạn đang mở lòng đón nhận những lời phê bình có thể xảy ra.
Một trong những cách tôi vượt qua vấn đề này là nêu ra các vấn đề trong GitHub của mình và tự giao chúng cho chính mình. Tôi thực hiện đánh giá mã của riêng mình và ghi chú về nó cũng như yêu cầu sửa mã. Tôi cũng thường xuyên lưu ý các trạng thái hiện tại, v.v. trong Gitter mặc dù tôi nghi ngờ sẽ không có ai đọc nó.
Tuy nhiên, điều buồn cười với cách tiếp cận này là nó giúp bạn tinh tế hơn trong cách nói về dự án của mình với người khác sau này, đồng thời bạn cũng xây dựng được một hệ thống tài liệu, cơ sở lý luận và “sự sống động” về dự án của mình, đồng thời giúp những người khác đóng góp dễ dàng hơn — ngay cả khi họ nghĩ rằng họ đang cộng tác với một kẻ điên tự nói chuyện với chính mình (điều mà tất cả chúng ta đều làm).
Vì vậy, lời khuyên của tôi là hãy nói chuyện với chính mình. Nó giúp trình bày rõ ràng dự án của bạn, giúp bạn dễ tiếp cận và cộng đồng phải bắt đầu từ một người nên hãy người mà nó bắt đầu.
Cảm ơn!
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu