List of suggested tasks/ideas for the the Free Software Camp. Please add your ideas below.
Ideas with mentors
Technical Topics
- Debian Packaging
- System Administration
- Hugo (Static Site Generator)
- Elisa (Music Player)
- Improve KDE input method setup (ibus)
- Improve FontForge’s OpenType feature file handling
- Fedora packaging
- Port diaspora to rails 6
- Varnam Project
- Language Maintainers
- Indic Keyboard
- WordPress Deployment in LAMP Stack
- Data Modeling using Wikidata.org
- CircuitVerse Contributions
- Learn to setup and host free software communication tools for local communities
- Go Dependency Generator
- The Bechdel Test: A crowd-funded movie rating web app based on Bechdel test
- Adding LibreJS friendly advertisements to searx
Non-Technical Topics
- Develop a traditional script Malayalam font
- Getting started with translating KDE software
- Introduction to Free Software Creative Suite
- Event Organisation
- Getting started with contributing to OpenStreetMap
- Malayalam translation for gnu.org articles
Other Topics
- Ideas without mentors but general guidance can be expected
- Bring your own project
- More (untriaged) ideas
Debian Packaging - Sruthi Chandran
Learn how to create debian package and package some software not yet available in the debian archive.
System Administration - Pirate Praveen, Akhil, Bady, Tanzeem
Help maintain Free Software powered services for public (volunteer to maintain poddery.com, diasp.in, codema.in, lists.fsci.in, videos.fsci.in).
Server basics (we will teach you): switching users (sudo, su), ssh key based authentication (scp, rsync, custom ssh port, mosh), software raid, encrypted partitions (using virtual machines), firewall with ufw, postgresql replication, lxc container (setup services on your local machine), sharing passwords with gpg encrypted files, nginx basic, screen/tmux/nohup
Tracks/services: diaspora, loomio, synapse, mailman, peertube
Pre-Requisites: How to install GNU/Linux, Familiarity with Command Line, disk partitioning with logical volume manager, authenticating with ssh keys
Hugo (Static Site Generator) - Sai Karthik
Mentoring to create a hugo site for privacyyathra.in Explain Free Software based and federated communication services as a way to reclaiming privacy to general public. Why? What tools? How to use them?
Elisa (Music Player) - Nikunj Goyal
Mentoring to search out for bugs in elisa music player by kde and improve the overall software to compete with other similar software on web.
Improve KDE input method setup (ibus) — Rajeesh
GNOME3 has excellent support for enabling Indic language input. Setting up ibus
for inputting Indic languages in KDE involves manual fiddling. Develop a better integration.
Prerequisites: C++/Qt, ibus.
Improve FontForge’s OpenType feature file handling — Rajeesh
Improve https://github.com/fontforge/fontforge/pull/4097
Prerequisites: C, fea
syntax.
Develop a traditional script Malayalam font — Rajeesh
Create a new Malayalam Unicode font.
Prerequisites: Vector drawing.
Fedora packaging — Rajeesh
Learn packaging guidelines for Fedora and maintain packages.
Prerequisites: Enthusiasm.
Port diaspora to rails 6 - Aboobacker MK and Pirate Praveen
Currently diaspora is using rails 5 and we should port the diaspora rails code to use rails 6.
Prerequisites: Ruby and Ruby on Rails
Varnam Project - Subin
Varnam is a cross-platform tool for typing Indian languages using transliteration. It's a FOSS alternative to Google Input Tools.
Project Repositories : https://github.com/varnamproject
If you have any questions, ping me.
New website
Need to migrate varnamproject.com to a Hugo site. Some work has been done on this: https://github.com/thetronjohnson/varnam
Prerequisites: Experience with content management would be nice, HTML+CSS (web development) experience would also be nice (not necessary though).
Windows Maintainer
Make Varnam Desktop app & Input Method Engine work on Windows operating systems.
Prerequisites: Experience in Windows desktop app development, Visual Studio
Language Maintainers
- Need to collect words and make word frequency corpus of different Indian languages. Sample word frequency list (in Malayalam) : https://kde.smc.org.in:8123/packs/ml/ml-basic/ml-basic-1/download
- Need to make English -> Indic Language word pair dictionary. Sample (in Malayalam) :
civil സിവിൽ
director ഡയറക്ടർ
firefox ഫയർഫോക്സ്
Languages ordered by priority (according to userbase of Varnam) : Malayalam, Tamil, Kannada, Hindi. More languages are supported : https://api.varnamproject.com/languages
Making a language pack for Varnam
Prerequisites: Some experience with website crawling, data collection, know the language
Indic Keyboard - Akshay, Jishnu (co-mentor)
Indic Keyboard is a MOSS award winning, privacy aware, versatile keyboard for Android with 23 languages and 57 layouts. It is based on AOSP keyboard with various additional features in the java codebase. Contribution opportunities include:
- adding new layouts / fixing bugs in layouts
- adding new features / fixing bugs in features
- extending features for new use cases
- documentation
- ...
https://gitlab.com/indicproject/indic-keyboard/-/issues has many ideas and bug reports.
Self-driven learning and inquisitiveness are qualities that maybe helpful in being able to productively contribute.
WordPress Deployment in LAMP Stack - Arun Kumar Pariyar
Help build your first Website built with WordPress in a VPS/server.
- Install and setup LAMP Stack ( Apache/MySQL/PHP).
- Deploy WordPress.
- Guides on how to setup your Domain.
- Setup and build your first website.
Prerequisites: A machine/VPS/server with GNU/Linux.
Getting started with translating KDE software with Lokalize and other desktop based software with online translation systems. - Raghukamath
- General introduction to translation workflow of KDE
- How to setup Lokalize and getting started with it.
- Contacting the language team and getting work upstreamed.
- How to locate and join online translation systems.
- Reviewing existing translation.
Prerequisites: Knowledge of target language and technical vocabulary. Familiarity with the target application and KDE software. GNU/Linux operating system.
Introduction to Free Software Creative Suite. - Raghukamath
- Basic introduction to Free Software creative applications.
- Multiple sessions for familiarising users basics different application for few days (Inkscape, Krita, GIMP, Blender).
- Creating an artwork for promoting your favourite free software project. The artwork can also be licensed under CC-BY and add to wikimedia commons.
- Wallpapers
- Designs for Merchandise
- Icon designs etc that can go in wikimedia commons.
- 1 or 2 day session using Free software application in professional work, reviewing work and answering questions.
Prerequisites: Basic knowledge about art and design. GNU/Linux operating system, Graphic tablet.
Event Organisation - Anupa and Nattie
- Introduction to event organisation
- (potentially) Culminates in a mini-conference with talks by other projects, at the end of camp
Data Modeling using Wikidata.org - Ranjith S
Wikidata is a free and open knowledge base that can be read and edited by both humans and machines. Wikidata acts as central storage for the structured data of its Wikimedia sister projects including Wikipedia, Wikivoyage, Wiktionary, Wikisource, and others.
- Introduction to wikidata, linked data,
- How to do SPARQL query.
- Create a frontend application using wikidata api to display data about various kind of items.
- Incorporate wikidata api into a web application
Prerequisites: Basic knowledge about HTML and Javascript. GNU/Linux operating system, Text Editors like gedit,Kate. If you know how to host a website that is a plus. If you know python, PHP that is a plus.
CircuitVerse Contributions - Shivansh Srivastava, Pragati Verma and Mahmoud Hammad
Through this Program, We expect the participants to help us enhance the Circuitverse Platform by fixing existing bugs and testing the Simulator completely. Some beginner friendly issues are listed here.
Contributions may include:
- Adding new features / Fixing bugs in existing features
- Simulator Bugs Fixing
- Documentation
- Website Enhancements
Prerequisites : Ruby on Rails, JavaScript, HTML, CSS
Learn to setup and host free software communication tools for local communities - Sahil [sahilister], Dhanesh [dhanesh95] (co-mentor)
- Basic introduction to Free Software communication platforms.
- How to choose the right communication tool for your community?
- Guide on how to setup a domain.
- Guide on how to setup multiple tools on a single server and use web server to manage traffic.
- Server hardening basics.
Pre-requisites: Willingness to learn and ability to break servers/services.
Go Dependency Generator - Nilesh Patra, Pirate Praveen
Implement a Go Dependency Generator similar to debian.fosscommunity.in (which tracks ruby dependencies) The generator should output the dependency and details of a given golang package rendering them in a nice readable webpage.
Prerequisites: Python3, HTML, CSS, Basic Golang
Getting started with contributing to OpenStreetMap
- Basic introduction to OpenStreetMap.
- Map the places around us using iD editor.
- Translate the names in map data.
- Localization of OSM components - editor and website.
Prerequisites: Basic understanding of geometry, Local language typing
The Bechdel Test: A crowd-funded movie rating web app based on Bechdel test - Ruchika, Ram
A measure of the representation of women in movies.
- The movie has to have at least two women in it,
- who talk to each other,
- about something other than a man.
The motivation behind this project idea is to make people talk about women(or any other underrepresented gender) representations in movie. Mainly in Indian movies. Again, the above mentioned 3 rules are not ideal since they don't always fit right. We can always evolve with different test questions.
You can apply your UI/UX design, web development skills here and also learn new web frameworks on the way.
Read here for more(https://pad.disroot.org/p/r.8dd71d7233d9ac05413ecfa182d14e1b)
Malayalam translation for gnu.org articles - Aiswarya
The project aims at spreading ideas of free software philosophy among Malayalam speaking population. For details please visit https://savannah.gnu.org/projects/www-ml
We are looking for more contributors to our project. Our workflow consists of usage of git, Savannah trackers and a po file editor of your choice (https://lists.gnu.org/archive/html/www-ml-gnu-malayalam-project-public/2019-09/msg00000.html).
Pre-requisites: Malayalam, reasonable knowledge in English, time and patience
Adding LibreJS friendly advertisements to searx - Sagar
Current state of searx requires the host to put money into hosting the server and is not sustainable financially. This project aims to have privacy respecting, non-user tracking random advertisements for searx. An instance host of searx will be able to enable a switch, accept and display RANDOM (no-user-tracking) ads, earn from it and atleast sustain themselves if not become rich.
Create and maintain GNU recommended template VMs for Qubes OS
Currently, Qubes OS uses Fedora and Debian primarily as template VMs for Qubes OS. To make Qubes OS even more secure, GNU recommended purer free software OS templates of trisquel, parabola, hyperbola, guix can be made for use in Qubes.
Create packages for Hyperbola OS
Hyperbola OS is moving towards HyperbolaBSD. Someone who wants to learn arch packaging or experienced in it can step in and create PKGBUILD files for creating more packages for Hyperbola OS. (In the upcoming v0.4, many of linux dependencies have been changed to bsd ones)
Ideas without mentors but general guidance can be expected
- Solution to problems identified locally by using or extending available free software tools.
- Campaigning on opening up closed data sets useful to public like map data collected by local bodies/government to Creative Commons or similar Open licenses.
- Port diaspora tests from phantomjs to headless firefox (https://github.com/diaspora/diaspora/issues/8163)
- Handwriting recognition system and input method, Decentralized Knowledge systems, Language computing related(#24)
- Update active_model_serializers gem to newer release in diaspora (https://github.com/diaspora/diaspora/pull/8154)
Bring your own project
The following mentors are available for help with contributing to any popular free software project that you wish to contribute to. Since there is a chance that the mentor may not be comfortable with particular projects, discuss with them in advance about whether they might be able to offer mentorship for the project you are planning to contribute to.
- Akshay S Dinesh (programming, documentation) ( akshay:matrix.org )
- Hitesh Kumar (programming(web development preferably), documentation) ( heroichitesh:matrix.org)
- Arun Kumar Pariyar (sysadmin, web development) ( @arunpyasi:matrix.org )
More (untriaged) ideas
There are more ideas in the issue tracker under the "Ideas" label.