Skip to content

Commit db1c606

Browse files
Add Section F: C++ GSoC orgs ranked by idea-list depth × FAANG trendiness
Co-authored-by: zeyad-elkholy <88236856+zeyad-elkholy@users.noreply.github.com>
1 parent e543632 commit db1c606

1 file changed

Lines changed: 235 additions & 1 deletion

File tree

OPEN_SOURCE_RECOMMENDATIONS.md

Lines changed: 235 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,10 @@
311311
| Python Software Foundation | [link](https://github.com/python/cpython/issues?q=is%3Aopen+label%3Aeasy) | N/A | [python-gsoc.org](https://python-gsoc.org/) |
312312
| OpenCV | [link](https://github.com/opencv/opencv/issues?q=is%3Aopen+label%3A%22good+first+issue%22) | [link](https://github.com/opencv/opencv/issues?q=is%3Aopen+label%3A%22help+wanted%22) | [GSoC ideas](https://github.com/opencv/opencv/wiki/GSoC_2024) |
313313
| GNU Project | [gzip bugs](https://savannah.gnu.org/bugs/?group=gzip) | N/A | [GSoC ideas](https://www.gnu.org/software/soc-projects/ideas.html) |
314+
| Boost C++ Libraries ✨ | [link](https://github.com/boostorg/boost/issues?q=is%3Aopen+label%3A%22help+wanted%22) | [link](https://github.com/boostorg/json/issues) | [GSoC ideas](https://www.boost.org/development/gsoc.html) |
315+
| Open Robotics (ROS) ✨ | [link](https://github.com/ros2/rclcpp/issues?q=is%3Aopen+label%3A%22good+first+issue%22) | [link](https://github.com/ros2/rclcpp/issues?q=is%3Aopen+label%3A%22help+wanted%22) | [GSoC ideas](https://www.openrobotics.org/blog/google-summer-of-code) |
316+
| Godot Engine ✨ | [link](https://github.com/godotengine/godot/issues?q=is%3Aopen+label%3A%22good+first+issue%22) | [link](https://github.com/godotengine/godot/issues?q=is%3Aopen+label%3A%22help+wanted%22) | [GSoC results](https://godotengine.org/article/gsoc-2024-results/) |
317+
| CGAL ✨ | [link](https://github.com/CGAL/cgal/issues?q=is%3Aopen+label%3A%22good+first+issue%22) | N/A | [GSoC ideas](https://github.com/CGAL/cgal/wiki/Project-Ideas) |
314318

315319
---
316320

@@ -424,7 +428,233 @@
424428

425429
---
426430

427-
## Quick Reference: URLs
431+
## F) C++ GSoC Orgs — Ranked by Idea List Depth × FAANG Trendiness
432+
433+
> **Scoring method**
434+
> Each org is scored on two axes (1–5 each):
435+
> - **ILD** = *Idea List Depth* — number of project ideas, how well-documented they are, how many mentors are listed
436+
> - **FT** = *FAANG Trendiness* — how actively Google / Meta / Amazon / Apple / Netflix use or contribute to the project
437+
> - **Combined** = ILD + FT (max 10)
438+
>
439+
> Only C++ primary or C++ significant orgs are listed.
440+
> New entrants not in previous sections are marked ✨.
441+
442+
### Master Ranking Table
443+
444+
| Rank | Combined | Org | ILD | FT | Primary FAANG users | GSoC Ideas |
445+
|------|----------|-----|-----|-----|---------------------|------------|
446+
| **1** | **10** | **LLVM** | ★★★★★ | ★★★★★ | Apple (primary maintainer), Google, Meta, Amazon, Netflix | [ideas](https://llvm.org/OpenProjects.html) |
447+
| **1** | **10** | **OpenCV** | ★★★★★ | ★★★★★ | Google Vision AI, Meta AR/Reels, Amazon Rekognition, Netflix VMAF | [ideas](https://github.com/opencv/opencv/wiki/GSoC_2024) |
448+
| **3** | **8** | **Boost C++ Libraries**| ★★★★☆ | ★★★★☆ | Google gRPC/Abseil uses Boost internals; Meta, Amazon C++ SDKs | [ideas](https://www.boost.org/development/gsoc.html) |
449+
| **3** | **8** | **Open Robotics (ROS)**| ★★★★☆ | ★★★★☆ | Amazon RoboMaker (primary sponsor), Google DeepMind, Meta FAIR | [ideas](https://www.openrobotics.org/blog/google-summer-of-code) |
450+
| **5** | **7** | **VideoLAN (VLC)** | ★★★★☆ | ★★★☆☆ | Apple QuickTime/FaceTime codecs; Meta Instagram video; Amazon Prime | [ideas](https://wiki.videolan.org/SoC_2024/) |
451+
| **5** | **7** | **Blender Foundation** | ★★★★☆ | ★★★☆☆ | Netflix original content pipeline; Amazon Deadline/ThinkBox; Google 3D | [ideas](https://developer.blender.org/docs/handbook/contributing/gsoc/) |
452+
| **7** | **6** | **KDE** | ★★★★☆ | ★★☆☆☆ | Qt used at Amazon/Apple; KDE apps less FAANG-direct | [ideas](https://community.kde.org/GSoC/2024/Ideas) |
453+
| **7** | **6** | **Godot Engine**| ★★★☆☆ | ★★★☆☆ | Amazon Luna, Netflix Games, Google Play Games, Meta Quest XR | [ideas](https://godotengine.org/article/gsoc-2024-results/) |
454+
| **7** | **6** | **CGAL**| ★★★☆☆ | ★★★☆☆ | Google Maps/Earth geometry; Apple Maps; Amazon Robotics; Meta spatial | [ideas](https://github.com/CGAL/cgal/wiki/Project-Ideas) |
455+
| **10** | **5** | **GNU Project** | ★★★☆☆ | ★★☆☆☆ | Foundational toolchain everywhere; less "trendy" in cutting-edge FAANG work | [ideas](https://www.gnu.org/software/soc-projects/ideas.html) |
456+
457+
---
458+
459+
### Detailed Notes per Org (C++ focus)
460+
461+
#### 🥇 Rank 1 — LLVM · Combined 10/10
462+
463+
**Idea List Depth ★★★★★:** https://llvm.org/OpenProjects.html lists 30+ project ideas with detailed descriptions, difficulty ratings, required prerequisites, and named mentor contacts. Ideas span Clang (C++ front end), LLVM IR optimizations, new sanitizers (ASAN/MSAN/UBSAN), loop transformations, MLIR dialects, LLDB debugger, and LLD linker — the most elaborate idea list of any GSoC C++ org.
464+
465+
**FAANG Trendiness ★★★★★:**
466+
| FAANG | How they use LLVM |
467+
|-------|------------------|
468+
| **Apple** | Primary upstream maintainer; Clang is the **default compiler** for all macOS/iOS/Swift code; Apple engineers are top LLVM committers |
469+
| **Google** | Clang-Tidy, Clang-Format, ASAN/MSAN/UBSAN used in Chromium and Android; Google engineers are major LLVM contributors |
470+
| **Meta** | HHVM/Hack VM is LLVM-based; Meta's BOLT binary optimizer is in LLVM mainline; heavy clang-format/tidy use across Meta codebases |
471+
| **Amazon** | LLVM used in AWS Lambda execution environment, FreeRTOS, embedded SDKs |
472+
| **Netflix** | LLVM-based toolchain for CDN C++ services; uses LLVM sanitizers for QA |
473+
474+
**Why malmom background helps:** Your `bit_io.cpp` and `huffman.cpp` are hand-rolled bit-manipulation — the exact domain of LLVM's bitstream encoding, MC layer, and TableGen backends.
475+
476+
---
477+
478+
#### 🥇 Rank 1 — OpenCV · Combined 10/10
479+
480+
**Idea List Depth ★★★★★:** https://github.com/opencv/opencv/wiki/GSoC_2024 has 20+ well-defined ideas across deep neural network (DNN) module, video I/O, Python/Java bindings, SIMD optimizations, camera calibration, and new algorithms. Each idea includes expected outcomes, skills needed, and a mentor handle.
481+
482+
**FAANG Trendiness ★★★★★:**
483+
| FAANG | How they use OpenCV |
484+
|-------|---------------------|
485+
| **Google** | Google Photos object recognition, Google Lens, Android Camera2 API internals, Google Vision AI |
486+
| **Meta** | Instagram/Facebook camera effects, AR filters, object detection in video; Meta AI research uses OpenCV for CV pipelines |
487+
| **Amazon** | Amazon Rekognition is CV at scale; Amazon Ring cameras use CV; Alexa Vision for Echo Show devices |
488+
| **Apple** | Core ML + Vision framework overlap heavily with OpenCV concepts; Apple uses similar algorithms internally |
489+
| **Netflix** | VMAF (video quality metric) uses frame-level CV analysis; Netflix research uses OpenCV for perceptual quality |
490+
491+
**C++ entry point:** OpenCV's DNN module (`modules/dnn/`) is written in C++; good-first-issue labels lead directly to C++ work.
492+
493+
---
494+
495+
#### 🥉 Rank 3 — Boost C++ Libraries ✨ · Combined 8/10
496+
497+
**GSoC page:** https://www.boost.org/development/gsoc.html
498+
**GitHub:** https://github.com/boostorg
499+
500+
**Idea List Depth ★★★★☆:** Boost GSoC lists 15–20 ideas annually, typically improvements to existing libraries (Boost.Asio, Boost.Beast, Boost.Geometry, Boost.JSON) or new library proposals that go through the Boost review process. Ideas are well-described with mentor names.
501+
502+
**FAANG Trendiness ★★★★☆:**
503+
| FAANG | How they use Boost |
504+
|-------|-------------------|
505+
| **Google** | gRPC C++ core uses Boost.Asio patterns; Chromium uses Boost concepts; Google's Abseil was partly inspired by Boost |
506+
| **Meta** | Meta's Proxygen HTTP framework and many internal C++ services include Boost headers |
507+
| **Amazon** | AWS C++ SDK uses Boost.Asio for async I/O; AWS IoT Device SDK uses Boost |
508+
| **Apple** | Boost libraries are used in Apple's open-source projects and internal C++ tooling |
509+
| **Netflix** | Netflix's CDN C++ services use Boost for networking (Asio) and string handling |
510+
511+
**Why you:** Boost is the most "standardization-path" C++ org — many `std::` features (smart pointers, regex, filesystem) came from Boost. Your deep C++ background from malmom is the right foundation.
512+
513+
**Newcomer path:**
514+
- Good first issues: https://github.com/boostorg/boost/issues?q=is%3Aopen+label%3A%22help+wanted%22
515+
- Boost.JSON (modern JSON library): https://github.com/boostorg/json/issues
516+
517+
---
518+
519+
#### 🥉 Rank 3 — Open Robotics / ROS ✨ · Combined 8/10
520+
521+
**GSoC page:** https://www.openrobotics.org/blog/google-summer-of-code
522+
**GitHub:** https://github.com/ros2/rclcpp
523+
**Org:** Open Source Robotics Foundation (OSRF)
524+
525+
**Idea List Depth ★★★★☆:** ROS GSoC 2024 listed 15–20 ideas across ROS 2 core, simulation (Gazebo, now Ignition), navigation stack (Nav2), manipulation, and hardware interfaces. Ideas include C++ real-time improvements, rclcpp API enhancements, and new driver packages.
526+
527+
**FAANG Trendiness ★★★★☆:**
528+
| FAANG | How they use ROS |
529+
|-------|-----------------|
530+
| **Amazon** | **Primary sponsor** of ROS 2; AWS RoboMaker runs ROS workloads; Amazon Robotics (warehouse robots) runs ROS; Amazon has dedicated OSS robotics engineers |
531+
| **Google** | Waymo (Alphabet) runs ROS-based systems for autonomous vehicles; Google DeepMind robotics uses ROS |
532+
| **Meta** | FAIR robotics lab uses ROS for manipulation research; Meta AI publishes ROS packages |
533+
| **Apple** | Minimal direct use, though Apple's lidar/spatial computing research touches robotic perception |
534+
| **Netflix** | Peripheral — not a robotics company |
535+
536+
**C++ focus:** ROS 2's `rclcpp` library is pure modern C++ (C++17); the real-time executor and DDS middleware wrappers are deep C++ systems work.
537+
538+
**Newcomer path:**
539+
- rclcpp good first issues: https://github.com/ros2/rclcpp/issues?q=is%3Aopen+label%3A%22good+first+issue%22
540+
- ROS 2 docs: https://docs.ros.org/en/rolling/Contributing.html
541+
542+
---
543+
544+
#### Rank 5 — VideoLAN (VLC) · Combined 7/10
545+
546+
**Idea List Depth ★★★★☆:** https://wiki.videolan.org/SoC_2024/ lists 10–15 C/C++ project ideas for codecs, subtitle rendering, hardware acceleration, and the mobile VLC port. Each idea has a difficulty rating and mentor.
547+
548+
**FAANG Trendiness ★★★☆☆:**
549+
| FAANG | How they use VLC/VideoLAN codecs |
550+
|-------|----------------------------------|
551+
| **Apple** | macOS/iOS media framework uses H.264/H.265/AAC codecs from the same MPEG standards VLC implements |
552+
| **Meta** | Instagram/WhatsApp video streaming uses the same codec stack (H.264, Opus) VLC is built around |
553+
| **Amazon** | Amazon Prime Video CDN uses similar codec pipelines; Amazon uses libav (FFmpeg fork) for transcoding |
554+
| **Netflix** | Netflix's custom AV1/VP9 encoding pipeline shares conceptual work with VLC codec R&D |
555+
| **Google** | Less direct — Google uses custom codecs (VP9/AV1) but VLC implements them too |
556+
557+
**C++ entry point:** VLC's C++ modules in `modules/` — subtitle renderer, Qt UI (VLC desktop is C++/Qt).
558+
559+
---
560+
561+
#### Rank 5 — Blender Foundation · Combined 7/10
562+
563+
**Idea List Depth ★★★★☆:** https://developer.blender.org/docs/handbook/contributing/gsoc/ has 10–15 ideas across the Video Sequence Editor (VSE), geometry nodes (C++), Python API, and rendering. Ideas are well-documented with expected deliverables.
564+
565+
**FAANG Trendiness ★★★☆☆:**
566+
| FAANG | How they use Blender |
567+
|-------|---------------------|
568+
| **Netflix** | Netflix has **directly funded Blender** development and uses it for original animation content (e.g., "Next Gen", "Invader Zim" test renders). Netflix is a Blender Development Fund member. |
569+
| **Amazon** | AWS ThinkBox (Deadline render manager) officially supports Blender render farms |
570+
| **Google** | Google uses Blender for some 3D product visualization and YouTube 3D content |
571+
| **Meta** | Meta Reality Labs uses Blender for XR asset creation pipelines |
572+
| **Apple** | Less direct, though USDZ assets for AR Quick Look are sometimes authored in Blender |
573+
574+
**C++ entry point:** `source/blender/editors/space_sequencer/` (VSE), geometry nodes system, and the C++ modifier stack.
575+
576+
---
577+
578+
#### Rank 7 — KDE · Combined 6/10
579+
580+
**Idea List Depth ★★★★☆:** https://community.kde.org/GSoC/2024/Ideas has 20+ ideas, but spread across many apps (Plasma, Kdenlive, Krita, Dolphin) — the C++ ones are primarily Kdenlive and KDE Frameworks.
581+
582+
**FAANG Trendiness ★★☆☆☆:** Qt (KDE's framework) is used at Amazon (some internal tools), Apple (Safari uses WebKit which KDE created), but KDE-specific work is desktop-Linux-focused and not prominent in FAANG product pipelines.
583+
584+
**C++ entry point:** Kdenlive (`invent.kde.org/multimedia/kdenlive`) — C++/Qt timeline, subtitle track, and audio waveform renderer.
585+
586+
---
587+
588+
#### Rank 7 — Godot Engine ✨ · Combined 6/10
589+
590+
**GSoC page:** https://godotengine.org/article/gsoc-2024-results/
591+
**GitHub:** https://github.com/godotengine/godot
592+
593+
**Idea List Depth ★★★☆☆:** Godot's GSoC 2024 had ~12 ideas including renderer improvements (Vulkan/Metal), physics engine work, editor UI, and GDExtension C++ API. Ideas are adequately documented.
594+
595+
**FAANG Trendiness ★★★☆☆:**
596+
| FAANG | How they use Godot |
597+
|-------|-------------------|
598+
| **Amazon** | Amazon Luna game streaming platform hosts Godot-built games; AWS GameLift supports Godot |
599+
| **Netflix** | Netflix Games publishes mobile games; some studios use Godot |
600+
| **Google** | Google Play Games supports Godot-built games; past Google Stadia had Godot titles |
601+
| **Meta** | Meta Quest store has Godot games; Godot 4 supports XR/VR via OpenXR (Meta's standard) |
602+
| **Apple** | App Store has many Godot iOS games; Apple Silicon is a Godot-supported target |
603+
604+
**C++ entry point:** Godot's engine core is C++ — `scene/`, `servers/rendering/`, `modules/` are all C++. GDExtension allows writing C++ plugins.
605+
606+
**Newcomer path:**
607+
- Good first issues: https://github.com/godotengine/godot/issues?q=is%3Aopen+label%3A%22good+first+issue%22
608+
- Contributing guide: https://docs.godotengine.org/en/stable/contributing/
609+
610+
---
611+
612+
#### Rank 7 — CGAL ✨ · Combined 6/10
613+
614+
**GSoC page:** https://www.cgal.org/gsoc/2024.html
615+
**GitHub:** https://github.com/CGAL/cgal
616+
617+
**Idea List Depth ★★★☆☆:** https://github.com/CGAL/cgal/wiki/Project-Ideas has 8–12 ideas focused on new geometry algorithms, performance improvements, and Python bindings. Ideas are technically deep but niche.
618+
619+
**FAANG Trendiness ★★★☆☆:**
620+
| FAANG | How they use CGAL |
621+
|-------|------------------|
622+
| **Google** | Google Maps and Google Earth 3D building reconstruction uses computational geometry; Waymo autonomous driving uses polygon intersection |
623+
| **Apple** | Apple Maps 3D reconstruction and spatial computing (Vision Pro) rely on mesh geometry algorithms |
624+
| **Amazon** | Amazon Robotics uses computational geometry for path planning; AWS Location Services uses polygon operations |
625+
| **Meta** | Meta Quest spatial mapping uses mesh processing; Meta AI 3D reconstruction research uses similar techniques |
626+
| **Netflix** | Peripheral — 3D geometry is less central to streaming |
627+
628+
**C++ entry point:** CGAL is header-only C++ (C++17); all algorithms are in `include/CGAL/`. New algorithm contributions follow a rigorous review process.
629+
630+
**Newcomer path:**
631+
- Good first issues: https://github.com/CGAL/cgal/issues?q=is%3Aopen+label%3A%22good+first+issue%22
632+
- Contributing guide: https://github.com/CGAL/cgal/blob/master/CONTRIBUTING.md
633+
634+
---
635+
636+
#### Rank 10 — GNU Project · Combined 5/10
637+
638+
**Idea List Depth ★★★☆☆:** Varies by sub-project. gzip ideas are sparse; GNU Octave has more. Less structured than the higher-ranked orgs.
639+
640+
**FAANG Trendiness ★★☆☆☆:** GNU toolchain (gcc, gdb, gzip, bash) is universally installed at FAANG but it's *foundational infrastructure*, not a technology FAANG actively invests in. The interesting work has largely shifted to LLVM/Clang (see Rank 1).
641+
642+
**Still worth it if:** You want to contribute to gzip/DEFLATE (directly relevant to malmom) and value breadth over FAANG prestige.
643+
644+
---
645+
646+
### C++ Org Quick-Select Guide
647+
648+
| If your goal is… | Pick |
649+
|------------------|------|
650+
| Maximum resume impact at Google/Apple/Meta | **LLVM** |
651+
| Computer vision / AI / video pipeline roles | **OpenCV** |
652+
| Modern C++ networking / async (backend roles) | **Boost C++ Libraries** |
653+
| Robotics / autonomous systems roles | **Open Robotics (ROS)** |
654+
| Game engine / graphics / XR engineering roles | **Godot Engine** |
655+
| Geometry / spatial computing roles | **CGAL** |
656+
| Video editor / multimedia software roles | **Blender** or **VideoLAN** |
657+
| Best "first contribution" for C++ newcomer | **KDE / Kdenlive** (most welcoming) |
428658

429659
| Resource | URL |
430660
|----------|-----|
@@ -446,3 +676,7 @@
446676
| **Python Software Foundation** | https://github.com/python/cpython |
447677
| **OpenCV** | https://github.com/opencv/opencv |
448678
| **GNU Project** | https://www.gnu.org/software/software.html |
679+
| **Boost C++ Libraries**| https://github.com/boostorg/boost |
680+
| **Open Robotics (ROS)**| https://github.com/ros2/rclcpp |
681+
| **Godot Engine**| https://github.com/godotengine/godot |
682+
| **CGAL**| https://github.com/CGAL/cgal |

0 commit comments

Comments
 (0)