LAPPIS

GOOGLE

SUMMER OF CODE

Whats is it?

Google Summer of Code

Google Summer of Code is a worldwide online program aimed at attracting new contributors to open-source software development. Participants in Google Summer of Code are matched with mentors from open-source organizations, providing them with valuable insights into real-world software development practices. By working on real projects, contributors have the opportunity to learn from seasoned open-source developers. Additionally, participants receive a small stipend as an incentive.

LAPPIS is one of our 195 mentoring organizations for GSoC 2024! We are part of the 30 organizations participating in GSoC for the first time.

LAPPIS

LAPPIS is a Brazilian Free and Open-Source Software (FOSS) lab dedicated to promoting collaboration and engagement within free and open-source communities. Located in the University of Brasilia (UnB) Led by women, the lab’s mission is to increase the number of young South Americans, women and underrepresented groups in contribute to high-impact open-source projects.

We do this through collaboration with both government and private sector in developing open source projects. We had more than 100 students with scholarship contributing to OSS in Brazilian context. LAPPIS also engage in discussions advocating for open standards, participating in policy discussions and development, and raising awareness about the benefits of open-source development and adoption, while fomenting local industry.

Brasil Participativo

Brasil Participativo is the LARGEST SOCIAL PARTICIPATION PLATFORM OF THE FEDERAL GOVERNMENT of Brazil IN ALL TIMES. The Participative Brazil Platform is the new social participation platform of the federal government, built so that the population can contribute to the creation and improvement of public policies. The platform was developed in open-source software with the support of Dataprev, the Decidim-Brasil community, the Ministry of Management and Innovation in Public Services (MGI), and the University of Brasília (UnB), LAPPIS.

A notable initiative on this platform was the Participatory Pluriannual Plan (PPA) in July 2023, which gathered proposals from over 1.4 million active participants. Looking forward, the Brazil Participativo platform, powered by Decidim, enables national councils, ministries, and federal agencies to conduct inclusive public consultations, creating a space for citizens to actively contribute to the formulation of decrees, ordinances, and other critical actions.

Decidim

Decidim, derived from the Catalan phrase “let’s decide” or “we decide,” is a digital infrastructure designed for participatory democracy. It serves as a digital platform built entirely and collaboratively as free software. Specifically, Decidim is a web environment, or framework, developed in Ruby on Rails, a programming language. This framework enables anyone to create and configure a web platform to function as a political network for democratic participation.

With its robust features and user-friendly interface, Decidim serves as a powerful tool for fostering a more participatory and inclusive democratic process. Moving forward, the Brazil Participativo platform, powered by Decidim, stands as a symbol of digital empowerment, encouraging individuals to create profiles and actively participate in shaping policies that impact their lives.

LAPPIS is intending to apply to GSoC 2024.

Contributors: Please start with the LAPPIS GSoC getting started guide.

Get Started

Get Started

Join in our Community Channel

Join the Decidim community on Telegram and connect with other developers, mentors, and organizers. Our Telegram server is a great place to ask questions, share ideas, and get support throughout about Decidim.

Join Telegram

Start Contribuiting

Contribute to the project and make your mark on open-source development with LAPPIS. By making a Pull Request (PR) to one of our existing projects, you'll have the opportunity to showcase your skills and demonstrate your understanding of the project. This will also give you an opportunity to work with the mentors and get familiar with the project before the official GSoC coding period starts. This is a great way to get started and increase your chances of being selected for the program.

Onboarding

Write a Draft Application

Select an Idea and write a draft application that expands this ideas with your own proposals and showcases how you will execute and complete your project . This is your chance to demonstrate your understanding of the project, your skills, and your passion for open-source development. Our mentors will provide feedback and help you refine your proposal, increasing your chances of being selected for the program.

Ideias

Discuss with Mentors

By having a discussion with our mentors, you'll have the opportunity to ask questions, get feedback, and fine-tune your proposal. This will ensure that your proposal is well-aligned with the project goals and that you fully understand the expectations for the project. Our mentors will provide guidance and support to help you craft the best possible proposal, increasing your chances of being selected for the program.

Submit Final Application

By submitting your final application for GSoC, you'll be taking the last step in your journey to becoming a part of our community and contributing to projects that are shaping the future of technology. Make sure to submit your application before the deadline and include all the details correctly that are asked by Google. Wait for the selection process to take place and cross your fingers!

How to start?

Here, Ludimila brings us an introductory video about Google Summer of Code (GSoC) 2024, where she explain how you can become a contributor to our projects and join our community!

Ideias

Ideias

Creating a brazilian Boilerplate of a digital participation Platform

One critical prerequisite for the Brasil Participativo platform is to ensure universal citizen participation. This presents a significant technopolitical challenge in a country marked by pronounced social and educational disparities, where various segments of the population face obstacles in engaging with virtual environments. In recent years, there has been a growing interest in participatory platforms that enable organizations to engage with their communities effectively. These platforms facilitate two-way communication, allowing organizations to gather feedback, crowdsource ideas, and collaborate with their stakeholders. Building on the success and experience of the Brasil Participativo initiative, we propose to develop a boilerplate that will enable organizations to create their own participatory platforms easily.

The project will focus on creating a basic boilerplate that includes essential features such as user authentication, participatory spaces, user experience. The boilerplate will be designed to be scalable and extensible, allowing organizations to add additional features as needed. By developing a participatory platform boilerplate based on Brasil Participativo, we aim to empower organizations to engage with their communities in a meaningful and impactful way. This project aligns with our commitment to promoting transparency, inclusivity, and democratic participation. Some tasks necessary: Develop a customizable and easy-to-deploy boilerplate based on the principles and features of Brasil Participativo. Provide organizations with a tool to create participatory platforms tailored to their needs. Promote transparency, engagement, and collaboration between organizations and their stakeholder

Project Complexity: intermediate

Expected size of the project: 350 hours

Skills required/preferred: Ruby on Rails, open source community best practices

Deliverables: A fully functional participatory platform boilerplate based on Brasil Participativo. Documentation and user guides for deploying and customizing the boilerplate. Support and maintenance services for a specified period after the initial deployment.

Eduardo Nunes

Leonardo Gomes

The collective power of multiple communities: Integrating the Empurrando Juntas tool with Decidim

Empurrando Juntas (EJ) is a powerful tool for social participation, designed to collect opinions and facilitate collaboration. By integrating EJ with Decidim, we can harness the collective power of multiple communities, enabling more inclusive and impactful decision-making processes.

Decidim provides a robust framework for citizen participation, offering features for public consultations, deliberative processes, and collaborative decision-making. By integrating EJ with Decidim, we can enhance the platform’s capabilities, making it easier for participants to engage and contribute.

One key benefit of integrating EJ with Decidim is the ability to leverage EJ’s artificial intelligence techniques for grouping participants based on their opinions. This can help streamline the decision-making process, enabling more efficient and effective collaboration.

Another advantage is the potential to expand the reach of both tools. By integrating EJ with Decidim, we can bring EJ’s powerful participation features to Decidim’s existing user base, and vice versa. This can help foster collaboration and knowledge sharing among different communities, leading to more diverse and inclusive outcomes.

Project Complexity: intermediate

Expected size of the project: 175 hours

Skills required/preferred: Ruby on Rails, open source community best practices, machine learning

Deliverables: A gem integrating the ej platform and Decidim.

Ricardo Poppi

David Carlos

Implement a mapping participatory component in Brasil Participativo.

Political digital participation encompasses various methods, ranging from conventional public consultations and polls to more innovative approaches like submitting and voting on proposals. However, one less commonly utilized method is mapping, which allows discussions and participation around geolocalized proposals and issues. In essence, this method enables engagement with local, territorial, and political demands and concerns within a geographical context. Despite being widely adopted in social media and other digital arenas, this feature is notably absent in Decidim.

This project aims to fill this gap by implementing a mapping component in Brasil Participativo. The envisioned functionalities include the ability to upload shape files for additional information, enabling the creation of proposals with geocoding, and visualizing proposals and other relevant layers on a single map. Each participatory space will have its own shapefile that can be viewed in isolation or overlaid with other participatory processes conducted on the platform. The functional requirements of this component have already been outlined, along with the necessary technical documentation to develop a plugin in Ruby on Rails, adhering to the Decidim architecture (plugin architecture).

Project Complexity: intermediate

Expected size of the project: 175 hours (we have the mentors also implementing part of the solution)

Skills required/preferred: Ruby on rails development. Optional: plugin architecture (development of a gem)

Guilherme Dantas

Giovanni Alvissus

Improving the performance of Brasil Participativo Platform

Decidim faces significant performance challenges when operating at scale, as it was originally designed for smaller user groups such as cities, councils, and districts. Despite employing a Redis cache service to enhance performance, numerous page loads still necessitate a substantial number of database requests, sometimes reaching up to 300. Additionally, database response times can become sluggish as the platform experiences growth beyond 1 million users, particularly during periods of high activity involving proposals and votes.

This project aims to address these performance issues by analyzing performance logs and implementing potential solutions. The focus lies on optimizing the application level, with anticipated outcomes including enhancements to the caching strategy, reassessment of database indexes, and refactoring of code logic that may contribute to slowdowns in response times as the platform scales. We will make available logs of the plataform in production environment with performance issues. Also, performance tools are being configured to give more performance data to the participant.

Project Complexity: hard/difficult

Expected size of the project: 350 hours (we have the mentors also implementing part of the solution)

Skills required/preferred: intermediate/advanced backend Ruby on Rails. Optional: execute and understand performance logs.

Renato Sampaio

Victor Jorge Gonçalves

Improving the usability to reach underrepresented groups

One critical prerequisite for the Brasil Participativo platform is to ensure universal citizen participation. This presents a significant technopolitical challenge in a country marked by pronounced social and educational disparities, where various segments of the population face obstacles in engaging with virtual environments. The primary objective of this project is to comprehensively assess the platform’s usability, language inclusivity, and accessibility. By identifying areas for improvement, the aim is to bridge the gap for traditionally excluded demographics, including those with limited internet access (often restricted to cell phones), minimal technological literacy, and illiteracy.

This project aims to identify possible gaps in the website usability with an extensive report after the assessment. The contributor is expected to evaluate tools for each of the aspects that should be checked (usability, accessibility, performance with low-end mobile devices, performance with unstable internet connection, and language inclusivity), understand relevant metrics and indicators, run checks on the platform and elaborate a document including their findings. The report should also include good examples to be followed and, if possible, suggest changes. This project does not expect nor encourage coding contributions, but they will be welcomed if time permits.

Project Complexity: intermediate

Expected size of the project: 175 hours

Skills required/preferred: User experience knowledge

Bruna Moreira

Leonardo Gomes