작업 제품 제출 가이드라인

최종 평가의 일환으로 모든 참여 참여자는 프로그램을 위해 수행한 작업 링크를 제공해야 합니다. 제대로 작동하지 않으면 프로그램이 실패할 수 있습니다. 이렇게 하는 방법에는 여러 가지가 있으므로 이 문서를 주의 깊게 읽어보시기 바랍니다.

이 링크는 GSoC 프로젝트 공개 자료실에 게시됩니다. 프로그램에서 수행한 작업을 시연하는 데 도움이 됩니다. 미래 고용주를 위해 자신의 일을 다시 회상하는 좋은 방법이기도 합니다. 여러분은 사람들이 프로젝트 목표가 무엇인지, 무엇을 달성했는지, 코드의 위치 및 잠재적인 다음 단계를 신속하게 파악할 수 있기를 원합니다.

지난 몇 년간의 우수 사례는 다음을 포함하는 '최종 보고서'입니다.

  • 프로젝트 목표에 대한 간단한 설명
  • 수행한 작업.
  • 현재 상태입니다.
  • 해야 할 일이 남아 있습니다.
  • 업스트림에 병합되거나 병합되지 않은 코드
  • 프로젝트를 진행하는 동안 알게 된 과제 또는 중요한 내용

예시를 살펴보려면 2022년 프로젝트 목록부터 무작위로 프로젝트를 선택한 다음 코드 보기를 클릭하세요. 이러한 프로젝트 중 상당수가 Google의 제안을 따르지 않았습니다. 즉, 자신의 작업을 과시하는 것만으로는 손해를 끼칠 뿐입니다.

참여자 참고사항: 최종 과제물을 제출한 후에도 최종 과제물 제출 기한까지 수정할 수 있습니다.

평가를 제출하기 전에 링크를 공유하여 멘토가 기대에 부응하는지 확인해야 합니다.

요구사항

  • 한 작업을 쉽게 식별할 수 있어야 합니다. (즉, 변경사항 또는 새 코드)
    • 누군가 제공된 URL로 이동하면 사용자가 많이 파헤칠 필요 없이 내가 한 작업을 명확하게 알 수 있어야 합니다.
  • 안정적인 위치에 있어야 합니다. 제출한 후에는 URL을 변경할 수 없습니다.
  • 다른 사용자가 링크 대상의 콘텐츠 (또는 대상에서 참조된 콘텐츠)를 사용하여 작업을 확장할 수 있어야 합니다.
    • 작업이 100% 완료되면 사용할 수 있어야 합니다.
    • 작업이 100% 완료되지 않은 경우 해야 할 일이 명확하게 표시됩니다.

좋은 예

이러한 작업을 모두 또는 전부 실행할 필요는 없지만 요구사항을 충족할 수 있는 몇 가지 방법은 다음과 같습니다.

  • 수행한 작업과 수행한 커밋 및 작업한 저장소에 대한 링크를 설명하는 블로그 게시물이나 웹페이지 또는 공개 GitHub gist를 만듭니다. 프로젝트에서 해야 할 작업이 남아 있다면 해당 작업도 포함합니다. 하이라이트나 어려운 부분을 공유할 수도 있습니다.
    • ❗ 많은 정보를 쉽게 포함할 수 있으므로 가장 좋은 옵션입니다. 이렇게 하면 내가 한 작업을 명확하게 보여줄 뿐 아니라 다른 사람이 코드를 쉽게 사용하고 이해할 수 있기 때문에 유용합니다.
  • GitHub를 사용하고 모든 작업이 단일 pull 요청으로 처리된다면 이 링크를 사용할 수 있습니다.
    • pull 요청 설명이 자세해야 합니다. (위의 블로그 게시물 콘텐츠 관련 제안사항을 참고하세요.)
    • 이번 행사가 Google 프로그래밍 경진대회(Summer of Code)를 위한 것임을 설명에 명확하게 언급해야 합니다.
    • GSoC가 종료된 후 pull 요청에서 더 많은 작업이 수행될 경우 마지막 GSoC 커밋을 기록합니다.
    • ❗ 이 예에서는 변경 로그, 커밋 목록, 검토 주석을 모두 한곳에서 볼 수 있다는 이점이 있습니다.
  • GitHub 저장소가 GSoC용 단일 목적인 경우 더 자세한 내용이 포함된 README.md를 추가합니다.
  • 공개적으로 보관처리된 개발자 메일링 리스트와 위의 링크를 포함하여 이메일을 보냅니다.
  • Google Drive에 공개 폴더를 만들고 생성한 모든 패치를 포함합니다.
  • Google Sheets로 공개 스프레드시트를 만들고 모든 커밋을 나열합니다.
  • 작업 및 적절한 다른 항목에 대한 언급이 명확하게 포함된 단일 버그에 연결합니다. 지금까지 수행한 모든 작업이 추적됩니다. 모든 커밋이 나열되어 있거나 쉽게 찾을 수 있는지 확인하세요.
  • 변경사항의 통합 또는 컨텍스트 차이로 연결되는 링크입니다. 다른 사람들에게 도움이 되도록 프로젝트의 대상과 대상을 명시하는 헤더를 포함해야 합니다.

좋지 않은 예

이런 일은 하지 마세요.

  • 전체 프로젝트의 소스 코드 또는 작업 디렉터리를 포함하는 tarball/zipfile에 연결합니다. 너무 많은 사용자가 과거에 이 작업을 했기 때문에 자신이 수행한 작업에 대해 더 알고 싶어 하는 사용자에게는 도움이 되지 않습니다.
  • 프로젝트의 기본 소스 저장소 상단 링크
  • 프로젝트의 소스 저장소 클론의 링크를 연결합니다.
    • 이렇게 하면 작업이 다른 항목과 섞여 있으므로 변경사항을 확인하기가 어렵습니다.
  • GSoC 프로젝트 페이지 링크
    • 무엇인지 이미 알고 있습니다(예: https://summerofcode.withgoogle.com/projects/#1234567890).

멘토

기여자가 적절한 코드를 제출할 수 있도록 도와주세요. 최종 작업 제출 기간 전에 이 작업을 수행하는 것이 중요합니다.

확인해 보세요.

  • 제출물이 위의 요구사항을 충족합니다.
  • 코드가 컴파일됩니다.
  • 대상 및 이유에 관한 문서가 있습니다.

GSoC의 개념은 참여자가 코드를 이탈한다는 것이 아닙니다. 코드가 호스팅 오픈소스 프로젝트를 위해 잠재적으로 유용할 수 있어야 합니다.