우수 답변
제가 맡겠습니다.
먼저 무엇보다도이 스레드에서 “ 초보자 인 경우 GitHub의 오픈 소스 프로젝트에 기여하지 마세요! 좌절 및 분노 !”
어떤 것이 누군가에게 좌절과 분노를 일으킨다 고해서 같은 일이 당신에게 비슷한 반응을 일으킨다는 의미는 아닙니다. 미안하지만 부정적인 전망이었습니다.
사실, 오픈 소스에 기여하는 것은 초급, 중급 또는 경험과 차별화되는 부분입니다. 기술 또는 코딩 여정에서 더 발전 할 수 있도록 지원합니다. 물론, 당신은 영원히 초보자가되고 싶지 않습니까?
저는 초보자들이 GitHub의 오픈 소스에 기여할 것을 적극 권장합니다. 이 답변을 읽은 직후에 어떻게 할 수 있는지 정확히 보여줄 것입니다.
많은 사람들이 오픈 소스 GitHub 프로젝트에 기여하려면 반드시 일종의 코드를 작성해야한다고 생각합니다.
그들은 일부 오픈 소스 자바 스크립트 라이브러리 또는 프레임 워크의 일부 공개 저장소에 일종의 문제 나 버그가있을 것이며 기여하기로 결정하면 해당 버그를 수정해야한다는 인공적인 그림을 떠 올립니다.
그건 사실이 아닙니다. (항상) .
GitHub에서 오픈 소스에 기여하는 것으로 시작했습니다.
오픈 소스에 기여하는 것이 반드시 코드 작성을 의미하는 것은 아닙니다.
- 사람들에게 프로그래밍 언어 학습에 대한 지침을 제공 할 수도 있습니다. 오픈 소스 기여자로 간주
- 프런트 엔드 개발자가되기위한 길을 사람들에게 보여주는 것도 오픈 소스 기여로 간주 될 수 있습니다.
- 글쎄요. GitHub에서 오픈 소스 활동에 기여하는 비 전통적인 방법도 오픈 소스에 대한 저의 기여로 간주 될 수 있습니다.
이야기 충분합니다. 지금 바로 오픈 소스에 기여할 수있는 방법을 알려 드리겠습니다.
공개 GitHub 저장소 하나에 기여하는 것에 대한 개인적인 경험을 설명하는 것부터 시작하겠습니다.
저는 일부 개발자 커뮤니티 관련 포럼의 일부입니다. 그들 중 다수. 어느 날 스레드를 만든 사람이 다음과 같이 언급했습니다.
“나는 다음을 사용하여 GitHub 저장소를 만들었습니다. 초보자에게 999 개의 C 프로그램을 제공하는 것을 목표로했습니다. 그 중 7 개를 만들었습니다. 앞으로 992 개를 더 만들었습니다. “
매우 흥미로 웠습니다. 나는 그의 repo 링크를 재빨리 클릭하고 그가 만든 7 개의 프로그램을 탐색했다. 그들은 진정으로 초보자에게 친숙했고 C 프로그래밍을 시작하는 사람들을 돕기 위해 그의 목표에 완벽하게 부합했습니다.
저는 그의 GitHub 저장소를 빠르게 포크했습니다. 내 로컬 컴퓨터에서 해당 저장소를 복제했습니다. 그리고 그 사람이 다른 7 개 프로그램을 위해 따랐던 형식과 구조에 따라 솔루션이있는 초보자 친화적 인 C 프로그램을 만들었습니다. 분기 된 저장소에 변경 사항을 푸시했습니다. “솔루션이 포함 된 초보자 친화적 인 C 프로그램을 추가했습니다”라는 메시지와 함께 해당 사용자의 원래 저장소에 대한 풀 요청 (PR)을 수행했습니다. 그 사람이 내 PR 요청을 승인하고 마스터 브랜치의 변경 사항을 병합했습니다. 다음 날, 하나 더 프로그램으로 똑같이했습니다.
잘 됐습니다. 내 오픈 소스 기여. 예. 이 기여에 대한 코드를 작성해야했습니다. 하지만 이전에 찍었던 것과는 완전히 다른 것이었다. 유명한 라이브러리 나 프레임 워크에서 고급 수준의 버그 나 문제를 해결하지 못했습니다. 방금 대학에서 배운 초보자 친화적 인 프로그램 하나에 대해 생각하고 그에 대한 솔루션을 제공했습니다.
다음 아이디어를 기반으로 자신의 프로필에 GitHub 저장소를 만들 수 있습니다.
- 프런트 엔드 개발을 배우기위한 최고의 리소스 (기사 링크, 서적, 비디오 리소스, 무료 과정 등을 언급)
- 파이썬에서 최고의 작업 자동화 스크립트 (스크립트를 온라인으로 가져와 한 곳에서 수집) , 원저자에게 기여)
- 다른 데이터베이스에 대한 개요 (MySQL, MongoDB, SQL Server, Oracle 등과 같은 유명한 데이터베이스에 대한 사람들을 교육합니다. 다른 데이터베이스를 선택해야하는 이유를 설명합니다.)
- 또는 인터넷 전체에 교육적이라고 생각되는 모든 것
ReactJS에 관심이 있다면 내 GitHub 저장소에 자유롭게 기여하세요. UnnitMetaliya / 99-reactjs-project-ideas
저는 사람들이 ReactJS 라이브러리를 사용하여 개발할 수있는 99 개의 간단한 프로젝트 아이디어를 제공하기 위해 노력하고 있습니다. 아이디어가 있습니까? 큰. 내 저장소를 포크하십시오. # 001 폴더와 동일한 구조로 아이디어를위한 폴더를 만듭니다. 포크 한 저장소로 푸시합니다. 내 마스터 브랜치에 풀 요청을합니다. 그게 다입니다.
tl; dr >> GitHub에서 오픈 소스에 기여한다고해서 반드시 코드를 작성할 필요는 없습니다. 코드 작성 외에 오픈 소스에 기여하는 방법에는 수백 가지가 있습니다.
답변
첫째, 오픈 소스 소프트웨어는 자유롭게 사용할 수있는 소프트웨어입니다. 누구나 변경 및 공유 (수정 또는 수정되지 않은 형태로)합니다.
오픈 소스가 무엇인지에 대한 이론적 의미이므로 더 깊은 의미는 사물을 사용자에게 투명하게 유지하려는 비전과 일치하여 사용자는 무슨 일이 일어나고 있는지 완전히 이해하므로 특정 소프트웨어 / 하드웨어에서 원하는 기능을 추가하여 차이를 만들 수 있습니다.
오픈 소스의 첫 번째 단계는 조직을 식별하는 것입니다. 당신이 좋아하거나 누구의 비전이 당신이 정말로 세상에 돌려주고 싶은 것과 일치합니다. 이러한 각 조직은 사람들에게 무언가를 돌려주는 자체 비전과 사명을 가지고 있습니다. 저는 사람들에게 경계없는 인터넷을 제공하고 웹을 무료로 유지하려는 그들의 비전과 사명으로 인해 Mozilla에 기여합니다.
우리의 임무는 웹에서 개방성, 혁신 및 기회를 촉진하는 것입니다.
Mozilla는 인터넷을 유지하고 인터넷을 유지하기 위해 협력하는 기술 전문가, 사상가 및 건축업자로 구성된 글로벌 커뮤니티입니다. 액세스 할 수 있으므로 전 세계 사람들이 정보에 입각 한 기여자 및 웹 제작자에게 정보를 제공 할 수 있습니다. 우리는 개방형 플랫폼을 통한 이러한 인간 협력 행위가 개인의 성장과 우리의 공동 미래에 필수적이라고 믿습니다.
Fedora, Ubuntu, GCC, Python, OpenCV, KDE와 같은 다른 많은 조직도 있습니다. 이러한 조직에 속한 많은 사람들은 사명 / 비전이 자신의 생각과 일치하거나 사회 전체에 환원하는 것이 최선이라고 생각하기 때문에 전적으로 일합니다.
조직을 선택하면 선택하거나 기여할 수있는 여러 프로젝트, Firefox는 Mozilla의 주요 프로젝트 중 하나입니다. MDN (Mozilla Developer Network), Firefox OS, Persona 등과 같은 다른 많은 프로젝트도 있습니다. 여러분의 선택에 기여를 시작하는 방법에 대한 웹 페이지 / 위키 페이지가있을 수 있습니다. Mozilla에는 What Can I Do for Mozilla [1]라는 것이 있습니다. 선택한 프로그래밍 언어를 기반으로 사람들을 자신의 관심사로 명확하게 안내하는 데 도움이됩니다. 그래서 시작할 수있는 것과 같은 것을 찾으십시오. 다음 단계는 몇 가지 버그를 찾고 필요한 소스 코드를 가져 와서 특정 개발 머신에 시스템을 구축하고 마지막으로 패치를 보내는 것입니다.
주요 차이점 오픈 소스 조직의 코드베이스와 대학 데이터 구조 또는 유사한 과정에서 사용되는 코드베이스 사이의 e는 코드베이스의 크기입니다. 콘텐츠가 어디에 있고 어떤 코드 세그먼트가 주요 과제를 수행하는지 파악합니다. 처음에는 프로그래밍 언어를 알고 있더라도 코드 기반을 이해하는 것이 어려울 수 있지만 그만한 가치가 있습니다. 당신은 “올바른 방향으로 가고 있고 당신이 정확히 무엇을하고 있는지 알고 있다면 당신을 돕기 위해 약간의 시간을 할애 할 수있는 훌륭한 사람들이 당신을 도와 줄 것입니다.
예, 오픈 소스 프로젝트에 기여하려면 코드 기반에 기여할 의사가있는 경우 적어도 하나의 프로그래밍 언어에 대한 건전한 지식이 필요합니다. 이 외에도 각 프로젝트에 대한 문서를 읽을 수있는 꽤 좋은 읽기 기술과 인내심, 많은 버전 제어 시스템 중 하나를 이해합니다. git, mercurial 또는 svn
내가 아는 한 거기 ” “올바른”접근 방식이라고하는 것은 없습니다. 특정 소프트웨어를 사용하기 때문에 때때로 개인의 오픈 소스 기여가 들어오고 특정 기능을이 소프트웨어에 통합함으로써 삶이 더 쉬워 지므로이를 통합하고 원래 코드에 다시 기여합니다. 기본적으로, 다른 사람들은 다른 요구 사항을 가지고 있고 필요에 따라 소프트웨어를 사용자 정의합니다. 일부는 “다른 사람에게 도움이되기를 바라며 변경 사항에 기여하고, 일부는 독립 실행 형 개별 프로젝트로 채택하는 것을 선호합니다. 시작하는 가장 좋은 방법은 프로젝트를 선택하고 열정을 갖는 것입니다.
예.Tor 브라우저는 Firefox에서 파생 된 프로젝트로, 익명 성을 제공하도록 사용자 정의되어 독립형 프로젝트로 변환되었습니다.
어떤 것을 선택하든, 여러분이 알고있는 방식으로 사용하는 것이어야합니다. 당신이 무엇을하고 있고 소프트웨어가 어떻게 작동하는지 알기 때문에 코드 작업을 실제 작업과 연관시키는 것이 더 쉬워집니다.
오픈 소스 기여 세계는
- Linux / Unix 기반 시스템을 사용하기 시작합니다.
- 터미널에서 작업을 즐기십시오.
- 기본 지식 , man, grep과 같은 명령 줄 항목과 다른 모든 명령에 대해 man 파일이 있습니다. (man file = manual, grep이라고하는 특정 명령을 사용하는 방법을 알고 싶다면`man grep`을 수행하십시오.)
- 좋은 편집기; vim v / s emacs 전쟁은 항상 개발자 사이에 존재하지만 Sublime Text / Notepad ++를 사용할 수도 있습니다.
오픈 소스에 기여하는 것은 개발자로서 놀라운 느낌입니다. 여러분이 작성한 코드는 소프트웨어를 사용하는 수백만 명의 삶에 영향을 미치고 있습니다.
이 시대에 나올 또 다른 것은 팬보이입니다. 여러분과 경험을 공유하겠습니다. , Mozilla의 공헌자로서 우리가 전도자 [2]로서 직면하는 질문은 “저는 Chrome을 사용합니다! 저는 Firefox를 좋아하지 않습니다”라고 고집스럽게 말하는 사람들입니다.
좋아요. 전혀 문제가 없습니다. Firefox는 우리가 좋아하고 여기서의 주요 목표는 “당신이 정말로 사용하는 브라우저에 관한 것이 아니라, Firefox를 사용한다면 우리는 그것을 좋아할 것입니다. 그러나 주요 목표는 개방 된 웹을 갖는 것입니다.
자유롭고 개방적이며 보안이 유지되는 비공개 웹이며 무엇보다도 우리 웹입니다.
Mozilla 커뮤니티에서 뵙기를 기대합니다.