-
Notifications
You must be signed in to change notification settings - Fork 3.4k
GSoC 2023 Guidelines
In the following sections, we'd like to describe a bit better what we expect from applicants and what applicants can expect from us (and what not). Anyone wanting to engage with our project for GSoC 2023 should read and follow this document carefully.
This project will be a GSoC first-timer. The final goal is well enough described in the project description at OSM GSoC.
Ideally the successful candidate is able to commit to the full 350 hours, so that we have the final OSRM Python package available on PyPI for all major platforms and distributions/OS versions.
You can contact us to express your interest in the associated issue: https://github.com/Project-OSRM/osrm-backend/issues/6558, and we'll take further communication from there.
Officially the application period for GSoC will start on 20.03.2023. However, we understand and appreciate that you don't want to wait that long to get your hands dirty. We'd ask you to follow the following:
- Learn about OpenStreetMap as a whole. Create an account and do some mapping in your local area. Specifically focus on roads and their attributes. After all, this is a routing project.
- Get to know the OSRM project by building it locally (no Docker!), set up your development environment in either CLion or VS Code and use the available documentation to build a graph for your favorite city or region.
- Tackle one open issue or, even better, create an issue yourself with stuff you think would be great to have, such as improving documentation . Clearly state that you want to fix the open issue and we'll assign you. If we don't hear anything from you in 3 days, you'll be unassigned and it's given to the next candidate. Also, see Rule 1 and Rule 2.
- Let us know when you think your PR is ready for review. This is a critical point for us, as it shows how you did what without our intervention.
- If you're still there, congrats! Though that's not the final pass to being selected. You'll still have to write the full project proposal. We recommend handing in the proposal as early as possible so there's enough time smoothen out the rough edges. Plan realistically: there's only around 10 weeks and it's at minimum a 50% job.
You, a student or someone else with a lot of time, want to know how you could wiggle your way into this GSoC project. Good on you!
However, do note, this is open source and as most open source projects, it's entirely run by volunteers who sacrifice their time unpaid. Thus we have some rules, mostly to protect ourselves. So be nice!
We’re a small voluntary team with plenty of work to do already. So really, really don’t waste our time asking silly questions. This is not school. Go through the usual checklist and be your own troubleshooter. That inner monologue is actually part of the learning process.
Then, if you are still stuck, do ask, and clearly show what you tried. "XY is not working, need help!" will not get you anywhere.
During the pre-selection period, i.e. until the end of point 3 in the process, we won't engage much with you. We expect you know how to help yourself, it's part of the selection process for us.
If open source was a phone, we prefer the Nokia 6210 (yes, we're that old!) over the newest iPhone. The former will still run on the first battery charge after the latter's screen had to be replaced 4 times. Low maintenance is the goal. Internalize that. Be simple, do what everyone actually needs: fix bugs, improve coverage, increase efficiency. Make us happy.
That’s it!
Applications run 20.03. – 04.04.2023, but the real time to start working is now. Selections will be announced on May 4th.
Good luck!
Thanks for the inspiration by Lonvia's GSoC Announcement and Kiwix.
I think this page is obsolete. I add few commet since I tried to compile OSMR recently using Codeblocks 20.03 on Windows 10. What I found was that
Several extra libraries ave to be installed like BZip2, lua. I was using MSYS2 so I did, pacman -S mingw-w64-x86_64-bzip2 pacman -S mingw-w64-x86_64-lua pacman -S mingw-w64-x86_64-zlib
instal Intell tbb https://github.com/oneapi-src/oneTBB/releases Extract it to a folder (e.g., C:\tbb).
Ensure to add TBB Path to CMake Command and that the bin folder of MinGW or MSYS2 (e.g., C:\msys64\mingw64\bin) is added to your system PATH environment variable.
Then in osrm-backend\build run
cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DTBB_INCLUDE_DIR="C:/tbb/include" -DTBB_LIBRARY="C:/tbb/lib/intel64/gcc4.8/libtbb.so"
cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fno-lto -mconsole" -DCMAKE_EXE_LINKER_FLAGS="-Wl,-e,mainCRTStartup"
It may be enough to compile.
However for some compilation problems I add to do
- remove "-Werror # Treat all warnings like error" in a CMakeLists.txt file
- add in shared_memory.hcp in line 208: (void)lock_file; // This explicitly marks lock_file as used to avoid warning of unused variable
- to avoid an Link Time Optimization (LTO) error run cmake -G "CodeBlocks - MinGW Makefiles" .. -DCMAKE_BUILD_TYPE=Release -DIPO=OFF
- put OFF in option(ENABLE_LTO "Use Link Time Optimisation" OFF) and I add set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF) in Cmake
I finally gave up because of Windows console incompatibility (Winmain not found) without knowing the reason even after having, In codebleocks Project properties, Built target, type put Console application