How to Contribute
We welcome contributions from everyone! Whether you're a beginner or experienced developer, there's a place for you in LibrecourseUY.
Why Contribute?
Learn New Skills
Work with real technologies used in the industry: Python, FastAPI, Vue.js, Git, and more.
Build Your Portfolio
Add meaningful open source contributions to your CV and GitHub profile.
Join the Community
Connect with other students and developers who share your interests.
Help Others
Your contributions help incoming students navigate their engineering journey.
Getting Started
New to open source? Here's how to start:
Important: Before contributing, read and make sure you agree with the license of the repository you want to contribute to. Each project has its own license that defines how you can use, modify, and distribute the code. You can find it in the LICENSE file in the repository.
Required: You must accept our Contributor License Agreement (CLA). By submitting a Pull Request with cryptographically signed commits, you acknowledge and agree to the CLA terms. All commits must be signed with GPG.
- 01
Explore the Projects
Visit our Projects page to understand what we build. Pick a project that interests you!
- 02
The Basics
Check our Git Guide to learn how to use Git and GitHub properly.
- 03
Find an Issue
Look for issues labeled "good first issue" on our GitHub repositories. These are beginner-friendly tasks.
- 04
Ask Questions
Don't hesitate to ask questions in the Issues section. We're here to help you learn!
Contribution Process
Follow these steps to make your first contribution:
- 01
Fork the Repository
Click the "Fork" button on the GitHub repository to create your own copy of the project.
- 02
Clone Your Fork
Download your forked repository to your local machine.
git clone https://github.com/YOUR_USERNAME/project.git - 03
Create a Branch
Create a new branch for your changes. Don't work directly on main!
git checkout -b feature/your-feature - 04
Make Changes
Edit the code, add features, or fix bugs. Make sure your changes work correctly.
- 05
Commit Your Changes
Save your changes with a descriptive commit message.
git add . && git commit -m "feat: description of changes" - 06
Push to GitHub
Upload your changes to your forked repository.
git push origin feature/your-feature - 07
Create Pull Request
Go to the original repository and create a Pull Request. Describe your changes and submit!
Contribution Guidelines
Code Standards
-
Write clean, readable code
-
Add comments for complex logic
-
Follow existing code style conventions
-
Test your changes before submitting
Any Language is Welcome
You don't have to use the same languages already in the project! Want to add a Rust API to fingcomms (built with FastAPI)? Go ahead! Want to create a Python CLI tool for fingmap (built with Vue)? Be our guest!
We believe in polyglot development. If your language or framework is better suited for the job, use it. We'll figure out how to integrate it.
Example: fingcomms is built with FastAPI (Python) + Vue.js, but if you want to add a Rust microservice for image processing or a Go CLI tool for data export, that's exactly what we want to see!
Commit Messages
We use Conventional Commits format:
type: description -
feat:New feature -
fix:Bug fix -
docs:Documentation -
refactor:Code restructuring
Signed Commits (Required)
All commits must be signed. This is a mandatory requirement for contributing.
Why Signed Commits?
-
Security: Verifies that you are who you claim to be
-
Integrity: Guarantees the commit wasn't modified after creation
-
Trust: Other contributors know changes genuinely come from you
-
Professionalism: Industry best practice for open source projects
Set up your SSH key following our Git Guide.
git config --global commit.gpgsign true Pull Request Requirements
-
Describe what you changed and why
-
Include screenshots for UI changes
-
Test that everything works
-
Be responsive to feedback
Have Questions?
We're here to help! You can:
Open an Issue or Ask questions on GitHub
Find us on our Discord server