Hello all,
As some of you might know FUSE for OS X will turn five years old in a couple of days. I would like to use this occasion to say thanks to everyone who has contributed to the project and helped to reach this milestone. It has been an interesting time and I believe FUSE on OS X is in a better place than it was five years ago.
In the past 12 months FUSE for OS X has been downloaded over one million times from the project’s website, not counting third party redistributions. It has become the basis for many successful products.
Nonetheless, we have not been able to reach all of the goals set out five years ago:
- The project is still very much dependent on one person. The list of contributors is very short. Contrary to popular believe the core team consists of only one developer and there hasn’t been any code contribution to the FUSE kernel extension by anyone but me in years.
- Another goal was to modernize the project and port new features from Linux FUSE to OS X. This is still a work in progress. I’ve been releasing previews of version 3.x for one year now but there are still some issues that need to be worked out. Free time is a limiting factor.
I spend most of my spare time keeping the software alive by fixing bugs, modernizing components, and implementing new features. But in my opinion simply keeping the project alive is not enough. The world keeps on turning and the todo list seems to be growing faster than I can scratch items off:
- Finish work on version 3.x
- Improve locking code in FUSE kernel extension (non-exclusive locking)
- Implement new FUSE features e.g. notifications
- Modernize the Objective-C framework, look into Swift support and libfuse 3
- Write a test framework to catch regressions
- Rewrite Preference Pane
- Improve documentation
- Modernize demo file systems
- ...
FUSE for OS X is being released under a very liberal open source license and can be used freely by everyone. In this context the word free expresses that everyone is granted the right to deploy the software for any purpose, to study its source code, to modify it as desired, and to pass it to others. But it does not mean that the development of open source software is free of cost.
In order to take FUSE for OS X to the next level I would like to spend more time working on it, but this won't be possible without being compensated for my work. I’m not the one who invented FUSE or ported it to OS X in the first place but I’ve been maintaining it for the past five years. Certain tasks, like improving the FUSE kernel code, are complex, time consuming and generally require more work than a few hours every now and then. I believe this to be one of the reasons there haven’t been more third-party contributions.
My day job does not revolve around FUSE and I don’t sell any FUSE-based end-user products. To be able to spend more time on FUSE and cover the development costs I started taking small FUSE related consulting jobs and developed a rebranded pro version of FUSE for OS X, that can be distributed as part of an app and does not need to be installed separately.
Turning open source into a business without changing the licensing model can be difficult. Why should anyone pay for something that is seemingly available at no cost? And of course, FUSE is not an end-user product, it is a software development kit primarily used by developers to create end-user products. Therefore, I would like to ask companies selling FUSE-based products to consider supporting its continued development financially on a regular basis.
FUSE for OS X is valuable to developers and users alike that rely on it for their daily workflows. That’s why I would like to start an open discussion about the project’s future. I invite everyone to share his or her thoughts on the matter.
Best regards,
Benjamin