Skip to content

Commit

Permalink
Minor GSoC 2024 page improvements (#62)
Browse files Browse the repository at this point in the history
  • Loading branch information
XVilka authored Feb 22, 2024
1 parent fd34ea6 commit 2404ba1
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions content/gsoc/2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ ShowReadingTime: false

# Introduction

This year we participate again, effectively continuing the tradition since the year 2015.
This year, we participate again, effectively continuing the tradition since 2015.

## Mentors

Members of the Rizin and Cutter core teams have volunteered to guide participants for GSoC’23. They were already guiding the participants for the GSoC and RSoC in past years. Please feel free to reach out to any of them in case you need any help in selecting a project.
Members of the Rizin and Cutter core teams have volunteered to guide participants for GSoC’24. They have already been guiding the participants for the GSoC and RSoC in past years. Please feel free to reach out to any of them if you need any help in selecting a project.

- **Anton Kochkov** Mattermost: xvilka -- [@akochkov](https://twitter.com/akochkov)
- **Riccardo Schirone** Mattermost: ret2libc [@RickySkiro](https://twitter.com/RickySkiro)
Expand All @@ -26,9 +26,9 @@ Members of the Rizin and Cutter core teams have volunteered to guide participant

## Development methodology

Currently, all repositories are hosted on GitHub [main](https://github.com/rizinorg/) organization account, bugs are tracked on GitHub [issues](https://github.com/rizinorg/rizin/issues) too. We are mostly using [our own Mattermost instance](https://im.rizin.re), IRC, and [Telegram](https://t.me/rizinorg)) for communication.
Currently, all repositories are hosted on GitHub [main](https://github.com/rizinorg/) organization account and bugs are tracked on GitHub [issues](https://github.com/rizinorg/rizin/issues) too. We are primarily using [our own Mattermost instance](https://im.rizin.re), IRC, and [Telegram](https://t.me/rizinorg)) for communication.
We have a [testsuite](https://github.com/rizinorg/rizin/tree/dev/test) (which is running on GitHub Actions, [Travis CI](https://travis-ci.com/rizinorg/rizin), [AppVeyor](https://ci.appveyor.com/project/rizinorg/rizin) and SourceHut) to test and verify that all the features are still working and that a pull requests or commits don't break anything, to ensure the support of different operating systems (Linux, MacOS, Windows, FreeBSD, OpenBSD), different architectures (x86/x86_64, ARM64, PowerPC, SystemZ), and to find regressions.
We encourage contributors to write test cases and documentation in order to verify the implementation and ensure that everything fits well together. For complex bugs and examples we're using [ASCIInema](http://asciinema.org/) for recording the sessions.
We encourage contributors to write test cases and documentation in order to verify the implementation and ensure that everything fits well together. For complex bugs and examples, we're using [ASCIInema](http://asciinema.org/) to record the sessions.

See also our guides for corresponding projects:
- Rizin [Contributing Guide](https://github.com/rizinorg/rizin/blob/dev/CONTRIBUTING.md) and [Developers Intro](https://github.com/rizinorg/rizin/blob/dev/DEVELOPERS.md)
Expand All @@ -38,43 +38,43 @@ For those who want to get introduced to the Rizin codebase and practices, we rec

## License

Rizin is modular: this means that it aims to make all the elements and features easily reusable from other projects. The choice of [LGPL3](https://www.gnu.org/licenses/lgpl.html) as a license is the minimum requirement to get code merged in Rizin. Contributors can choose Apache, BSD, MIT, Public Domain, or other similar licenses. The reason to exclude GPL as a valid license for the project is because we aim to support proprietary software that uses Rizin, while protecting our free codebase.
Rizin is modular: this means that it aims to make all the elements and features easily reusable from other projects. The choice of [LGPL3](https://www.gnu.org/licenses/lgpl.html) as a license is the minimum requirement to get code merged in Rizin. Contributors can choose Apache, BSD, MIT, Public Domain, or other similar licenses. The reason to exclude GPL as a valid license for the project is because we aim to support proprietary software that uses Rizin while protecting our free codebase.

## Instructions for participants

It is a requirement that participants who want to apply to the Rizin project for the Google Summer of Code 2024 should submit a small pull request accomplishing one of the [microtasks](#microtasks) (see below) as part of their application. Though you can also choose any of the GitHub issues for Rizin if they are big enough to be a qualification task, and still small enough to be finished no more than in a couple of weeks. To help participants to understand how to contribute to the project there are issues marked as **"good first issue"** for both [Rizin](https://github.com/rizinorg/rizin/labels/good%20first%20issue) and [Cutter](https://github.com/rizinorg/cutter/labels/good%20first%20issue).
Participants who want to apply to the Rizin project for the Google Summer of Code 2024 are required to submit a small pull request accomplishing one of the [microtasks](#microtasks) (see below) as part of their application. You can also choose any of the GitHub issues for Rizin if they are big enough to be a qualification task and still small enough to be finished in no more than a couple of weeks. To help participants understand how to contribute to the project, there are issues marked as **"good first issue"** for both [Rizin](https://github.com/rizinorg/rizin/labels/good%20first%20issue) and [Cutter](https://github.com/rizinorg/cutter/labels/good%20first%20issue).

## Programming languages

Most of Rizin is written in C (conforming C99 standard) and hence we expect participants to be familiar with C programming language. For some of our tasks or microtasks, such as [rz-pm](https://github.com/rizinorg/rz-pm), they should know the Go programming language. For the [Cutter tasks](#cutter), it is a requirement to know C++ and Qt framework basics.
Most of Rizin is written in C (conforming to the C99 standard), and hence, we expect participants to be familiar with C programming language. For some of our tasks or microtasks, such as [rz-pm](https://github.com/rizinorg/rz-pm), they should know the Go programming language. For the [Cutter tasks](#cutter), it is a requirement to know C++ and Qt framework basics.

## Recommended steps

1. Read Google's instructions for participating
2. Grab any of the project from the list of ideas that you're interested in (or propose your own).
2. Grab any of the projects from the list of ideas that you're interested in (or propose your own).
3. Write a first draft proposal using Google Docs and [our template](https://docs.google.com/document/d/1kDPGgr_D5tQuYLQi_gEGlkuQ-DlU8GH5kDBqZbVSC7I/edit?usp=sharing) and ask one of the mentors or administrators to review it with you.
4. Submit it using Google's web interface.

## Participant proposal guidelines

1. Keep it simple enough to fit in no more than a couple of pages. Try to be clear and concise in your writing.
2. Try to split the entire GSoC period into tasks, and each task into subtasks. It helps us to understand how you plan to accomplish your goals, but more importantly, it'll help you to understand the task deep enough before starting, and prioritize important things to do first.
3. Please note how much time a day/week you are able to spend on this project.
2. Try to split the entire GSoC period into tasks and each task into subtasks. It helps us understand how you plan to accomplish your goals, but more importantly, it'll help you understand the task deep enough before starting and prioritize important things to do first.
3. Please note how much time a day/week you can spend on this project.
4. Please specify which category you apply for - medium task or extended deadline one.
5. Specify your timezone, since so we can assign you a mentor in the same one, to ease communication.
6. Submit your proposal early, not in the last minute!
7. Be sure to choose a “backup” idea (the second task you want to do), so that conflicts (two participants for one task) can be resolved.
5. Specify your timezone so we can assign you a mentor in the same one to ease communication.
6. Submit your proposal early, not at the last minute!
7. Be sure to choose a “backup” idea (the second task you want to do) so that conflicts (two participants for one task) can be resolved.

# Project Ideas

# Cutter

## Improving usability and user experience (175 hour project)

The Cutter's backend provides a lot of features that are not exposed or exposed in Cutter
efficiently. The goal of this task would be to figure out the biggest pain points of the users and
The Cutter's backend provides many features that are not exposed or exposed in Cutter
efficiently. The goal of this task would be to figure out the users' biggest pain points and
address them by improving or reworking the interface. Some of the issues are already in our GitHub,
while other might be figured during the cross-comparison with other tools.
while others might be figured during the cross-comparison with other tools.

### Task
- Add a scrollbar to the disassembly and hexdump widgets
Expand Down

0 comments on commit 2404ba1

Please sign in to comment.