Skip to content

Kotlin과 함께하는 Google Summer of Code 2026

이 문서는 Kotlin과 함께하는 Google Summer of Code 2026을 위한 프로젝트 아이디어 목록기여자 가이드라인을 포함하고 있습니다.

Kotlin 리소스:

궁금한 점이 있다면 [email protected]를 통해 문의해 주세요.

Google Summer of Code (GSoC)를 위한 Kotlin 기여자 가이드라인

시작하기

  1. GSoC FAQ프로그램 공고를 확인하세요.

  2. Kotlin 언어에 익숙해지세요:

  3. Kotlin 오픈 소스 커뮤니티에 대해 알아보세요:

지원 방법

  1. 프로젝트 아이디어를 확인하고 작업하고 싶은 아이디어를 선택하세요.
  2. Kotlin에 익숙하지 않다면 Kotlin 웹사이트의 입문 정보를 읽어보세요.
  3. GSoC 기여자 가이드라인을 참조하세요.
  4. GSoC 웹사이트를 통해 지원하세요.
    • 제안된 프로젝트와 관련된 작동하는 코드 샘플을 작성하는 것을 권장합니다. 특히 자랑하고 싶은 코드 샘플이 있다면 보여주셔도 좋습니다.
    • Kotlin에 관심을 갖게 된 이유와 Kotlin 사용 경험을 서술해 주세요.
    • 오픈 소스 프로젝트에 참여한 적이 있다면 기여 이력을 참조해 주세요.
    • GitHub, Twitter 계정, 블로그 또는 기술/과학 출판물 포트폴리오가 있다면 함께 참조해 주세요.
    • 시험이나 휴가 등 다른 일정으로 인해 GSoC 타임라인과 충돌하는 부분이 있다면 미리 알려주세요.

감사합니다! 여러분의 지원서를 기다리겠습니다!

프로젝트 아이디어

Kotlin 컴파일러 퍼저 (Kai) [상, 350시간]

최근 몇 년 동안 퍼징(Fuzzing)은 소프트웨어의 복잡한 버그를 찾는 데 널리 사용되는 기술이 되었습니다. Kotlin 컴파일러도 예외는 아닙니다. 이전의 퍼징 노력을 통해 다양한 컴파일러 하위 시스템에서 200개 이상의 중복 제거된 버그를 발견한 바 있습니다.

하지만 기존 퍼저 구현은 이제 구식이 되었으며 더 이상 합리적으로 발전시키기 어려운 상태입니다. 이 프로젝트의 목표는 이전의 경험과 현대적인 도구 및 기술을 바탕으로 새로운 Kotlin 컴파일러 퍼저인 Kai를 처음부터 구축하는 것입니다.

이번 인턴십의 주요 목표는 퍼저의 향후 개발을 위한 견고한 기반을 마련하는 것입니다. 집중 분야는 다음과 같습니다:

  • 플러그인 기능(Pluggability)을 지원하는 퍼저 아키텍처 설계
  • Kotlin 코드 생성, 변이(Mutation) 및 처리를 위한 도구 선택
  • 컴파일러 오류를 감지하는 신뢰할 수 있는 방법 정의
  • 발견된 문제의 수집, 분류 및 처리를 위한 적절한 워크플로 설계

결과물로서 우리는 모놀리식(Monolithic) 구현과 달리 모듈화되어 있고 발전시키기 쉬운 프로토타입 Kotlin 컴파일러 퍼저를 만드는 것을 목표로 합니다. 실제 컴파일러 버그를 찾는 것은 큰 보너스가 되겠지만, 이번 인턴십의 주된 목표는 아닙니다.

프로젝트에 대해 사전 질문이 있는 경우 멘토(marat.akhin [at] jetbrains.com)에게 문의하세요.

기대 결과

향후 발전을 지원하는 플러그인 가능 아키텍처를 갖춘 프로토타입 Kotlin 컴파일러 퍼저.

요구 기술 (필수)

  • Kotlin 또는 다른 JVM 기반 언어에 능숙함
  • 관련 논문 및 문서를 읽을 수 있는 기술 영어 실력
  • 컴파일러에 대한 기본적인 이해

요구 기술 (우대)

  • 퍼징 또는 다른 형태의 프로그램 분석에 대한 친숙함
  • Kotlin 컴파일러 플러그인, IDE 플러그인 또는 기타 플러그인 기반 시스템 경험
  • 그린필드(Greenfield) 개발자 도구 프로젝트 경험

학습 내용

  • 컴파일러 퍼징에 대한 실무 경험
  • 내부 개발자 도구가 설계되고 구축되는 방법
  • 플러그인 가능 시스템을 설계하고 구현하는 방법

예정 멘토

Marat Akhin, JetBrains

이 프로젝트에는 테스트 과제가 포함되어 있습니다. 자세한 내용은 [email protected]로 이메일을 보내 문의해 주세요.

Swift-to-Kotlin 상호 운용성 (PoC) [상, 350시간]

현대 소프트웨어 프로젝트가 단일 언어 생태계에 머무는 경우는 드뭅니다. Apple 플랫폼에서는 Swift가 주요 언어이며, Kotlin은 공유 및 크로스 플랫폼 비즈니스 로직에 널리 사용됩니다. 하지만 현재 Swift API를 Kotlin으로 직접 가져오는 간단한 방법은 없습니다.

이 프로젝트에서 여러분은 기존 오픈 소스 Swift-Java 브릿지(Bridge)를 기반으로 Kotlin/Native를 타겟 런타임으로 추가하게 됩니다. 여기에는 Swift API가 Kotlin/Native에 노출되는 방식, Swift/Kotlin 경계를 넘나드는 호출 방식, 런타임 간 객체 수명 관리 방식에 대한 설계가 포함됩니다.

목표는 Swift-to-Kotlin/Native 상호 운용성(Interop)에 대한 개념 증명(PoC)을 만들고, 설계 결정 및 트레이드오프(Trade-offs)를 문서화하며, 한계점과 향후 방향을 평가하는 것입니다.

기대 결과

설계 결정, 트레이드오프, 한계점 및 향후 방향이 문서화된 Swift-to-Kotlin/Native 상호 운용성 개념 증명(PoC).

요구 기술 (필수)

  • 컴퓨터 과학 또는 관련 분야의 학위 과정을 밟고 있거나 최근에 마친 분
  • Swift에 대한 친숙함
  • 프로그래밍 언어 및 상호 운용성에 대한 관심

요구 기술 (우대)

  • Kotlin에 대한 친숙함

예정 멘토

Artem Olkov, JetBrains

이 프로젝트에는 테스트 과제가 포함되어 있습니다. 자세한 내용은 [email protected]로 이메일을 보내 문의해 주세요.

Kotlin/Wasm 백엔드의 꼬리 호출 지원 [중, 90시간]

이 프로젝트는 Kotlin/Wasm 백엔드에 꼬리 호출(Tail call) 제안을 통합하는 데 중점을 둡니다. 인턴은 꼬리 호출 지원을 설계 및 구현하고 벤치마킹을 통해 그 영향을 평가합니다.

기대 결과

벤치마크 및 평가가 포함된 Kotlin/Wasm용 꼬리 호출 지원 설계 및 구현.

요구 기술 (선호)

인터프리터 및 컴파일러에 대한 일반적인 친숙함, 최적화 및 벤치마킹에 대한 관심.

예정 멘토

Charlie Zhang, JetBrains

Kotlin 교육 현황 보고서 [중, 175시간]

Kotlin은 전 세계 교육 환경에서 교육되고 사용되고 있습니다. 이 프로젝트의 목표는 Kotlin이 어디서 어떻게 교육되고 있는지에 대한 구조화되고 최신화된 개요를 만드는 것입니다.

기대 결과

  • 트렌드와 격차를 강조하는 "교육에서의 Kotlin(Kotlin in Education)" 보고서
  • 내부 및 공개용으로 재사용 가능한 데이터셋
  • 향후 전략을 위한 기초 자료

요구 기술 (선호)

  • 조사 및 데이터 분석 기술
  • 프로그래밍 교육 및 개발자 생태계에 대한 관심

예정 멘토

Ksenia Shneyveys, JetBrains