컴퓨터 지식이 많지 않은 사람은 kernel이 모든 OS의 기본 부분이라는 사실을 모를 것입니다. 표면 앱과는 거리가 멀기 때문에 컴퓨터의 일반적인 앱에서 얻을 수 있는 가장 가까운 것은 네트워크 프로토콜을 구성하거나 드라이버 소프트웨어를 설치하는 것입니다. 사실, 프로그래머만이 일반적으로 커널을 직접 처리합니다.
완벽한 그림을 그리기 위해 자동차에 엔진이 있는 것처럼 컴퓨터에 커널이 있습니다. Linux 커널에 기여하는 가장 좋은 방법이 무엇인지 묻습니다. 모르겠어요. 저는 커널에 대한 권위자는 아니지만 유용한 제안이 몇 가지 있습니다.
관련 전제 조건
The Linux Kernel은 C 및 어셈블리 프로그래밍 언어로 작성되었습니다. Monolithic 유형이어야 합니다. GNU GPL 라이센스로 출시되었으며 Linux Kernel Archives 웹 사이트에서 사용할 수 있습니다.
기본적으로 이는 프로그래밍 방법, 특히 C 및 어셈블리에 대한 최소한의 기본적인 이해가 필요함을 의미합니다. . 커널은 GIT 버전 제어 시스템을 사용하여 관리되므로 GIT 작업 방법도 이해해야 합니다.
시작하기 좋은 곳은 Kernel Newbies입니다. 여기에서 Eudyptula Challenge에 익숙해질 것입니다. Linux 커널에 기여하는 방법.
Linux 코드를 자세히 살펴보기 전에 알아야 할 또 다른 사항은 GitHub의 Linux 리포지토리가 거의 대체물이라는 것입니다. 미러 및 Linus는 풀 요청을 수락하지 않습니다.
“실제” 미러가 여기 있으며 모든 것이 메일링 리스트를 통해 전달됩니다. 당신이 충분히 좋아 보인다면 Git에서 메일링 리스트로 작업하는 방법에 대한 온라인 가이드가 있습니다.
기여하는 방법
커널에 기여할 수 있는 3가지 주요 방법이 있습니다.
1. 완벽한 코드 품질
Linus 코드 변경 수락에 대한 엄격한 규칙을 가지고 있으며 마스터 분기에 추가할 수 있는 유일한 사람입니다. 그러나 정적 코드 검사기 오류 및 경고를 발생시키는 몇 가지 실수가 있으며 여기서 할 수 있는 일은 이러한 문제를 제거하는 것입니다.
이것은 커널에 기여하는 가장 쉬운 방법이지만 문서에 명시된 권장 코딩 스타일을 이해하고 필요한 모든 구성을 수행해야 합니다. 다른 많은 기여자들이 사용할 수 있는 편집된 작업.
2. 할일 완료하기
지금까지 한 일에 만족하거나 그 방법을 이미 알고 있는 경우 ToDo 목록을 작성하는 것은 훌륭한 포인트입니다. 소스 트리의 모든 ToDo 파일에는 수행해야 하는 작업에 대한 설명이 있으므로 바로 시작할 수 있습니다. 아직 추가되지 않은 새로운 기능, 개선 수정 사항 등이 포함될 수 있습니다.
삼. 버그 수정
이것은 ToDos를 완료하는 것만큼 어려울 수 있습니다. 버그를 수정하려면 오류가 무엇인지, 문서 표준을 준수하고 다른 코드 구현을 중단하지 않는 방식으로 수정하는 방법을 이미 이해하고 있어야 합니다.
그래서, 당신은 그것을 가지고 있습니다!
어떤 면에서는 인식을 높이기 위해 글을 써서 Linux 커널에 기여하고 있습니다. 일부는 배포 스펙트럼의 기여자에게 재정을 기부하고 일부는 커널 코드 기반의 코드를 변경합니다.귀하에게 가장 적합한 방법은 귀하에게 가장 잘 알려진 여러 요인에 따라 달라지며 귀하에게 가장 적합한 방법은 귀하만이 결정할 수 있습니다.
결국 Linux Kernel은 기여하는 데 관심이 있는 모든 사람이 사용할 수 있으며 그 누구도 아래에 있지 않습니다. 그렇게 하도록 강요한다.
Linux 커널에 기여하는 가장 좋은 방법은 무엇이라고 생각하십니까? 당신은 코드 또는 다른 방법으로 기여자입니까? 또는 당신은 사람들을 알고 있습니다. 아래 토론 상자에 2센트를 남겨주세요.