Closed slingamn closed 2 years ago
Thank you for applying to be a Google Summer of Code 2022 mentor organization. Sadly, we were unable to accept IRCv3 this year. We had many more applications than available slots. We hope you will apply again in the future!
Postmortem for future reference: a sufficient condition for the application to be rejected was that it did not comply with the rules. Specifically, each project idea should have had an hours estimate (175 or 350 hours) and a list of possible mentors.
I was sent a reminder email about complying with these rules, but I didn't see it.
Thanks for your interest in doing a Google Summer of Code project with IRCv3!
Unlike other open-source projects, IRCv3 is not a single software project, but a federation of independent peer projects who come together to deliberate on shared open standards. Working with IRCv3 presents the opportunity to engage with a standards process, and to work across project boundaries with a variety of different developers and technologies.
When we say "specifications", we mean human-readable documents that describe an extension to the core IRC protocol. When we say "implementations", we mean code contributed to a participating (OSI-licensed) member project that conforms to the specification. It is typical for the "drafting" of a specification to involve a back-and-forth between the specification and implementation processes: deliberation over the specification will surface unforeseen edge cases and bugs in the candidate implementations, but also the process of implementation will surface ambiguities and bugs in the specification.
If you're interested in any of these projects, or if you want to discuss your own project idea with us, please contact us!
Note that although most of these projects are described as involving at least two different codebases and languages, you shouldn't feel that you necessarily need to contribute to multiple codebases or complete all the deliverables yourself: you can work out deliverables and a schedule with your prospective mentor.
File uploads
Difficulty: medium
Moxie Marlinspike just called us out:
We can't take this lying down: let's make file uploading in IRC happen this year! In the most likely direction for this project, there will be minimal involvement with the IRC protocol itself: the upload service will need to be discoverable over IRC, and will need to integrate with IRC-native mechanisms for authenticating users, but actual uploads and downloads will use HTTP.
The deliverables for this project are:
Metadata
Difficulty: medium
The draft metadata specification would allow IRC users to publish information about themselves, such as a personal homepage or an avatar. This specification has languished for some time due to a lack of sustained time investment: however, most of the puzzle pieces are already in place.
The deliverables for this project are:
Push notifications
Difficulty: hard
Push notifications upend the traditional client-server model of IRC by introducing additional third-party infrastructure, posing new privacy and abuse concerns. Nevertheless, the lack of a robust, standardized solution for this is a drag on IRC adoption: it's time we addressed it.
The deliverables for this project are:
Named modes
Difficulty: medium
"Modes" are the traditional mechanism for configuring settings on IRC channels and users. Unfortunately, the current situation with modes is messy: the ecosystem is fragmented and many important modes are not standardized.
The current proposed draft for named-modes promises to solve this issue, enabling the creation of friendly user interfaces for intuitive channel configuration across multiple server implementations. The deliverables for this project are: