구텐베르그에 기고: 새로운 기고자의 경험

게시 됨: 2018-10-13

다음은 Gutenberg에 대한 학습 및 기여 경험을 공유하는 Chris Van Patten의 게스트 게시물입니다. 구텐베르그의 새로운 기여자에 대한 진입 장벽이 높다는 이야기가 많이 있습니다. Van Patten은 잡지 발행인을 위한 디지털 에이전시인 Tomodomo의 설립자입니다.


지난 몇 달 동안, 특히 지난 몇 주 동안, 곧 출시될 워드프레스용 구텐베르크 편집기에 기여하는 데 있어 진입 장벽에 대한 광범위한 대화가 있었습니다.

물론 모든 사람의 경험은 주관적이고 고유합니다. 나는 모두가 느낀 것을 이해하는 척 할 수 없습니다. 그러나 내 경험은 일부 사람들이 분명히 말한 것과 달랐고 내 자신의 견해를 공유하고 싶었습니다.

초기

내 인생의 거의 절반을 WordPress를 사용해 왔습니다. 이제 거의 15년. 나는 WordPress의 초기 버전 중 일부를 기억합니다. 클래식 테마인 Kubrick, MP6의 출현이 오늘날까지 이어집니다.

WordPress 백엔드의 초창기

커뮤니티의 많은 사람들과 마찬가지로 저도 완전히 독학했습니다. 나는 컴퓨터 공학에 대한 배경 지식이 없으며 내 벨트 아래에서 정식 교육을 받은 적이 없습니다. 나는 시행 착오를 통해 코드를 집어 들었고 파일을 조정하고 변경하고 싶은대로 내 사이트를 깨뜨 렸습니다.

초창기부터 WordPress는 개인 프로젝트와 에이전시인 Tomodomo의 클라이언트 모두에서 항상 제가 선택한 CMS였습니다. 그러나 WordPress 플랫폼에 전념했음에도 불구하고 내 기여는 제한적이었습니다.

Trac에 게시하는 것과 관련된 규칙, 의식 및 에티켓은 난해하고 읽을 수 없는 것처럼 보였습니다. 지금까지 SVN 패치에 목숨이 달려 있었다면 SVN 패치를 만들 수 없었습니다. 그리고 수년간의 역사와 이전 버전과의 호환성으로 가득 찬 핵심 코드의 대부분은 내가 구별하기 어려웠습니다.

그래서 대신 다른 방식으로 기여했습니다. 제가 구축하고 있던 간단한 사용자 정의 플러그인을 오픈 소싱하고, WordCamp와 모임을 조직하고, 전 세계의 WordCamp에서 연설했습니다. 하지만 그 애매한 '소품'을 얻을 방법을 찾을 수 없다는 것이 항상 저를 괴롭혔습니다.

(그래서 한 릴리스에서 실제로 소품을 얻었지만 실수라고 확신합니다. 티켓을 열거나 패치를 제공하지 않았습니다.)

간다… 간다… 구텐베르그

처음 구텐베르크에 대해 배우고 탐험을 시작했을 때 나는 두려웠습니다. 처음에는 무섭게 느껴졌다. 내 JavaScript 능력은 jQuery 이상으로 확장되지 않았습니다. React는 이해할 수 없었고 그 이면의 아이디어를 이해하려면 박사 학위가 필요할 것 같았습니다. 나는 여전히 Webpack이 마법을 부리는 방식을 이해하지 못합니다. 정말 누군가요?

그러나 새로운 블록 인터페이스의 가능성은 무시하기에는 너무 매력적이었습니다. 그래서 나는 다이빙을 시작했고 그것이 어떻게 작동하는지 알아내기 시작했습니다. 그 시절(올해 초라고도 함)에 구텐베르크는 여전히 가장자리가 매우 거칠었고 개선의 기회가 많았습니다. 나는 GitHub 리포지토리에 숨어 문제를 읽고, 코드를 검사하고, 일반적으로 무슨 일이 일어나고 있는지에 대해 머리를 싸매기 시작했습니다.

클라이언트 프로젝트를 위해 Gutenberg를 가지고 놀면서 사용자 인터페이스 버그와 같은 간단한 문제를 보고하기 시작했습니다. 나는 티켓에 대한 논평을 시작했고, 일반적으로 특정 기능에 대한 제안을 제공했으며, 독립 개발자의 관점에서 옹호하려고 노력했습니다.

첫 풀 리퀘스트를 제출하기도 했습니다! 간단했다. 매주 #core-editor 미팅의 날짜와 시간을 포함하도록 README를 업데이트했습니다(궁금하면 UTC 수요일 오후 1시). 그것은 불길한 시작이었지만 합병하게 되어 기뻤습니다.

시간이 지남에 따라 내 지식이 성장했습니다. 웹 개발 초기에 여기에서 CSS 속성을 배우고 거기에서 HTML 요소를 배우는 것과 같았습니다. 구성 요소가 무엇인지, 다양한 상황에서 어떻게 재사용할 수 있는지 배웠습니다. 나는 JSX, ES6, 그리고 Gutenland에서 마주치는 다른 미친 두문자어에 대해 배웠습니다.

구텐베르크로 더 많은 것을 구축하면서 구텐베르크 자체를 구축 하는 새로운 방법도 찾고 있었습니다. 나는 더 많은 토론을 이해할 수 있었고 내 생각과 제안을 할 수 있었습니다. 나는 풀 리퀘스트를 열기 시작했고, 주로 디자인 문제를 다루었지만 작은 버그와 단점도 해결했습니다. 나는 이전에 README에 추가한 주간 회의에 참석하기로 했고, 공유할 관점이 더 많다고 느꼈을 때 끼어들었다.

오늘 저는 기존 티켓에 대한 수십 개의 댓글 외에도 25개의 새로운 문제와 27개의 풀 리퀘스트를 받았습니다. 저는 GitHub의 Gutenberg 팀의 '구성원'이며 매일 새로운 버그를 분류하거나 pull 요청을 검토할 시간을 찾으려고 노력합니다. 그 지점에 도달하는 데 1년의 대부분이 걸렸고 확실히 항상 쉽지는 않았습니다. 아직 배울 것이 너무 많습니다.

구텐베르크에 기여하는 것이 얼마나 어려운지 들었을 때, 나는 그것을 내 자신의 경험과 조화시킬 수 없습니다. 그게 쉬운 일이 아니라는 말은 아닙니다. Gutenberg는 WordPress 코어와 매우 다르게 일을 하며 의심할 여지 없이 학습 곡선이 있습니다.

구텐베르크에 대한 공헌을 위한 조언

처음부터 코딩하는 것이 익숙하지 않다면 기여할 수 있는 다른 방법이 많이 있습니다. 문제를 읽고 자신의 아이디어와 제안을 추가하십시오. 버그 보고서를 테스트하고 복제해 보십시오. 오타 및 문법 수정에 대한 인라인 문서를 검색하십시오. 이 모든 것이 가치 있고 항상 감사합니다.

삼투압을 통해 Guten-way를 흡수하면 코드가 생각만큼 어렵지 않다는 것을 알게 될 것입니다. 단지 다를 뿐입니다. Gutenberg를 만드는 지적인 사람들은 '컴퓨터 과학' 부분을 숨기는 데 훌륭한 일을 해냈으므로 나머지 사람들은 데이터 바인딩 및 기타 복잡한 아이디어에 대해 걱정할 필요가 없습니다. 나는 여전히 상태 관리, 데이터 저장소 또는 컨텍스트 API를 설명할 수 없지만 개선할 코드의 작은 영역을 찾을 수 있었습니다.

이것은 구텐베르크와 그 발전에 대한 누군가의 좌절이나 혼란을 부정하려는 것이 아닙니다. 문서는 여전히 많은 곳에서 부족합니다. 일부 API는 직관적이지 않습니다. 도구는 설정하기가 가장 간단하지 않습니다. 이것들은 실제 문제이며, 나는 그것들이 존재하지 않는 척하고 싶지 않습니다. 우리는 의심할 여지 없이 구텐베르그 개발을 더 쉽게 만들기 위해 더 많은 일을 할 수 있습니다.

물론 저는 확인할 수 있는 권한이 있습니다. GitHub 리포지토리에서 코드를 실험하고 주간 회의에 참여할 시간이 있어서 운이 좋습니다. 나는 그것이 많은 사람들에게 현실이 아니라는 것을 알고 있습니다.

시간을 못 찾으면 클래식 편집기가 계속 옵션이 될 것이고, 업그레이드를 연장하는 것은 부끄러운 일이 아닙니다. 구텐베르그 경험이 우리 모두가 원하는 만큼 직관적이 되기까지는 시간이 걸릴 수 있으며, 그것을 기다리는 것은 완전히 합리적입니다.

그러나 WordPress가 무엇인지에 대한 몇 가지 새로운 아이디어에 마음을 열고 시간을 낼 수 있다면 기여하기가 얼마나 쉬운지 놀라게 될 것입니다. 난감한 경우 #core-editor 또는 포럼을 방문하십시오. 버그 보고서나 제안을 게시하는 것을 두려워하지 마십시오. 이전에 보고된 경우 다른 문제와 통합할 수 있지만 추가 정보는 여전히 중요합니다. 모든 경험이 중요합니다.

나는 Gutenberg와 함께하는 WordPress의 미래와 마침내 진정한 WordPress 기고자가 되는 것에 대해 매우 흥분됩니다. 우리는 갈 길이 멀지만, 변화를 만들 수 있는 흥미로운 방법이 여전히 많다는 것을 의미합니다. 이 프로젝트는 더 많은 독립적인 커뮤니티의 목소리가 들릴 때만 더 강력해질 것입니다.

당신이 우리와 함께하기를 바랍니다!