HanamiMastery

The secret of stunning OSS contributions!

Episode #6

by Sebastian Wilgosz

Picture of the author

Sometimes I hear, read, or watch a true inspiration. You know, when you face it and you immediately take an action.

One of such things was to always keep your income higher than outcome. The other was a truly remarkable movie The greatest showman which pointed into the danger of prioritizing things that should not be prioritized in exchange for neglecting others - more important.

And then, I've read an amazing comment response from Piotr Solnica on his 10 years of open-source article:

The only suggestion I'd have for anybody who considers contributing to OSS is this: do it only if it directly benefits you and be 100% selfish in a good way... Don't fix other people's problems as long as it doesn't benefit you directly in the short term. Piotr Solnica^f999ff

This was awesome, it really triggered something in my head. I would consider it as a Wow! moment in my life when I've read it.

So let's think about what this comment says and what I've done with it.

You should not contribute to Open Source if it doesn't benefit you.

Open Source contributions are often pretty much charity work. You don't get paid for it, you don't get too much appreciation or recognition.

However, If you'd like to really focus on open-source contributions, and contribute like crazy, full-time, or whatever, it's obvious you need to take care of your stability first.

Therefore, unless you have a decent amount of passive income, you haven't got rich on crypto or anything like that, it's unlikely if it can pay back to you in any way.

So here is how I understand when it's ok to do open-source contributions.

  • If you treat it as a hobby, and none of the above matters, you're fine.
  • If you just want to add OSS contributions to your CV, it's all fine.
  • If your app just needs that fix/improvement, then you're fine.

However, if you can't find any of those beneficial enough, to start being engaged in open-source projects heavily, then you should either resign...

Don't. Just don'tDon't. Just don't

... or you can also... make it beneficial if it's not just YET.

I know that something inspires me when after facing this happening or fact, I immediately start taking action.

In this particular case, I really enjoyed the Hanami initiative and the project. I really wanted it to succeed. And I mean: REALLY.

I want more diversity in the Ruby community, more inspirations, more different solutions, and ways of doing the same thing, as only then the real innovation happen. Where there are different points of view at the same topic.

However, any open-source contribution is extremely time-consuming and risky, if you don't get personal benefits immediately.

It was certainly NOT a case for me. I worked mostly in Rails projects, so it was definitely NOT in my direct interest to spend my free time to help Hanami evolve.

So I changed it.

  1. I started the Hanami Mastery initiative.
  2. I changed my work to be exposed to Hanami in a commercial environment.

1. Supporting Hanami via Hanami Mastery initiative

Hanami Mastery can look like a simple thing, but it's not. It's a win-win initiative.

  • By improving the learning resources base available on the web, I increase the chance of Hanami to gain popularity and succeed.
  • By supporting Hanami via Github Sponsors, I do increase the chance that more great developers will join the core team, and the existing team will spend more time working on it.
  • By doing my research for episodes, I can help with the proper documentation of the project.

Hanami Beneficients ecosystemHanami Beneficients ecosystem

All that results in better tooling prepared by constantly growing dev team and contributors community, and the whole ruby community benefiting from it.

However, I am able to do so, because it improves also my personal branding, and I can and do plan to monetize this blog.

Without it, I could not** afford to spend so much time on promoting Hanami**, as I have my family to support and my life to handle.

However, it was not enough.

2. Getting Commercial experience

The research for making technical videos on the technology you don't work in your daily job is SOOO time-consuming!

I barely handled that without affecting my job. But switching contexts between Rails in work hours and Hanami in the evenings or weekends? That was tough.

So I started to think about the solutions.

Hanami 1.3 is not Hanami 2.0

One of the key things that existing users will need very soon to get expertise, advice, and guides is upgrading Hanami 1.3 to 2.0.

There are plenty of existing projects using Hanami and all of them will soon face the same problem. However, I don't know Hanami 1.3 so I can't help with that!

I started to be interested in Hanami when it already was in the pre-alpha 2.0 version, so I just contacted the core team and started to learn the development version, to save my time in the future.

Still, I didn't have the commercial experience within Hanami, so both, my support and the advancement of my Hanami screencasts were limited. To improve, I needed a change.

So I changed my career life.

I looked for opportunities to take actions that would benefit me in all my life goals, while at the same time, would give benefits to the Hanami framework and the Community.

If I could find such a client and join the team as a developer, I would be able to get more insights about

  • how people use Hanami
  • what problems do they face

It would tremendously improve the quality of the content I'm making!

Hanami Beneficients ecosystemHanami Beneficients ecosystem

I would also be able to save a lot of time on research if I'd do part of my research just by helping my clients' problems to be solved!

It's a WIN-WIN-WIN-WIN situation!!!

  • My client wins
  • Hanami wins
  • Community wins
  • I win!

If the Hanami community grows, such a project would get more great developers to hire, which would result in more impact on the development. Finally, from more work put into the Hanami development, everybody would benefit by getting better tooling.

Hanami Beneficients ecosystemHanami Beneficients ecosystem

Therefore, I've joined the project, where I can be exposed to plenty of existing commercial applications written in Hanami 1.3. I can figure out and lead the upgrade of their projects to 2.0, and after documenting that experience, will be a great addition to official Hanami Guides.

The key to stunning OS contributions

I always try to correlate my personal goals, with the goals of the client I'm working with, and the community I'm working within.

Only then do I get maximum effects from the actions I take. Take a look at my Hanami Mastery project.

Hanami Beneficients ecosystemHanami Beneficients ecosystem

My actions, the work I do within Hanami Mastery, benefits a lot of people! Including myself!

  • Whole Hanami community
  • Whole Ruby community
  • Hanami Project itself
  • Company I work for as a developer, and every member in my team.
  • New developers wanting to write amazing Ruby applications
  • Hanami Mastery initiative
  • Myself

Benefits from Hanami Mastery for Hanami community

By publishing Hanami screencasts and tutorials, the Hanami community gets great learning resources. It's easier to start with Hanami or switch from other Ruby frameworks, easier to learn, and easier to contribute.

Basically, the community then grows much quicker.

Benefits from Hanami Mastery for Ruby community

By helping the Hanami project to succeed, I'm helping to introduce more healthy competition and diversity into the Ruby community.

With more different solutions, different approaches to the same problem, I believe Ruby will have a golden Era again.

When new developers will start learning Ruby, Rails will not be the only framework where it's easy to start writing web applications.

This should bring more out-of-the-box thinking to the whole Ruby community and more diverse solutions for the existing problems, resulting in higher quality gems and projects all over the world!

Benefits from Hanami Mastery for Hanami Project

Hanami Project definitely benefits a whole LOT from the Hanami Mastery initiative, and this will only increase in the future.

  • More words spread about Hanami over the Internet builds more interest, more contributions, and even more shares!
  • More people trying Hanami will publish more resources!
  • More devs interested in Hanami will be more likely to contribute!
  • Financial support Hanami Mastery brings to the project results with more time spent on development, and more people willing to spend their time on it.

It's just a self-propelled machine!

Benefits from Hanami Mastery for Companies using Hanami

Existing and New clients are great beneficiaries of Hanami Mastery too!

When there are more learning resources, it's easier to train and onboard new developers. There are more problems covered, so the chance of success is way greater.

Therefore, it's likely that soon more companies will start to use Hanami in their projects and bring their own contributions to the community.

I really hope they'll start sponsoring my work too!

Benefits from Hanami Mastery for Hanami Mastery

When I am able to inspire and bring interest to more people, the community grows. This results in greater Hanami development, so more attractive thing to write about, bringing even more interest, but easier!

Also, the bigger success this project has, I am able to finance more impactful initiatives, helping the Hanami community in even more meaningful ways.

Basically, Hanami success == Hanami Mastery success. And I just love it.

My personal benefits from the Hanami Mastery initiative

Finally, I also get the various benefits for myself from the work on each article and episode, and this is the KEY to really have an impact on what is happening.

  • I am improving as a Ruby developer, by thinking out-of-the-box. By trying different solutions and programming styles I am becoming a way greater expert.
  • I am building my personal branding, being able to get more profitable and interesting jobs as a developer.
  • I am building my passive income, which allows me to work more on publishing the content every single week.

By the research I'm doing for every single episode, I am slowly becoming an expert in Hanami, getting to know mechanisms laying under the hood, analyzing the code, and getting FREE programming bits of advice from one of the greatest developers I've ever met.

Summary

If you wonder if you should start contributing to Open-Source. Think again.

And again.

And AGAIN!

And then - when you have everything covered - start, like nobody before!

Hanami Beneficients ecosystemHanami Beneficients ecosystem

Do you like this content? Subscribe!

I hope you've enjoyed this article, and if you want to see more content in this fashion,** Subscribe to my newsletter, this YT channel** and follow me on Twitter!

Special Thanks!

I'd like to thank all my sponsors. for supporting this project!

Any support allows me to spend more time on creating this content, promoting great open source projects.

Thank you all for being here, you're awesome! - and see you soon!

Do you know great Ruby gems?

Add your suggestion to our discussion panel!

I'll gladly cover them in the future episodes! Thank you!

Suggest topicTweet #suggestion

May also interest you...

My attempt to change the world of Open-Source financing.
open-sourcethoughts

Open-Source development is hard nowadays. Here I explain how I want to make it easier.

Showing flash messages in Hanami is trivial, and it is even shown in the official guides. In this episode though, we make this future-proof, testable, and maintainable for a future growth of your application.

Probably any web app nowadays requires font icons to be loaded this or other way. In this episode, I'm showing the integration of Font Awesome icons in Hanami 2 applications.

This episode is a special release, when Seb interviews Tim Riley and Luca Guidi from the Hanami Core Team, asking them questions collected from the community! This way we enjoy reaching our important milestone of releasing 50th Hanami Mastery episode!

Coffee buy button
Trusted & Supported by
DNSimple

1 / 2
Open Hanami Jobs

We use cookies to improve your experience on our site. To find out more, read our privacy policy.