Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost C++ Libraries

Since 2005, Boost has participated in the Google Summer of Code™, initiative, a program in which student developers are sponsored for their contributions within open source organizations that are willing to mentor the participants.

Currently the application process begins around March/April by the student reviewing past GSoC project ideas and approaching the Boost developers mailing list to find a mentor willing to mentor them and codevelop a project proposal to be submitted to Google for funding the upcoming summer. Students are expected to be flexible with regard to what topics and proposals mentors are willing to mentor.

If you arrive at the process too late to prearrange a mentor, some potential mentors supply prewritten project proposals with C++ programming competency tests on this year's GSoC Project Ideas page. If you have in the past made a substantial contribution to a well known open source project or participated in previous editions of the GSoC, it may be possible to skip submission of the C++ programming competency test solution (decided on a case by case basis).

Submit the competency test solution as part of the project proposal you will submit to the Google Summer of Code program. You can copy and paste relevant parts of your code or you can include links to, for example, GitHub repository with your solution project.

Google Summer of Code 2020 overview

This year, in 2020, 10 students will work with us on improving and adding new features to many of our libraries. Once again, the competition has been very hard. A few numbers: - we received 93 proposals in total. 85 of them were complete, then we kept 47 proposals only - finally we selected 10 of them, covering 7 different Boost libraries - and countless hours of work from the most incredible team of mentors! Here is the list of projects for 2020:

Boost.Real

  • Kishan Shukla will be working on making the Real library ready for revision. His main goal is to reimplement the division algorithm so it can be used with any number base representation and the Karatsuba multiplication algorithm. Also, it will be working on implementing some operators and common irrational numbers as Pi. Mentors: Laouen Belloli and Damian Vicino.

Boost.Astronomy

  • Syed Ali Hasan will be working on the astronomical coordinate system, he will implement different coordinate conversion using SOFA library Mentor: Pranam Lashkari
  • Gopi Krishna Menon will be completing the parser for FITS file and also optimise the already developed components. Mentor: Sarthak Singhal

Boost.GIL

  • Debabrata Mandal will be implementing histogram computation as a built-in feature, algorithms for histogram analysis, image processing algorithms based on histogram and possibly integration with Boost.Histogram library.
    Mentors
    : Mateusz Loskot, Pranam Lashkari
  • Olzhas Zhumabek will be extending GIL's portfolio of image processing algorithms, implementing for image scaling and sampling, Perona–Malik diffusion, Non-Maximum Suppression for object detection, Hysteresis threshold and some more. Mentor: Mateusz Loskot

Boost.Multiprecision

  • Dimitris Los will work on extending and optimizing parts of Boost.Multiprecision to higher precision of many thousands of bits or more. Mentor: Christopher Kormanyos

Boost.uBlas

  • Ashar Khan will stabilize and improve Boost.uBlas using the C++20-Standard. The main focus of his project will be enhancing code-coverage and documentation, integrating static code analysis and generating tensor concepts. Mentor: Cem Bassoy
  • Tom Kwok will improve and finalize the implementation of data frames in uBlas, with the aim of delivering production-ready by the end of the summer. Data frames in uBlas are similar in functionalities to other implementations like in R, Python.Pandas or Julia. Mentor: David Bellot

Boost.Geometry

  • Tinko Bartels will work on robust yet efficient geometric predicates for Boost Geometry. Mentor: Vissarion Fisikopoulos

Boost.Real

  • Vikram Singh Chundawat will work in taking Real to revision ready state. His focus will be in improving the internal representation datatypes and providing functions required to conveniently support Taylor series. Mentors: Damian Vicino and Laouen Belloli

Github's for standalone GSoCs past and present

Since 2013 with Boost's transition to git we have kept a single umbrella org on github for those GSoCs which are fairly self standing. Incremental extensions to existing libraries usually enter that library's main git repo as an experimental branch. Here are those orgs:

Students may find examining past GSoC source code and commit histories of use.

Historical GSoC Ideas pages for years 2006 to now

Sponsorships