VOLUNTEER
dev DIARY
Creating open source, for free - is it worth it?
- Free as in beer
- Sometimes free as in freedom
- Many paid jobs
Open source
- Free as in beer
- Not paid (sometimes you get pizza)
- Altruism, giving back
Volunteering
2009
Non-profit needs help
with their accounting system.
2010
Diving in into the project. Fixing some of the bugs.
2011
Project rewrite seems to make sense.
What can go wrong?
2017
Migration to the new version on a totally different stack.
2012
First commit of a new version.
2025
Still alive and staying strong but also officially a legacy software now.

Chapter 1: who are you?
Chapter 1: who are you?
Research
Learn the domain, and learn the technology.
fix bugs
Hopefully do not create new ones. Learn even more about the project.
maintain
Move data centers, twice. Answer emails. Talk about new features.
Chapter 2:
Rewrite or not to rewrite

-
Operating systems
-
Databases
-
Languages
-
Frameworks
-
Data mappings
Menu



What to consider?
- Requirements
- Team expertise, talent availability
- Scalability and performance
- Community and ecosystem
- Security and maintenance
- Cost, time to market
- Future growth and trends
danger zone
Chapter 3: Rewrite

- Ruby on Rails for very fast prototyping (pick your poison)
- Just stick with defaults
Good choices
- No time pressure as we were not paid
- Fun problems vs chores
- You will get bored
problems
TEAM & BACKGROUND
3 team members, 3 different operating systems, 3 languages
Every time you meet you need to set up your environment again... (~2012)
License
We started with GPL, but ended up with AGPL eventually.
There are many other options, see choosealicense.com

4 years later...
DANGER
〞
The only software that matters is the one that's running on production.
– Robert Firek
ZG JUG, Jan 2016

one last push
Chapter 4: migrate


-
Production is ready
-
Data is migrated
- ... but the organisation needs to be ready too!
Are we ready?
Chapter 5: production

plateau of productivity
bugs
Old bugs gone, but new bugs in. But this time you know all the code.
features
At this point you are the domain expert and can have a really deep conversations with other domain experts.
maintenance
Day to day automation (backups!), data centers migration, planned and not-planned outages.
you are on your own, for better or worse


Every bug left
will haunt you after all
Chapter 7: legacy software

It started using endpoints that are officially supported for old printers and routers.
It's a proper legacy software now ;)
is it legacy software?
did it bring any value?

impact
It is used daily, for the past 15 years by multiple users.
It solves a real problem.
I met total strangers who used it.
-
Product management
-
Project management
-
Git
-
Linux hardening
-
Ruby / Ruby on Rails
-
Docker / Docker Compose
-
Linux / Windows WSL
-
PostgreSQL
-
ASP .Net / Windows / MSSQL
-
Github Actions
what I learned
how much time was it?


Was it worth it?

Would i recommend that to
younger self?


Marcin "Perk" Stożek
@marcinstozek / perk.pl
Thank you!

Volunteer Dev Diary
By Marcin Stożek
Volunteer Dev Diary
Creating open source, for free - is it worth it?
- 237