Many of us likely benefit from the countless hours of effort put forth by open source contributors. We build businesses, serve customers, and learn so much standing on the shoulders of significant and valuable contributions by people who don't often get the recognition they deserve.
If you're building software on the web, it's almost a certainty you've used software written by someone else. I hope this list will remind you to reflect on the open source software you use to build your apps and your businesses.
Finally, in the spirit of giving thanks, here are 10 open source projects we've used to build a business. These projects help us solve problems for customers so they can run their business successfully. Without these projects, we wouldn't be able to do some of the things we're doing.
1. rspec
https://github.com/rspec/rspec
Without rspec, we'd be lost. It's our setup of choice to write tests. It's the major tool that helps us keep our application stable and avoid major regressions. The first rspec commit was back in 2009 and will celebrate a 10 year anniversary next year. How many projects has rspec influenced over the years?
Thank you, dchelimsky.
2. devise
https://github.com/plataformatec/devise
At the core of almost every application today is sign up and log in. There are so many concerns to think about from how authentication is implemented to properly handling security. We wanted to let the library with years of development handle this for us.
Thank you, josevalim and carlosantoniodasilva.
3. user_impersonate2
https://github.com/userimpersonate/user_impersonate2
This is one of our favorite tools to help support customers. It allows us to view the application as the customer sees it. It's highly valuable and has saved us days of time over the years. Oftentimes it's the things that appear simple that help us the most.
4. activeadmin
https://github.com/activeadmin/activeadmin
Speaking of customer support, we couldn't do a lot of the things we do without activeadmin. Much of our customer support is handled by performing tasks inside an activeadmin based admin panel. We do everything from pausing subscriptions to updating data for customers. An admin panel is certainly something you could build on your own, but why do that when you have a great tool like activeadmin.
Thank you, gregbell
5. wicked_pdf
https://github.com/mileszs/wicked_pdf
This is one of my favorites. Generating PDFs on your own is something most people will never want to do. We use wicked_pdf to generate signed injury waivers for the businesses we support. I'm so happy I didn't have to learn much about PDF generation to build it. This is a classic example of being thankful for the years of knowledge and experience involved with a project like wicked_pdf.
Thank you, mileszs. Indiana represent!
6. gibbon
https://github.com/amro/gibbon
We integrate with Mailchimp and we rely on a gem for that. Rolling your own gem isn't typically a great decision when such a great library exists to handle everything. Gibbon has helped us build a system that manages lists for many different businesses and send campaigns to millions of people. Hundreds of thousands of API calls have passed through this gem for us.
Thank you, amro.
7. delayed_job_web
https://github.com/ejschmitt/delayed_job_web
Having a web interface to monitor your background workers doesn't seem like much, but it seriously helps. Even though the work was inspired by resque's web interface, it still provides a lot of value to us. We use it to investigate issues with our job queue and generally keep an eye on things.
Thank you, ejschmitt
8. paperclip
https://github.com/thoughtbot/paperclip
Although paperclip is now deprecated in favor of ActiveStorage, it's served us well. We've used paperclip to handle file attachments in all sorts of places. Our customers attach documents to user accounts and we've used it to keep track of waivers I previously mentioned. We'll be moving away from it in the future, but it's saved us plenty of headache over the years.
Thank you, everyone at thoughtbot.
9. omniauth-stripe-connect
https://github.com/isaacsanders/omniauth-stripe-connect
Strategies for omniauth are always helpful. By using it, we don't have to learn much about the specifics of the way Stripe implements oauth. Our customers have connected hundreds of Stripe accounts via this gem and we couldn't be happier.
Thank you, isaacsanders.
10. ransack
https://github.com/activerecord-hackery/ransack
One feature our customers love is the ability to search for all sorts of things about their students. We haven't felt a need to implement elasticsearch just yet, so we use ransack instead.
Thank you, ernie and jonatack.
Although I only listed a few people specifically, these projects have hundreds of contributors. That's the beauty of open source; every little thing helps. To all of those contributors out there, thank you. When we work together, we can make the software world a better place.
My hope with this list is to encourage you to look at your own software and the open source projects it relies on. Take a moment to think about these people who have influenced your own projects and your own businesses and companies.
Happy Thanksgiving!
Top comments (1)
Great post!