750+ participants
1800 registered in the Codeheat contest 2020/21 and learnt how to participate in the FOSSASIA developer community.
2000+ merged pull requests
More than 2000 pull requests were merged during last year's contest. Participants also submitted scrum reports, wrote blog posts and created entirely new projects in the FOSSASIA community.
Global mentors
Mentors are developers, engineers, university students, professors, and generally contributors who love to share and be a part of our open source community. They help creating better software for a better and just world.
Areeb Jamal
Forever in our hearts and memories
* 15.10.1995 † 28.04.2021
Contributors in the community know Areeb since he started as a FOSSASIA intern. Areeb had become the chief technologist in the organization where he has mentored hundreds of young developers in coding programs.
Areeb passed away during the pandemic in India because of a lack of oxygen. He was a wonderful person. All he wanted was to share his knowledge and support others.
He will be forever in our hearts, and we will always remember him as a genius, kind, and generous person.
You can find more information about Areeb in this video here.
Participating Projects
Open Event Web
The Open Event components run on the eventyay.com platform and help communities and organizations to sell tickets and organize their events and meetups.
Open Event iOS Apps
The goal for the iOS apps for the Open Event project is to get them ready to work together with the Open Event hosted platform on eventyay.com and enable attendees to get tickets easily.
openEuler
openEuler is an open source operating system for digital infrastructure. Its kernel is based on Linux.
Pocket Science Lab (PSLab)
PSLab is a small USB powered hardware extension for your Android phone or PC that lets you measure all kinds of things. PSLab comes with a built-in Oscilloscope, Multimeter, Wave Generator, Logic Analyzer, Power Source, and we are constantly adding more digital instruments.
PSLab Android
The goal of Pocket Science Lab is to miniaturize science equipment and make it accessible for everyone using Open Source hardware. Using the computer power of an Android phone and connecting it to a Pocket Science Lab we can do lots of experiments and even control robots with up to four servos.
PSLab iOS
With Pocket Science Lab connected to a phone we can do our own science experiments. It works without the need for programming. What experiments you do is just limited to your imagination! But, currently we don't have an iOS app yet. The goal is to match the feature set of the Android app. As Apple restricts external devices we can access the PSLab hardware only through Bluetooth or Wi-Fi.
PSLab Desktop
Pocket Science Lab and a desktop computer is all you need to collect data around you and do lots of exciting experiments. Or, you can use it to control your own robot. Please join development of the desktop app using Electron, ReactJS and Python.
Badge Magic Android
The Badge Magic Android app lets you control LED name badges using a Bluetooth connection. The app provides options to portray names and cliparts. For the data transfer from the smartphone to the LED badge it uses Bluetooth. An upcoming feature is the conversion of images to cliparts that can be shown on the badge.
Open Event Website App Generator
The web generator application can generate event websites by getting data from event JSON files and binary media files, that are stored in a compressed zip file.
About "Codeheat"
CodeHeat is the annual coding contest for students and developers to contribute to Free and Open Source software (FOSS) and open hardware projects.
Join the development of real world applications, build up your developer profile, learn new coding skills, collaborate with the community and make new friends from around the world!
Check out
CodeHeat issues on GitHub.
The last day to submit your code is March 31, 2024.
Sign up here now
Jury
Mario Behling
CEO at OpnTec GmbHHong Phuc Dang
FOSSASIA FounderAndew Howden
Principal Engineer at andrewhowden.comZheng Zhenyu
Community Operations Manager, OpenAtom openEulerMentors
Timeline
The contest begins at 9:00 AM (SGT/GMT+8) on December 1, 2023. Participants should take the time to read through the contest FAQ and familiarize themselves with the introductory information and Readme.md of each project before starting to work on an issue labeled "Codeheat".
Sign up-
December 1, 2023 Coding Starts
-
December 8, 2023 Event: Codeheat Ask Me Anything
-
December 15, 2023 Event: Codeheat Ask Me Anything
-
January 12, 2024 Event: Codeheat Ask Me Anything
-
January 19, 2024 Event: Codeheat Ask Me Anything
-
January 26, 2024 Event: Codeheat Ask Me Anything
-
February 1, 2024 Event: Codeheat Ask Me Anything
-
March 31, 2024 Codeheat period ends. Participants submit Gist with a links to their work through a link on the program spreadsheet to participate in the winners evaluations.
-
April 9, 2024 Winners Announcement
-
April 16, 2024 Distribute digital cerficates and gifts
-
April 30, 2024 Publish Contest Report
Frequently Asked Questions
Who can participate
We are looking for great coders no matter the status, age, gender or background.
What are the prizes?
Participants who solve any five issues will receive a digital certificate and a free conference pass to the FOSSASIA Summit 2024.
There are three prize categories. The winners of the prizes will be selected by the jury members based on their contributions during the contest.
* Category 1: Collaboration Catalyst - 20 x Coder Surprise Packages
Apart from good code contributions a winner in this category will show a particular ability to effectively collaborate with others. You will show an outstanding mindset to foster a positive open-source community by supporting newbies to join the contest, reviewing the work of others, and helping others with PRs, e.g. contributors who are stuck with a pull request.
* Category 2: Open Source Pioneer - 10 x Professional Online Software Development Courses
A winner in this category would showcase their excellent coding ability by making pioneering contributions. You demonstrate excellent debugging skills, finding and fixing issues in the most effective and efficient manner.
* Category 3: Code Excellence - 3 x Trips to the FOSSASIA Summit 2024 (Value of 600 USD each)
A winner in this category would show important and continuous code contributions that have a substantial impact on the functionality, usability, or overall improvement of projects in the CodeHeat contest.
How are the Winners chosen?
On March 31, participants should submit a Gist with a list of the work outcome to be reviewed by the Jury.
Because some issues are more challenging than others just by the nature of the type of issues (for example, heavy coding versus solving a text typo bug), it is entirely possible that someone who completed 11 issues could be chosen as a Winner over someone who completed 15 issues, if they are both among the top 10 contributors.
How to contribute code in the contest?
* At first developers sign up on a Google form
here to participate.
* Then join the FOSSASIA org on GitHub through this link here.
* Each developer then searches for issues labeled Codeheat that interests them and claims ownership of a particular issue. The developer works on the issue and if there are questions asks on the chat channel of the project. The main channel
for decision-making is however always the GitHub issue itself.
* Once finished, the developers make a pull request from his/her own forked repository to the development branch
of the project and submit their work for review.
* Pull requests need to pass Travis builds, code CI tests and ensure migrations work.
* Mentors and maintainers from the organization evaluate the work submitted. If the work is accepted, the developer
earns 1 point for each accepted pull request and 1 point if they close an issue. So you could earn two points if you
close an issue with a pull requests. [Please Note: Sometimes developers try to “beat the system” by submitting lots
of small improvements as pull requests. Please consider that the jury is mainly interested in the substantiality and
quality of code contributions and the sheer number is not the main criteria.]
* After the pull request has been merged developers can claim another issue to work on if they wish.
* If the work needs polishing, the task remains open and the core-developer may give the submitter additional time
and guidance on improving their work.
* If the work does not meet expectations, the task can be reopened for another developer contestant to claim and
work on.
Please follow
FOSSASIA Best Practices to achieve the desired outcome.
What other contributions are part of the contest?
Other contributions in the contest are peer reviews, support others to join the contest and learn to contribute to open source projects and sharing some info on social media. The following contributions from participants in the contest would be great:
* Support other participants by answering questions on the FOSSASIA gitter
* Share information about the contest on social media
* Create a Gist with a list of the work outcome at the end of the contest
Why should developers participate in the contest?
The idea of the contest is to introduce developers to the FOSSASIA projects and to provide an opportunity to build
up their development profile, learn how to work according to
Best Development Practices and ultimately become part of the development team. The contest also provides an entry
point and preparation for future coding programs like the FOSSASIA Google Summer of Code.
Many young developers are not yet deeply familiar with Open Source and the contest is an easy way to get involved
in this international community of developers, who want to help you learn and succeed. The contest is a gateway to
learning new skills as well as learning to work in a collaborative software development team. At the end of the contest,
developers can show their friends, teachers, co-developers and family members the work they did on public repositories
and the project applications itself - used by people around the world.
What programming languages do participants need to know?
There are various programming languages used in FOSSASIA projects ranging from web front-end to back-end technologies
and Linux technologies. You could even code on hardware firmwares and design hardware as a project. Here are a few
languages that are popular: Java, Kotlin, Javascript, HTML, Python, C++, Shell Scripts.
What do I need to do to be among the winners?
For us everyone is a winner, who contributes in whatever way in the community. However, in contest setting there are
some points you should fulfil to increase your chances to be a finalist. To be among them, it is important to work
according to the
FOSSASIA Best Practices and to provide the following:
* Continuous substantial contributions, pull requests, and code reviews
* Participate in chats on the project channels
* Provide a Gist with a list of the work outcome of your work at the end of the contest period you are participating in
Which projects can I work on? Can I also contribute to other FOSSASIA projects as part of the contest?
You can always work on any project in the FOSSASIA GitHub org, that has issues labeled Codeheat.
How can I start working on the project and claim issues that I would like to work on?
We can outline this in three easy steps:
1. Comment on which issue you are working on so another person doesn't work on the same issue.
2. Work on one issue at a time. If you can't solve an issue and want to move on next, comment on the previous issue that it is open for others to take.
3. Send a PR on issues that are marked with the codeheat label. There is no need for approval to work on an issue if you are the only one who commented on the issue to take it up, or it has been several days with no activity since the last person's comment.
Note: If in the process of solving an issue you realize that you are more interested in another issue or find it is not suitable for you, please comment on the issue and mention that it is free to be taken up by others.
When should I claim an issue?
You should claim an issue when you are ready to work on it. Please be careful that you do not just claim an issue that you do not plan to work on immediately after you claimed it. Sometimes we see developers claim an issue and then only start to work on it after several days. This slows down the progress of a project a lot and potentially blocks other developers from making a contribution.
How many issues can I take up at a time?
Please only take up one issue at a time and solve it as quickly as possible after you claimed it. If there is no apparent activity on an issue others are free to take it up or maintainers will solve or assign it to someone else.
What about priority and urgent issues? Can I claim them?
Please be extra cautious about high priority or urgent priority issues. These are issues that need to be solved super quickly as they are very important for the progress of the project. For high priority issues, we want to reduce contention over these issues, so they are solved ASAP. Hence, if no codeheat participant has taken them up, we solve them ourselves. It should be very clear to you that taking up a high/urgent priority issue is a big responsibility in the project, and you should solve it very quickly. Before you claim an issue be sure that you have the knowledge of solving it. If there is no apparent activity on an issue other participants are free to claim them as well.
Can I open an issue and ask maintainers to label it “codeheat”?
We always welcome contributors who test applications and find bugs. This is an integral part of software development. However, usually in Codeheat we focus on solving issues that are already open for some time or issues opened by maintainers. This also helps to stay focused on the current project goals and avoids that developers focus on issues with low priority. Nevertheless, if maintainers consider an issue important they might mark it with the label “codeheat” still.