|
| 1 | ++++ |
| 2 | +title = "Internships for a Rust graphics engine: GSoC 2025" |
| 3 | +date = 2025-04-02 |
| 4 | +[extra] |
| 5 | +banner = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.avif" |
| 6 | +banner_png = "https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025.png" |
| 7 | +author = "Keavon Chambers" |
| 8 | +summary = "Join Graphite in Google Summer of Code 2025 for a unique opportunity to contribute to open-source software development in Rust and computer graphics. Get paid while learning, working on self-contained projects under experienced mentors, and help Graphite grow." |
| 9 | +reddit = "https://www.reddit.com/r/graphite/comments/1jplm6t/internships_for_a_rust_graphics_engine_gsoc_2025/" |
| 10 | +twitter = "https://x.com/GraphiteEditor/status/1907384498389651663" |
| 11 | +bluesky = "https://bsky.app/profile/graphiteeditor.bsky.social/post/3llt7lbmm4s24" |
| 12 | + |
| 13 | +js = ["/js/youtube-embed.js"] |
| 14 | +css = ["/component/youtube-embed.css"] |
| 15 | ++++ |
| 16 | + |
| 17 | +Do you love Rust and focus on computer graphics, compiler development, or algorithm research? Students (and non-students who are new to open source contribution) interested in a paid summer internship are invited to apply this week to Graphite's Google Summer of Code 2025 program. The deadline is [April 8 at 18:00 UTC](https://www.wolframalpha.com/input?i=April+8%2C+18%3A00+UTC). |
| 18 | + |
| 19 | +<!-- more --> |
| 20 | + |
| 21 | +[Google Summer of Code](https://summerofcode.withgoogle.com/) is a program that supports students and open source projects. It provides opportunities for summer-long internship experiences with [paid stipends](https://developers.google.com/open-source/gsoc/help/student-stipends) for completing projects with mentoring organizations. [Graphite is honored to be returning for a second year.](https://summerofcode.withgoogle.com/programs/2025/organizations/graphite) |
| 22 | + |
| 23 | +[Graphite](/) is a data-driven creative design engine that combines an artist-friendly image editing environment with a procedural graphics renderer built with Graphene, a custom Rust-based compiled functional programming language for portable, scriptable graphics pipelines. |
| 24 | + |
| 25 | +Hear from our mentoring team about Graphite's tech stack and engineering vision by listening to last month's episode of the Developer Voices podcast: |
| 26 | + |
| 27 | +<div class="youtube-embed aspect-16x9"> |
| 28 | + <img data-youtube-embed="ZUbcwUC5lxA" src="https://static.graphite.rs/content/blog/2025-04-02-internships-for-a-rust-graphics-engine-gsoc-2025/developer-voices-podcast-youtube.avif" onerror="this.onerror = null; this.src = this.src.replace('.avif', '.png')" alt="Graphite: Image Editing as a Syntax Tree (with Keavon Chambers & Dennis Kobert)" /> |
| 29 | +</div> |
| 30 | + |
| 31 | +For GSoC 2025, our priority focus is mentoring projects revolving around advanced graphics techniques and compiler development, meeting our goal of extending Graphite into the domain of raster image manipulation. Demonstrated experience in these areas is highly advantageous. |
| 32 | + |
| 33 | +Outstanding applicants tend to be competent, self-directed, productive, and confidence-inspiring. If you're driven to learn and explore cutting-edge engineering challenges, please [get in touch](https://discord.graphite.rs) and we will help you get up to speed and assist in submitting a timely application. |
| 34 | + |
| 35 | +Out of the [full list of project opportunities](/volunteer/guide/student-projects/#project-idea-list), some interesting high-priority projects include: |
| 36 | + |
| 37 | +- Inventing efficient rendering of connected "mesh vector" Bézier geometry |
| 38 | +- Extending the Graphene compiler to run GPU compute shader graphics pipelines |
| 39 | +- Implementing bidirectional type inference into the Graphene type system |
| 40 | +- Developing a graph theory-based system for equivalence rewriting of nodes |
| 41 | +- Creating an efficient brush rendering system for large painted path datasets |
| 42 | +- Managing colors through flexible use of color spaces, color models, and color profiles |
| 43 | +- Researching an assortment of algorithms for image processing operations |
| 44 | +- Engineering solutions for combining Tauri's webview and Graphite's WGPU renderer in the same window across Windows, Mac, and Linux desktop applications |
| 45 | + |
| 46 | +These recently added projects are pending an extended description, but we'll be happy to discuss the details if you pop into our [Discord server](https://discord.graphite.rs) and introduce yourself with links to related experience and projects. |
| 47 | + |
| 48 | +Outside GSoC, additional year-round opportunities are available for student capstone or independent research projects. These are run similarly, but are also available to multi-person groups. They provide academic credit instead of a stipend. Reach out anytime if interested. |
0 commit comments