C++ and the Google Summer of Code

published at 01.03.2014 23:03 by Jens Weller
Save to Instapaper Pocket

During the last few weeks I got interested in the Google Summer of Code (GSoC), as I did read some emails on the boost mailing lists about it. The Google Summer of Code is for a lot of open source projects an important opportunity to improve and extend their code base, and in 2014 it happens for the 10th time! I'd like to give with this blog post an overview over the C++ projects in GSoC 2014, and use boost as a general example.

boost & GSoC

As I mentioned, GSoC is a very important part of the year for a lot of open source projects. The boost libraries is just one of those projects, and I'd like to use boost as the example. I want to give some credits for this post to Niall Douglas, who I did contact for this blog post, as he is this years GSoC Admin for boost. So boost has already a very good page about GSoC, which gives you a good overview wether you'd like to be a student or a mentor. A few examples for projects/ideas have been suggested by possible mentors to boost:

And a few more. Also there are ideas for using GSoC to improve the tooling of boost, if you are good in git and interested in boosts modularization, this could also be a good topic to find work for a summer. And of course, you can also bring your own idea. Boost is not only looking for ideas for 2014, but also for the coming years. Also not all projects that are proposed to GSoC will make it at the end. In 2013 there were 7 proposals accepted.

There is a time line provided by Google for GSoC which shows the most important milestones for GSoC 2014. The next milestone is that Students can submit their proposals from March 10th till 21st. On April 9th Google will notice boost and the other projects how many slots are assigned to them. Between March 21st and April 9th, the mentoring organization, - here boost - will do a voting on all student proposals. The best ranked proposals might be accepted by Google, last year the best voted proposal from boost was rejected. Then on April 18th the final deadline is, where all mentors must be signed up, and all students have to be matched with a mentor. From May 19th till August 22nd is the actual time where work on the projects for GSoC 2014 will happen. On August 25th, Google will announce the final results.

C++ and the Google Summer of Code 2014

Now, I mentioned, that boost is not the only C++ related project on this years Google Summer of code. For example also GCC or wxWidgets takes part. In total there are 57 projects tagged with C++ in this years Google Summer of Code. Here is an overview over some of the accepted projects which are accepted into GSoC:

Name

Main Links

Main Project Ideas

Blender

GSoC Page

Ideas

  • Modeling
  • Modifiers
  • UI and Workflow
  • Animation
  • Motion Tracking

boost Libraries

GSoC Page

Ideas

please see list above.

CGAL

GSoC Page

Ideas

  • Use Embree for Ray Shooting
  • Adding Better I/O for the CGAL Library
  • Fixes to the 2D Arrangements Package
  • Support for Qt5
  • Adding a Parallel Version of the Edge Simplification Algorithm

Crystal Space

GSoC Page

Ideas
  • Game/Demo showing CS Features
  • Car racing games improvement
  • Material and shader weaver editor
  • Terrain Editor
  • Shadow Mapping Improvements

Flowgrammable

GSoC Page

Ideas
  • Pretty Printer
  • Meaningful Error Messages
  • Exception based Error Messages
  • Flow Cache
  • Often focus on using C++11!

GNU Compiler Collection

GSoC Page

Ideas
  • GCC Improvements Projects
  • New optimization passes
  • C++11 support in GCC and libstdc++

KDE

GSoC Page

Ideas

Mostly work on features for KDE Applications.

Maybe also proposals for Qt/Framework5.

LibreOffice

GSoC Page

Ideas

  • Refactor God Objects
  • Analyse and optimize SfxItemSet,
    make it use a STL container internally
  • Improving Charts
  • Document Themes
  • Connect to SharePoint / Microsoft OneDrive / Apple iCloud

mlpack

GSoC Page

Ideas
  • implement tree types
  • automatic bindings
  • adaboost implementation
  • collaborative filtering package improvements
  • improvement of tree-traversers

ODGF

GSoC Page

Ideas
  • Generators for different random Graph models
  • basic linear algebra support
  • Search trees and priority queues
  • Preprocessing of Steiner-Tree problems
  • Computation of Tree width

The Stellar Group

(HPX)

GSoC Page

Ideas
  • Create an HPX backend for the ISPC Compiler
  • Create an HPX backend for Thrust
  • Create an HPX backend for the Intel OpenMP Runtime library
  • Optimize the BlueGene/Q port of HPX
  • Port HPX to iOS

Visualization Toolkit (VTK)

GSoC Page

Ideas
  • Biochemistry Visualization
  • Supporting a Visualization Grammar
  • Biocomputing in situ Visualitzation
  • CAD Model and Simulation Spline Model Visualization
  • Shared Memory Parallelism in VTK

the wiselib

GSoC Page

Ideas
  • MQTT implementations for wiselib
  • Implement load and sensoring monitoring protocols
  • Extend support for Arduino
  • Adapting the contiki version of wiselib for JN51xx

wxWidgets

GSoC Page

Ideas

  • create a wxAndroid / wxIOS port
  • bring the wxUNIV port up to the current wxWidgets standards
  • multi-touch gesture support
  • Direct2D based wxGraphicsContext
  • Crossplattform support for power management events

I mostly listed libraries in this overview, other tagged projects are a lot of applications and also other open source projects such as debian, FreeBSD or the eclipse foundation. Sometimes I felt that the tag C++ was not reflected in the organizations ideas.

Join the Meeting C++ patreon community!
This and other posts on Meeting C++ are enabled by my supporters on patreon!