Difference between revisions of "GSoC Overview"

From apertus wiki
Jump to: navigation, search
 
(28 intermediate revisions by 2 users not shown)
Line 12: Line 12:


==Google Summer of Code Introduction==
==Google Summer of Code Introduction==
Spend your summer break writing code and learning about open source development while earning a stipend! Accepted students work with a mentor and become a part of the open source community. Many become lifetime open source developers!
Google Summer of Code is open to age 18 and older in most countries. Watch this video to learn why you should apply:
{{#ev:youtube|S6IP_6HG2QE | 1180 | center}}


'''Note:''' Google haven't announced this year's GSoC participating organisations, but we do intend to participate in 2020. At this point, and if you're interested in working with us, it would be good to have a read through what previous year's GSoC students worked on.


{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-
|-
| style="width: 50%"| '''2018'''
| style="width: 10%"| 2017
| style="width: 50%"| '''2018 WraCommunity'''
| style="width: 45%"| [https://summerofcode.withgoogle.com/archive/2017/organizations/6354847569805312/ Students]
| style="width: 45%"| _
|-
| style="width: 10%"| 2018
| style="width: 45%"| [https://summerofcode.withgoogle.com/archive/2018/organizations/5706275094528000/ Students]
| style="width: 45%"| [https://www.apertus.org/google-summer-of-code-wrap-article-august-2018 Wrap-up]
|-
| style="width: 10%"| 2019
| style="width: 45%"| [https://summerofcode.withgoogle.com/archive/2019/organizations/5576921247645696/ Students]
| style="width: 45%"| [https://www.apertus.org/axiom-team-talk-15-2-gsoc-axiom-remote-article-december-2019 Wrap-up]
|-
| style="width: 10%"| 2020
| style="width: 45%"| [https://summerofcode.withgoogle.com/organizations/6367280998383616/ Students]
| style="width: 45%"| [https://www.apertus.org/google-summer-of-code-wrap-2020-article-october-2020 Wrap-up]
|-
|-
| style="width: 50%"| [https://wiki.apertus.org/index.php/Hardware/Misc Misc Hardware]
| style="width: 10%"| 2021
| style="width: 50%"| [https://wiki.apertus.org/index.php/Social Socials]
| style="width: 45%"| [https://summerofcode.withgoogle.com/archive/2021/organizations/5659873647263744 Students]
| style="width: 45%"| [https://www.apertus.org/google-summer-of-code-wrap-2021-article-september-2021 Wrap-up]
|}
|}


 
Application tip for students: It's considered good practice to establish contact with and work alongside organisations and mentors way ahead of your application. Doing so will greatly increase your chances of being accepted.
 
* [https://www.apertus.org/google-summer-of-code-wrap-article-august-2018 2018 wrap-up]
* [https://www.apertus.org/axiom-team-talk-15-2-gsoc-axiom-remote-article-december-2019 2019 projects]
 
GSoC listing: https://summerofcode.withgoogle.com/organizations/6567493276008448/


Firstly, please read the Google Summer of Code Student Manual. It contains a lot of helpful information about the program and about participating as a student in Google Summer of Code: http://write.flossmanuals.net/gsocstudentguide/what-is-google-summer-of-code/
Firstly, please read the Google Summer of Code Student Manual. It contains a lot of helpful information about the program and about participating as a student in Google Summer of Code: http://write.flossmanuals.net/gsocstudentguide/what-is-google-summer-of-code/
Line 37: Line 50:
... The previous linked page also details the timeline of events which can be accessed here - https://developers.google.com/open-source/gsoc/timeline
... The previous linked page also details the timeline of events which can be accessed here - https://developers.google.com/open-source/gsoc/timeline


apertus° was selected as a mentoring organisation in GSoC 2018. The related projects can be found on the wiki at - https://wiki.apertus.org/index.php/GSoC_Projects
The related apertus° projects from previous years can be found on the wiki at: https://wiki.apertus.org/index.php/GSoC_Projects


==Projects / Languages / Idea Page==
==Projects / Languages / Idea Page==
Line 43: Line 56:
Proposing your own idea to us will tickle our interest much more than helping us with existing tasks.
Proposing your own idea to us will tickle our interest much more than helping us with existing tasks.


Our idea page revolves around the following projects:
Our idea page revolves around the following projects (not all of those have mentors each year):
 
 
* We're building a RAW video footage processing environment called [[OpenCine]] - Programming Language: C++. The software itself should be buildable on all platforms but primary focus is on Linux (Ubuntu and derivatives like LinuxMint distributions) - changes aren't tested on Windows straight away. [[OpenCine.Build Instructions]]. There is a sub-project called ProcessingTest, which is used for prototyping and testing algorithms, there you can find some de-Bayering tests. We also have custom de-Bayering algorithms selected for GSoC, which can be found in apertus° Lab.


* We developed hardware with FPGAs for doing real-time video processing (idea page "FPGA" column) - Programming Language: HDL (VHDL or Verilog).
* We developed hardware with FPGAs for doing real-time video processing (idea page "FPGA" column) - Programming Language: HDL (VHDL or Verilog).
Line 52: Line 62:
* Our cameras run embedded Linux and there are some Kernel related development tasks - Programming Language: C.
* Our cameras run embedded Linux and there are some Kernel related development tasks - Programming Language: C.


* Other tasks are related to creating a camera virtualisation in QEMU, webinterfaces for camera control, controlling lenses, drawing histograms/waveform/vectorscopes from the cameras live view data or automating the camera internal darkframe calibration. Programming Languages for tools are C/C++, for scripting are Python and Bash and for webbased applications: Javascript, PHP and C/C++. Each task on the idea page contains more details about the desired environment and programming language.
* Other tasks are related to creating a camera virtualisation in QEMU, webinterfaces for camera control, controlling lenses, drawing histograms/waveform/vectorscopes from the cameras live view data or automating the camera internal darkframe calibration. Programming Languages for tools are Rust, C/C++, for scripting are Python and Bash and for webbased applications: Javascript and C/C++. Each task on the idea page contains more details about the desired environment and programming language. The actual tasks vary with every year so check out the idea page below.




GsoC Idea Page: https://lab.apertus.org/project/view/20/


==Application Instructions==
==Application Instructions==
Line 67: Line 78:
*Please complete a matching mandatory qualification task on the idea page (also linked to with every idea/task on the idea page) when you apply. When applying with your own idea please check with the mentors/org admins beforehand to see which qualification task would be a good match. Applications without completed qualification task will not be considered.  
*Please complete a matching mandatory qualification task on the idea page (also linked to with every idea/task on the idea page) when you apply. When applying with your own idea please check with the mentors/org admins beforehand to see which qualification task would be a good match. Applications without completed qualification task will not be considered.  


 
Students need to show their coding skills as part of their application, each task has an associated coding challenge that needs to be handed in together with the actual application that's being considered for GSoC. The tasks are challenging but give applicants a good chance to experience what the GSoC program will be like.
GsoC Idea Page: https://lab.apertus.org/tag/google_summer_of_code_2019/
 
 
Students need to show their coding skills as part of their application, each task has an associated coding challenge that needs to be handed in together with the actual application that's being considered for GSoC. The tasks are challenging but give applicants a good chance to experience what the GSoC program will be like:
 
 
* VHDL Challenge: https://lab.apertus.org/T871
* C/C++ Challenge: https://lab.apertus.org/T872
* Kernel Challenge: https://lab.apertus.org/T884
* QEMU Challenge: https://lab.apertus.org/T886




Line 83: Line 84:




To get in touch with any mentor check the [https://www.apertus.org/GSoC-2019-Mentor-Contact-List Mentor Contact List]
In general we recommend applicants to get in touch with mentors of the tasks they are interested in working on early on (long before the actual application phase opens). To get in touch with any mentor check the [https://www.apertus.org/GSoC-Mentor-Contact-List Mentor Contact List] or join our [https://apertus.org/irc-chat IRC channel].
 


==Misc==
==Misc==

Latest revision as of 13:54, 13 March 2022


1 apertus° Introduction

apertus° is a community designing the architecture surrounding a number of free software and open hardware projects aimed at professional level digital imaging and film making related disciplines.

AXIOM Beta Main Page: https://wiki.apertus.org/index.php/AXIOM_Beta (contains links to reading on the camera and its PCB structure)

Website: https://www.apertus.org/

If you'd like to explore the AXIOM camera's background and how the project got started see AXIOM Project Background

2 Google Summer of Code Introduction

Spend your summer break writing code and learning about open source development while earning a stipend! Accepted students work with a mentor and become a part of the open source community. Many become lifetime open source developers!


Google Summer of Code is open to age 18 and older in most countries. Watch this video to learn why you should apply:


2017 Students _
2018 Students Wrap-up
2019 Students Wrap-up
2020 Students Wrap-up
2021 Students Wrap-up

Application tip for students: It's considered good practice to establish contact with and work alongside organisations and mentors way ahead of your application. Doing so will greatly increase your chances of being accepted.

Firstly, please read the Google Summer of Code Student Manual. It contains a lot of helpful information about the program and about participating as a student in Google Summer of Code: http://write.flossmanuals.net/gsocstudentguide/what-is-google-summer-of-code/

Secondly, please read the Google Summer of Code FAQ. It details specifics about deadlines and how things typically run: https://developers.google.com/open-source/gsoc/faq

... The previous linked page also details the timeline of events which can be accessed here - https://developers.google.com/open-source/gsoc/timeline

The related apertus° projects from previous years can be found on the wiki at: https://wiki.apertus.org/index.php/GSoC_Projects

3 Projects / Languages / Idea Page

Proposing your own idea to us will tickle our interest much more than helping us with existing tasks.

Our idea page revolves around the following projects (not all of those have mentors each year):

  • We developed hardware with FPGAs for doing real-time video processing (idea page "FPGA" column) - Programming Language: HDL (VHDL or Verilog).
  • Our cameras run embedded Linux and there are some Kernel related development tasks - Programming Language: C.
  • Other tasks are related to creating a camera virtualisation in QEMU, webinterfaces for camera control, controlling lenses, drawing histograms/waveform/vectorscopes from the cameras live view data or automating the camera internal darkframe calibration. Programming Languages for tools are Rust, C/C++, for scripting are Python and Bash and for webbased applications: Javascript and C/C++. Each task on the idea page contains more details about the desired environment and programming language. The actual tasks vary with every year so check out the idea page below.


GsoC Idea Page: https://lab.apertus.org/project/view/20/

4 Application Instructions

  • Please provide a brief CV.
  • In your application please include answers to the following questions:
    • What interests you most about the apertus° AXIOM project?
    • As mentors and project coordinators, how can we get the best out of you?
    • Is there anything that you’ll be studying or working on whilst working alongside us?
    • Are there any techniques and tools which you use to keep yourself organized?
  • Once you’ve selected a project assignment from the ideas page, please include a well-defined, weekly schedule with clear milestones and deliverables around it. Alternatively, if you want to propose your own idea then please include outline, goals, and a well-defined weekly schedule with clear milestones and deliverables.
  • Please complete a matching mandatory qualification task on the idea page (also linked to with every idea/task on the idea page) when you apply. When applying with your own idea please check with the mentors/org admins beforehand to see which qualification task would be a good match. Applications without completed qualification task will not be considered.

Students need to show their coding skills as part of their application, each task has an associated coding challenge that needs to be handed in together with the actual application that's being considered for GSoC. The tasks are challenging but give applicants a good chance to experience what the GSoC program will be like.


Read this GSoC Coding Challenge Best Practice Guideline if you want to learn more what we are looking for in Coding Challenge Submissions.


In general we recommend applicants to get in touch with mentors of the tasks they are interested in working on early on (long before the actual application phase opens). To get in touch with any mentor check the Mentor Contact List or join our IRC channel.

5 Misc

Tim Videos has a very good guide for GSoC students - must read: https://code.timvideos.us/summer-of-code/

Our Social accounts

You can also see accepted projects on GSoC Projects.

We have a dedicated GSoC mailing list which you can subscribe to here.

If you have any questions most of our live chat takes place in IRC. Alternatively you can email us through: https://www.apertus.org/contact

Students get AXIOM Beta Remote Access to test and evaluate their code directly on a real AXIOM Beta hardware at our office.