Boost logo

Geometry :

Subject: Re: [geometry] Beginner Request for Contributing to Boost Library
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2015-12-14 22:23:49


Hi Arafat,

Arafat Dad Khan wrote:
> Hi Respected Sir/ Mam,
> I am Arafat Dad Khan, an undergraduate student at Indian Institute of Technology, Kharagpur.
> I wish to contribute to the Boost Geometry .
> I have decent knowledge of Algorithms and Data Structures and have consistently taken part in algorithmic competitions on websites such as Codechef and Spoj(Sphere online Judge ) you can view my profile here
> http://www.spoj.com/SPOJ/users/adk/
> I am very new to open source, And i just need someone to guide me so that i could focus on the right areas to contribute. I am very comfortable with C++ language and learning complicated algorithms is great fun to me.

It's great to meet you. We always appreciate a helping hand!

> I have the following Questions
> 1 What would be the best place where a beginner like me could contribute ?

There are plenty of things that could be done to improve the library so
it depends what would you like to do. As a beginner you could indeed
write some tests to improve the coverage, work on documentation, but you
could also fix some simple bugs or implement a new algorithm or add
support for missing features, etc.

> 2 How exactly does someone check the tests and improve upon them ?

Check out the contribution tutorial on Boost.Geometry GitHub repository
wiki page:
https://github.com/boostorg/geometry/wiki/Contribution-Tutorial

There are also additional information for contributors:
https://github.com/boostorg/geometry/wiki/Guidelines-for-Developers
https://github.com/boostorg/geometry/wiki/Generating-and-Improving-Documentation

> 3 What are the necessary things that i must learn(aside from algorithms )in order to be able to contribute?

Do you have an experience in using Boost.Geometry library? It would be a
good first step to first know the library from user's perspective in
case you haven't already. To know what you can do with it in general,
what is currently supported, what is not supported, if there are some
problems with the library in some cases, to actually use it in your
application, etc. You should also know the documentation
(http://www.boost.org/libs/geometry). Then you could learn about the
internals, see how the library is built, read about the design
(http://www.boost.org/libs/geometry/doc/html/geometry/design.html). You
could see how some (simple) actual algorithms are implemented, so how
this design is used in practice (https://github.com/boostorg/geometry).
And of course please ask questions on any point if you feel confused.

A few more things worth mentioning.

Boost has its own ticket tracking system. Here are the bugs reported for
Boost.Geometry:
https://svn.boost.org/trac/boost/query?status=assigned&status=new&status=reopened&component=geometry&col=id&col=summary&col=component&col=status&col=type&col=milestone&order=priority
so if you wanted to fix some bugs you could search for them here.

If you see the readme of Boost.Geometry repository on GitHub you'll see
the Test results section. From there you can go into the Coveralls
service page (coverage) where you can see the report about the coverage
of the code. So if you wanted to improve the tests by increasing the
coverage this page would be helpful.

> If this is not the right place to ask newbie questions please tell me where i could ask the my questions.

It is ok to ask questions here.

Adam


Geometry list run by mateusz at loskot.net