A talk at IIIT-D Delhi describing my FOSS Journey, my experience at GSoC working on an Open Event framework for FOSSASIA
The Open Source Way
A little bit about myself
● Final year EEE @ DTU, Software Developer at heart
● Contributor to Android, CyanogenMod, Arduino
● GSoC 2015 Student Developer @ FOSSASIA
● Winner @ GSF Hacks 2014, Androidathon 2015
● Organiser, coDelhi, DTU’s first Hackathon
● Speaker @ DroidCon ‘14, MODS ‘14
● Organiser/Speaker @ GDG New Delhi
git log --oneline
2009: hacked maymyindia roadpilot
2010: learnt php/js while building own website
2011: started hacking around with Android
2012: ported Xperia S firmware to X10
2013: CM device maintainer for 15 Xperias
2014: Contributions to AOSP, CM, Micromax
2015: Selected for GSoC, learning webstack
Why I like FOSS
● Free as in gratis (almost always)
● Free to modify, to suit my needs
● Support base, community, Q/A sites, forums
● Can look at the source and learn
● Can fix bugs on my own, and do good for the world ;)
● Can add my own features, and contribute back
What OSS means to me ?
● Learning to collaborate with 1000’s of devs
● Learning good coding practices
● Cleaner code, as everyone will look at it
● Work on real projects that the world uses
● Shoulder to shoulder with great developers
● Learning how large systems work
My Open Source journey
Brush with Linux
● Got to know about Linux in 7th grade.
● Was excited to know an OS other than Windows can
● Became a permanent Linux user by 9th grade, had
far more features on a 700MB CD than a 9GB DVD
● The ease of use, and the major updates every 6
months made me <3 FOSS
Using more OSS Apps
● Used more FOSS apps like VLC, Audacity,
Firefox, 7-zip, Notepad++
● Used Wordpress and Drupal
● Initially mostly because they were gratis
● Later, because more plugins and faster
First contributions - CM
● Interested in the Android OS hacking scene after getting
my first Android phone
● Soon realised the whole Android OS source was open
and anyone can modify and compile
● XDA-Developers - one huge resource to learn how to
start building the android source code.
● Learnt about CM, a modified version of Android.
Started building CM for my Xperia.
● Learnt Java and C++ largely by reading others’ code
Rules of the Game
● CM journey taught semantics of FOSS world.
● Importance of authorship, licenses, copyrights and
● Learning git, and then gerrit. The initial shock of your
code being reviewed :P
● Delving deep into version control, and it’s importance in
the FOSS world.
● Understanding more about how the community drives a
Spreading out - own projects
● A github account was always exciting. Getting green
dots was always an accomplishment.
● Started creating small websites and apps as personal
projects. Used Github always. Felt special about sharing
code with the world. Also github was convenient.
● Some projects became popular - a tool to modify
kernels, a multi-touch library for Android, a custom
kernel for Xperia phones
● OS contributions became an obsession.
● Started electronics projects. Felt Arduino IDE lacked
some features, became a contributor.
● Contributed to many Android libraries, GNOME
plugins, almost anything I used personally and found
bugs or features lacking.
Accolades and recognition
● Invited to speak at -
○ OSDConf ‘14 at JIIT, Delhi
○ Mobile Developer Summit ‘14 @ IISc Bangalore
○ DroidCon India ‘14, Bangalore
● People using and contributing back to my personal
projects on github
● Started an OSS Special Interest Group at DTU
● Selected for GSoC 2015
My GSoC journey
A funny fiasco - 2014
● Applied last year for a Debian project
● Porting Debian to Android. Related to
something I was doing for last 2 years.
● The project was scrapped because of lack of
mentors a week before deadline.
Luck by chance - 2015
● FOSSASIA had a project - “Open Event”
● Basic idea : Android and Webapp templates that any
conference/seminar events can use to generate
microapps for their event.
● Co-incidentally had worked on a similar idea -
“Eventful” - autogenerate apps for events for non-tech-
savvy organisers, as a personal project.
● Selected, and an awesome experience so far.
GSoC with FOSSASIA
● FOSSASIA : Largest OSS organisation in Asia.
● Privilege to work under awesome mentors, for eg, Mario
Behling - founder of Lubuntu.
● Learning to work remotely as a team. Scrum updates,
synchronisation mails etc.
● Opportunity to move out of known domain
(Android/Java/Systems) and learn the web stack, and
create webapp in Angular JS.
How to contribute to FOSS
● One simple and sureshot way to get involved is to switch
to an OS that's FOSS. You'll automatically use >90%
● Linux often requires you to delve into shell, or build
your packages. Instructions are simple, but you start
getting the feel of compilation/configuration.
● You might have the itch to fix or add parts of an app
you're using. If you're using Open Source apps, you just
might, because you can
Go beyond just coding
● Try to start building 'products' instead of 'programs'.
● A software or an app is a product. It needs icons and
● You need to test, get it working everywhere. Make it
● Your code needs to be documented so that you, or
others can read it later.
● Open Source is largely about 'developing' and 'coding' is
maybe 10% of it.