Hi!
We have a page detailing what is expected during the application process here:
https://www.haiku-os.org/community/gsoc/2021/students
In short, we expect you to:
- Discuss your GSoC proposal on this mailing list with other Haiku developers
- Submit at least one patch to our code review tool at review.haiku-os.org
- Write your GSoC application draft and share it here so we can help you to
improve it (the page linked above gives you some information on how to get
started).
Since filesystems are a popular subject for our GSoC students, you can look at
the work that was done in previous years in that area.
A good starting point is the blog posts of previous students, for example:
https://www.haiku-os.org/blog/cruxbox/
https://www.haiku-os.org/blog/suhelmehta
https://www.haiku-os.org/blog/brj
https://www.haiku-os.org/blog/abx1/
https://www.haiku-os.org/blog/hyche/
From these blog messages and your own testing, we expect that you can extract
the following information and include it in your proposal:
- A quick overview of the filesystem and its main "selling points" compared to
other filesystems
- An overview of the history and state of the current implementation in Haiku
(maybe you will need to do your own testing: is read support working? is write
support enabled in current builds and is it working?)
- A description of the available tools to test the filesystem (fs_shell and
userlandfs being the main ones on Haiku side, but other tools may be useful to
generate test filesystem images)
- A roadmap of what needs to be done to get write support completed in btrfs
I see that one patch from one of the previous students has not yet been merged:
https://review.haiku-os.org/c/haiku/+/1531
As an introduction to Haiku you could work on improving this patch so we can
integrate it (our application process requires that you work on at least one
patch, this one is quite simple, but if you have done other work elsewhere that
we can also use as a reference, it should be fine).
My Opensource Contribution: lately I've Learnt how to work with Linux kernel,
where I have learnt
how to send patches, I made some code cleansing on the driver code of
MediaTek (mt7621-dma) in the
staging tree, and worked on documentation part as well as tried my hands on
bug-fixing.