Skip to content


GSoC 2017 Guidelines


  • You are expected to spend around 30+ hours a week working on your project during the 3 month coding period (source).
  • You must send a daily report to your mentor and add jb@v.o and hugo@v.o in cc.
  • You must respect licenses and copyrights.
  • Copying code from other open-source projects is allowed but you must credit the original author/project.
  • It is strongly recommended to join the #vlc-gsoc and #videolan channels on Freenode.
  • You're here to learn, don't be afraid to ask. There are no stupid questions.

Go(-lang) Guidelines

Packages and tools

For maintainability and deployment reasons we need all projects to use a common set of tools and a similar stack.


  • you must vendor your packages using Govendor. Commit only the vendor.json file.
  • your HTTP framework must be Gin.
  • your main database must be Postgresql with the Gorm package.
  • your configuration files must be in Toml format using the toml package.

Before adding any new major dependency or package, please refer to your mentor first.


Don't include any authentication in your project yet, we'll most likely manage that on the reverse proxy side or as a Gin middleware. In doubt, ask your mentor.


  • For network related code, usage of contexts is highly appreciated.
  • Write (and commit) a Dockerfile to run your application.