VOOZH about

URL: https://thenewstack.io/flexible-io-tester-practical-testing-tool-for-developers-creative-outlet-for-its-creator/

⇱ Flexible IO Tester: Practical Testing Tool for Developers, Creative Outlet for Its Creator - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2020-06-23 12:00:22
Flexible IO Tester: Practical Testing Tool for Developers, Creative Outlet for Its Creator
contributed,sponsor-amazon-web-services-aws,sponsored,sponsored-post-contributed,
Linux / Observability / Open Source

Flexible IO Tester: Practical Testing Tool for Developers, Creative Outlet for Its Creator

For some people open source is a full-time job. For others, it’s a side gig. For Jens Axboe, it’s both.
Jun 23rd, 2020 12:00pm by Matt Asay
👁 Featued image for: Flexible IO Tester: Practical Testing Tool for Developers, Creative Outlet for Its Creator
AWS sponsored this post.
This is part of a series on Open Source Builders. For a list of other articles in this series, check out the introductory post.

Amazon Web Services (AWS) sponsored this post.

Matt Asay
Matt is a principal at AWS and has been involved in open source and all that it enables (cloud, machine learning, data infrastructure, mobile, etc.) for nearly two decades, working for a variety of open source companies and writing regularly for InfoWorld and TechRepublic. You can follow him on Twitter (@mjasay).

For some people, open source is a full-time job. For others, it’s a side gig. For Jens Axboe, it’s both.

Axboe is the lead developer and maintainer of the Linux kernel’s block IO subsystem. Related to this work, he has written an impressive array of code, from different IO schedulers to developing and maintaining ATAPI, to SATA NCQ, to (most recently) io_uring. Oh, and he also happened to build the Flexible IO Tester (fio), which has become the industry standard for modeling and stress-testing storage workloads.

As seems often to be the case with the best open source projects, Axboe wasn’t trying to create an industry standard. He just needed an easy way to reproduce storage workloads in order to look for problems with the Linux code. Developers were filing bugs, but he was struggling to simulate the workloads that generated them. Fio enabled the developer to describe the workload so that Axboe could build and run it without having to write simple applications to test various configurations or changes to the kernel code.

The other thing fio did was for Axboe, personally — it gave him a creative outlet, a place to have fun. I interviewed Axboe as part of the Open Source Builders Series, to glean insights into effective open source community management, the most valuable kinds of contributors, and more.

A Creative Side Project

While Axboe has been fortunate to collect a paycheck for giving away open source software, he’s never been paid for fio. That’s always been a side project for him, he says. For the first several years, fio was a labor of love—something Axboe worked on alone. Even as he built new functionality into fio to help with his Linux kernel work, it remained separate from his full-time job (doing systems engineering for a variety of companies, currently Facebook), which has always suited him just fine.

According to Axboe, fio is a creative outlet where he controls everything. This isn’t because Axboe is a control freak who can’t get along with others, but it’s simply a natural human desire to express himself. “When you work on other people’s projects, which the Linux kernel ultimately is, there’s a rigorous review process, which we need,” he explains. “Also, other people need to sign off on your code, and you have to convince Linus to accept it. Plus kernel programming is just a little more difficult, and debugging is harder. So fio has been a way for me to creatively do things in [the] userspace that was just easy. Whenever I got a little tired of the kernel side of things, or if I needed a little break, I’d develop new things on fio, because it was just fun and liberating.”

This creative outlet persists for Axboe, even though he doesn’t author most of the code in fio these days. Mostly he’s merging code from others, while working on more complicated tasks that might arise from new storage hardware, for example. Regardless, fio remains a creative outlet for Axboe, similar to other open source projects he’s created to help him get work done.

Attracting the Contributor Class

If Axboe today is able to mostly maintain fio by merging others’ code, it’s because he’s done a good job of attracting talented developers to work on fio. In his estimation, any project that wants to thrive over a number of years needs to attract new blood. The alternative is for the project to become dormant. Why would this happen? Sometimes the original developer might get busy working on other things or could simply tire of the project. If a vibrant community is in place, the risk to the project is minimized.

Sharing the burden of leading a project is also important. For Axboe, open source projects don’t become burdensome in terms of code, but rather in terms of code contributors — people, in other words. This side project attracts users who can become demanding. “It’s supposed to be a labor of love, something you do for fun and because you find it exciting,” he says, but suddenly this side project has you inundated with support issues.

This is perhaps why Axboe sees the contributor world as split between givers and takers. The latter category includes people who just use the software. If something doesn’t work, they may or may not file a bug report. “Working with these users can suck up a lot of time,” Axboe says, “And this is also where you sometimes get slightly demanding requests.” From Axboe’s perspective, he’s not in the project simply to have tons of users, as he thinks that metric is useless by itself. “It’s a nice side effect, but I’d put that very low on my list,” he says. Users who simply file bug reports bury him in problems without offering assistance in digging out.

(It’s perhaps worth noting the stark difference between Axboe’s experience with such “free riders” and that of Rich Felker, creator of musl libc. Felker loves users of all kinds because adoption ensures that others will need to do the work to integrate with musl. So perhaps in his case, users of the software don’t create the headaches they do for Axboe. My sense is that Axboe’s reaction is the more common.)

The second category of user, however, is different. This group uses the software, and is capable of making changes. They send in a patch (or patches), fixing issues they ran into, or adding features that they need.

“I love these users!” Axboe says. “They help drive the project forward, in the true spirit of open source, by contributing back. The software and project is better for it, and it makes their life easier, too.” And this class does not only include coders. “The biggest hole fio has — and probably a lot of other open source projects — is someone writing quality documentation. My documentation isn’t great.”

So, I asked, how can a project attract more of the kind of users who also contribute — code, documentation, and so on?

On Leadership

The first and foremost need within a project, Axboe says, is a strong leader. Someone who isn’t too afraid to make decisions, and someone who has the “technical chops” to make those decisions.

“It’s very important that people have a certain amount of technical respect for the leader of the project,” he explains, “So whenever he or she has to make difficult decisions, they’re generally acknowledged as being a good decision.” Absent such leadership, in his estimation, nothing else can save the project. It will drift and then, most likely, die.

Another key component of open source success is communication. “Having an environment that is welcoming to new contributors is very important,” Axboe says, such that newcomers feel comfortable asking questions or proposing changes to the project.

On that note, if you’d like to get involved with fio, it’s always good practice to start by reading the documentation. Wish the documentation were better? So does Axboe! He’d love to see your contributions. Once you’re ready to start tweaking the code and submit a pull request, find fio on GitHub.

Visit the AWS Open Source Blog to learn how open source projects can apply for AWS promotional credits. Come build with us.

The Linux Foundation is a sponsor of The New Stack.

Feature image via Pixabay.

At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: feedback@thenewstack.io.

Since its inception, Amazon Web Services (AWS) has been the best place for customers to build and run open source software in the cloud. AWS is proud to support open source projects, foundations, and partners.
Learn More
The latest from AWS
Hear more from our sponsor
TRENDING STORIES
Matt is a principal at AWS and has been involved in open source and all that it enables (cloud, machine learning, data infrastructure, mobile, etc.) for nearly two decades, working for a variety of open source companies and writing regularly...
Read more from Matt Asay
AWS sponsored this post.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Class.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.