Google Summer of Code 2024
gsoc_logoGSoC 2024 Program Timeline
  • January 22 - Organization applications open
  • February 21 - Accepted GSoC Organizations announced
  • April 2 - Students submit their proposals
  • May 1 - Accepted students are announced
  • May 1- May 26 - Community bonding period with orgs
  • May 27-August 26 - Students code the summer away
  • September 3 - Successful student projects are announced
Statistics
  • Since year 2005, 16,000+ students and 13000 mentors from over 118 countries has came together to participate in GSoC
  • Approximately 38+ million lines of code have been produced

GSoC 2024 Project Ideas


UI Migration from MUI v4 to MUI v5 and NextjS 13

  • Description: Meshery's UI is powerful and utilizes frameworks like Next.js and Material-UI. However, it relies on outdated technology stacks, resulting in performance inefficiencies and increased maintenance overhead.
  • Expected outcome:
    • Migrate from MUI v4 to MUI v5 and fully utilize features of Nextjs v13.
    • Migrate all class based components to function based component.
    • Reduced code complexity and improved maintainability for long-term sustainability.
    • Responsive and accessible UI that adapts to diverse devices and user needs.
  • Recommended Skills: React, NextJS, Material UI, Redux, Redux Toolkit
  • Mentor(s): Lee Calcote, Antonette Caldwell
  • Expected project size: 350 hours
  • Difficulty: Hard
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/6680

Expand CLI capabilities for registry management

  • Description: Meshery CLI is a powerful tool to manage all your cloud native resources, Meshery has internal capability called Registry to store and manage models, categories, component and relationship, presently Meshery’s v0.7 release allow users to view all this information from Mehery UI. We also need to expose Meshery’s registry capability through mesheryctl.
  • Expected outcome:
    • Design mesheryctl subcommands and flags for registering, listing, retrieving, updating, and deleting models, components and relationships.
    • Implement validation and error handling for user input and API responses.
    • Integrate with relevant Meshery APIs to interact with the registry backend.
  • Recommended Skills: Golang, GoLang CLI framework, Cobra
  • Mentor(s): Lee Calcote, Uzair Shaikh
  • Expected project size: 350 hours
  • Difficulty: Hard
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/8176

Expand integration with Artifact Hub

  • Description: While Meshery has made significant strides, its integration with Artifact Hub requires expansion and enhancement to maximize users experience. The goal is expand integration between Meshery and Artifact Hub which starts with making Meshery designs as a new Artifact Hub kind.
  • Expected outcome:
    • Definition and implementation of Meshery patterns as a distinct category within Artifact Hub.
    • Design features to showcase Meshery's unique design patterns, enhancing visibility and accessibility.
    • Collaborate with select publishers to integrate Meshery snapshots into Artifact Hub entries.
    • Enhance user experience by providing visual representations of Meshery-related artifacts.
  • Recommended Skills: Golang, Artifact Hub, Helm, Kubernetes
  • Mentor(s): Lee Calcote, Aabid Sofi
  • Expected project size: 350 hours
  • Difficulty: Hard
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/9966

Cloud Native Playground

the cncf playground mockup

In-browser OPA policy evaluation in WASM and Rego

  • Description: Meshery's highly dynamic infrastructure configuration capabilities require real-time evaluation of complex policies. Policies of various types and with a high number of parameters need to be evaluted client-side. With policies expressed in Rego, the goal of this project is to incorporate use of the https://github.com/open-policy-agent/golang-opa-wasm project into Meshery UI, so that a powerful, real-time user experience is possible.
  • Expected outcome:
  • Recommended Skills: Golang, Open Policy Agent, WASM
  • Mentor(s): Lee Calcote, Abhishek Kumar
  • Expected project size: 350 hours
  • Difficulty: Hard
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/7019

[MeshModel] Kubernetes Ontology Browser

  • Description: Network topologies and graph databases go hand-in-hand. The OpenAPI specifications for Kubernetes provides taxonomy, but augmenting a graph data model with formalized ontologies enables any number of capabilities, one of the more straightforward is the inferencing requisite for natural language processing, and consequently, a human-centric query / response interaction becomes becomes possible. More importantly, more advanced systems can be built when a graph data model of connected systems is upgraded to be a knowledge semantic graph.
  • Expected outcome:
    • Web-based MeshModel capabilities browser
    • Modeling in graph database
    • Augmentation of cuelang-based component generator
    • Stretch: Import/export of MeshModel models and components as OCI images
  • Recommended Skills: Reactjs, Golang, Cuelang, GraphQL, OpenAPI Schema
  • Mentor(s): Lee Calcote, Abhishek Kumar
  • Expected project size: 350 hours
  • Difficulty: Hard
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/7465

Adopt OCI as the packaging and distribution format for Meshery MeshModels

  • Description: Meshery MeshModels represent a schema-based description of cloud native infratructure. MeshModels need to be portable between Meshery deployments as well as easily versionable in external repositories.
  • Expected outcome:
    • Meshery clients (mesheryctl and Meshery UI) should be able to import/export MeshModels as OCI images.
    • Meshery clients (mesheryctl and Meshery UI) should be able to push/pull from OCI-compatible registries.
    • Stretch Goal: OCI image signing; Verify the authenticity of MeshModels using cosign.
    • Target registries: Meshery Catalog (https://meshery.io/catalog), Artifact Hub.
  • Recommended Skills: Reactjs, Golang, GraphQL
  • Mentor(s): Lee Calcote, Abhishek Kumar
  • Expected project size: 175 hours
  • Difficulty: Medium
  • Upstream Issue (URL): https://github.com/meshery/meshery/issues/6447



Additional Information

 

Layer5 projects are open source software. Anyone can download, use, work on, and share it with others. It's built on principles like collaboration, globalism, and innovation. Layer5 projects are distributed under the terms of Apache v2.

About Layer5

We want to participate to help first-time open source contributors get started and what will hopefully be a lifelong journey of open source participation. We want to have them have a great first experience, understand what it means to be embraced by empathy and, in turn, to have empathy for others. We are all learning and growing each day. Our organization and community culture has a pay-it-forward mentality. We spend a lot of time with both students and adults alike, tutoring them, supporting them, and watching them grow. We believe that the world has too few truly diverse and perpetually encouraging open source communities. We take our internships very seriously and grow and support interns to dramatically increase their career velocity. We love helping others learn and grow.

Mentoring and seeing others learn and grow is what Layer5 is all about - they grow, we grow. Layer5 is a platform for mentees to hoist themselves up on and leapfrog from. We’re a platform for shared success. Direct participation in GSoC will be most meaningful to the community.

We interact daily over Slack, and have an open source project meeting everyday, which are posted to the community YouTube channel.

Layer5 projects are open source software. Anyone can download, use, work on, and share it with others. It's built on principles like collaboration, globalism, and innovation. Layer5 projects are distributed under the terms of Apache v2.

Google Summer of Code Participation

The key component of these projects is our Community. This community, which you will join as a participant in Google Summer of Code, is improving the world of diverse cloud native systems. Your contributions will affect people you've never met. The Layer5 community includes software engineers, researchers, students, artists, system administrators, operators and web designers -- all of whom will be happy to help you get started.

We believe that all contributors should expect and be part of a safe and friendly environment for constructive contribution. We can more effectively and successfully compare and challenge different ideas to find the best solutions for advancement, while building the size, diversity, and strength of our community.

Layer5, the cloud native management company

An empowerer of engineers, Layer5 helps you extract more value from your infrastructure. Creator and maintainer of cloud native standards. Maker of Meshery, the cloud native manager.