Kotlin과 함께하는 Google Summer of Code 2026
이 문서는 Kotlin과 함께하는 Google Summer of Code 2026을 위한 프로젝트 아이디어 목록과 기여자 가이드라인을 포함하고 있습니다.
Kotlin 리소스:
- Kotlin GitHub 저장소
- Kotlin Slack 및 #gsoc Slack 채널
궁금한 점이 있다면 [email protected]를 통해 문의해 주세요.
Google Summer of Code (GSoC)를 위한 Kotlin 기여자 가이드라인
시작하기
Kotlin 언어에 익숙해지세요:
- 공식 Kotlin 웹사이트는 시작하기에 좋은 곳입니다.
- 언어를 더 잘 이해하려면 공식 문서를 읽어보세요.
- JetBrains Academy의 Kotlin 코스나 Android 팀의 교육 옵션을 살펴보세요.
- Kotlin X 또는 Kotlin Bluesky 계정을 팔로우하여 최신 뉴스 및 소식을 확인하세요.
- 튜토리얼, 팁 및 최신 업데이트는 Kotlin YouTube 채널을 확인하세요.
Kotlin 오픈 소스 커뮤니티에 대해 알아보세요:
- 일반적인 Kotlin 기여 가이드라인을 살펴보세요.
- Kotlin Slack 채널에 참여하여 다른 개발자들과 소통하고 질문에 대한 도움을 받으세요.
- #gsoc 채널에 참여하여 GSoC 팀에 질문하고 지원을 받으세요.
지원 방법
- 프로젝트 아이디어를 확인하고 작업하고 싶은 아이디어를 선택하세요.
- Kotlin에 익숙하지 않다면 Kotlin 웹사이트의 입문 정보를 읽어보세요.
- GSoC 기여자 가이드라인을 참조하세요.
- 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
