Likely the best outcome for the project barring company sponsorship that pays him to continue working on it as OSS.
He's been the sole maintainer on the project since 2012 [1] and has never been compensated for it, he says it will always be free to end users but wants companies that are financially benefiting from it to help sponsor continued development [2]:
> I will never ask end users for financial support. FUSE will always be free. However, what I'm asking for is for companies, that are selling FUSE-based products or rebrand FUSE and bundle it with their apps, to re-invest some of the profits in the continued development of FUSE on macOS, if they can afford it. I don't think that is unreasonable.
So he's just exercising the same BSD rights that all the other companies who have been taking and commercializing his work and not contributing back any fixes or funding for continued development.
Given that the alternative was to abandon the project [3], the only way it was going to see continued development as an OSS project was is if others took over maintenance/development of it, which anyone is free to do by creating and maintaining a fork.
> He's been the sole maintainer on the project since 2012 [1] and has never been compensated for it
I have to object to that. I work for a company which pays him to build branded versions of FUSE for macOS, and has been doing so for several years.
He does reliably ship us new builds, but it has sometimes been a little difficult to get him to respond to feature requests or even patches that we send him.
I don't believe that he is scaling much better with his commercial licensing than he was as a FLOSS maintainer.
As it is, we're fairly happy with his work to continue to support new versions of macOS, which is fairly hard to ship systems software on these days (the code signing and notarization requirements keep getting more and more onerous, system integrity protection keeps getting in the way of debugging, and so on), but it would be nice if we weren't limited to a single person working on the project.
I'd really rather he kept the project open source, and continued to provide custom builds for companies on a contract basis. Due to the difficulties of building and signing the kernel extension across all of the versions of macOS that it supports, just having the source available but keeping the binaries under a proprietary license would probably be sufficient to make it worth the while of most companies to license with him to provide custom builds like we do.
Sounds like a lot of additional work for him to provide custom builds? Maybe he wants to be paid for the core product development that provides most of the value?
No, the custom builds aren't much more work than the vanilla builds, it's getting the build environment set up in the first place that's a pain, since you have to build against a different SDK for each version of macOS you support; and the custom builds are what he sells to customers, since with a custom build it can be installed and updated independently of the free-as-in-beer version that is used for things like SSHFS and might be updated out from under you in a way that breaks your application. Updating with your application means that you can test each new version and fix any issues or report back to him before shipping it.
Well, in this specific case, I think the best outcome would be for Apple to merge the module in the MAC OSX kernel so it's there by default, FUSE is kind of a de-facto standard and is clearly a widely useful piece of code.
But, big picture, yes a lot of OSS projects have the same issue. Funding is clearly one aspect, but another aspect is also to work on having less "single person projects" (and I'm not talking about one time PRs but a genuine second core developer). I'm not sure how to encourage that however, maybe more commonly adding "HELP WANTED!" in the project README, maybe a button "I want to become a permanent contributor of <PROJECT>" button in Github, I don't know. If you are alone on a project, even if funded, chances are you will loss interest after a while, leaving the project with tons of possible improvements not realized, and a on/off maintenance, having more "N>1 core developers projects" would help mitigate that.
Adding someone into a solo project introduces social overhead. That's not necessarily a bad thing and can even be a very good thing (I much prefer making music with other people and seeing how our influences mix as opposed to making music solo). But there is a cost/risk there which I could certainly see some solo developers just not being interested in taking on.
On the other hand, since this is OSS, if an organization does need N>1 badly enough, then they can commit their own resources to it, forking if necessary.
I wouldn't mind if there was a "DONATE" button, I'd certainly donate 5$ or 10$. Under these circumstances even more since this driver is unique and several other drivers I use depend on it. (sshfs, perkeep, ext4fuse, ...) Probably these small but frequently used projects should also be supported by the FSF, at least in the *GPL case.
So this is an area of significant interest to me. I have researched this extensively, talked to a few dozen medium-to-large OSS maintainers, and have a project on the back burner about this. The only conclusion I've been able to draw is that literally every approach from OpenCollective to a PayPal link demonstrably does not work. Donations do not work.
You have to give people something of value, even if nominal value, to actually get corporate interest and to drive the kind of ROI that makes it viable to continue spending so much dang time on these projects. And a lot of people pfft at that and wave their hands about their right to other people's free time (or that an invisible hand will Make Things Work should those people choose to spend their free time in other ways, ignoring that that usually just means other people get to burn out instead). The only sustainable way to build open-source software is to get businesses to pay for it. And that's why we're where we are with these conversations: it's not the end-user free riders who matter, it's the commercial ones.
(I don't think the Redis license is the right approach, FWIW. I think there are better ones. Happy to chat offline with folks who have a similar interest in this space; email's in my profile.)
Basically it comes down to companies having systems for paying invoices. It's hard to get small and medium sized companies to make charitable donations - especially to open source which doesn't even help their corporate social responsibility goals.
This will keep going on, until FOSS community accepts that beyond university projects, someone pumping up their CVs, having a company sponsorship, or being able to pimp it up with some kind of subscription/consulting, there is little to no money to be made and everyone has bills to pay.
I think the developers generally understand that. No sensible person goes into FOSS for the money. It's the customers - consuming non-developers - who have a problem of expectations.
well, going FOSS can be an effective marketing strategy: by making something open and free (in both meanings) you get much higher probability of that something becoming popular. That in turn gives a lot new opportunities to sell complementary something or other something. This is best case scenario though, and you need to have resources/other sources of income for the time it needs to get widely adopted and popular (or the very possibility that it will not happen at all)
> going FOSS can be an effective marketing strategy: by making something open and free (in both meanings) you get much higher probability of that something becoming popular. That in turn gives a lot new opportunities to sell complementary something or other something.
Right, and then people try to do that, fail to sell whatever it is that they thought they would, and end up putting some sort of annoyance on the code to punish those who are using it.
But every person, sensible or not, has bills to pay. When you say "no sensible person goes into FOSS for the money" you are saying "most people can't afford to actively maintain a FOSS project", and you really can't claim that is in any way good for FOSS.
That doesn't sound like much of a change from the last 30 years. FOSS has done fine so far.
Really the only thing that might work is if there was broad community acceptance of not changing all the lower parts of the software stack all the time so the maintenance burden is lower.
Honestly; if we were interested in what was good for FOSS all that needs to happen is that hardware stops improving all the time. Then everyone can calm down, declare things finished and move on without requirements changing. The Linux graphic system (c.f. Xorg v. Wayland) still hasn't finished adjusting to graphics cards. That sort of change is bad for FOSS.
In a sense, this sort of thing is what is being showcased here. The breaking changes to FUSE are probably going to be linked to design changes in Catalina triggered by RAM/CPU/Network changes and the RPM/SSD transition that has been going on for however long. When that sort of thing subsides in 50 years there is going to be this amazing FOSS renaissance as working things stop breaking because of hardware changes and the balance really tilts towards free & available software.
So what? Maybe FOSS cannot get us a competitive modern desktop, but in many areas open source projects have virtually eliminated all proprietary competition. Linux is running everywhere these days and e.g. in databases it is among the open source options where the growth is. Does FOSS need to be able to solve all software problems in the world for you to count it as successful?
Only if by everywhere you mean cloud centers, where the likes of Amazon, Google and Microsoft have their golden eggs not shared with the community.
If you are going to mention ChromeOS or Android, ChromeOS is hardly a blip outside US school system, and what kernel is being used on Android is irrelevant to user space, there is Fuschia on the horizon and Google has been replacing everything, with the Linux kernel being the last piece of GPL code standing.
Then if you mean embedded, plenty of IoT OS are MIT based and even Linux Foundation now has Zephyr as alternative to Linux, all operating systems where OEM can profit without giving anything back.
If you mean compilers, plenty of embedded OEMs are now happy LLVM users free of contributions, while reducing their development costs.
> That doesn't sound like much of a change from the last 30 years. FOSS has done fine so far.
Compared to what knowledge of how good it could be if we had a more sustainable model than hoping someone has the charity or hobby to work on something we need for free?
This reminds me of when gamers assert how game modding has done fine so far limited to just labors of love and weekend hobbyism. Though I'm sure gamers are more coming from an angle of not wanting to pay for anything, we can only imagine the gaming mods we'd have if we had more of a culture around allowing people to work full-time on things we enjoy instead of only waiting for the few hobbyists with the masochism or compulsion to do it.
Modding is fundamentally different, because it's always beholden to the whims of the IP owner of the original game. They tend not to allow people to build profitable mods, since they see that profit as rightfully theirs.
The charitable part of the economy is pretty effective. You need to compensate people a lot before they'll do for you what they might otherwise do for free.
I'm not sure the argument "FOSS has done fine so far" is that convincing when you then lay out many of the places where FOSS has been failing miserably.
Not to forget the many, many places where it has and is succeeding happily.
Here's my "get off my lawn" perspective: those developers who remember a world where there was little or no free software (from, say, the mid-1980's, when Sun made the C compiler a for-cost option on SunOS through until commercial Linux distributions), have a visceral understanding of free software that those who came to it later, and (perhaps understandably) take it for granted, don't have.
Free software is a commons. In a healthy community, people pitch in to help, and maintainers become overwhelmed by the scale of activity, not because they've been left alone to support many users by themselves for years.
> In a healthy community, people pitch in to help, and maintainers become overwhelmed by the scale of activity, not because they've been left alone to support many users by themselves for years.
It's entirely because many of these projects are run by professional software developers, not professional managers. So many projects with single maintainers are that way because the maintainer feels a sense of ownership rather than a sense of stewardship.
It's not to say that solo maintainers are bad people; just that the jobs of writing software and coordinating software development require different, non-overlapping skill sets.
I don't think there's any question that this is true.
There are some efforts to address it (eg. SSL, Mongo, etc), but they're the first "drafts" if you like.
When a majority of the users of free software were programmers themselves, things were quite different to today. The world has changed, but the free software model has not kept pace.
With hindsight, I think the "Open Source" definition can be seen as a turning point, and the issues we have today stem from the decisions to give everyone the use of free software, even those who aren't of the community, or able to contribute in turn.
I don't think that was a bad or wrong decision, but I think that the ramifications are still playing out.
Most people can't afford to do effectively anything other than go to work and flop on the couch.
I don't think that's a problem for FOSS, it's a problem (if you call it such) of the economic system that we live under.
Generally the only realistic answer to that for most people at an individual level is to focus on financial security so that you don't have to care about that sort of fluff.
Most people can't. That's how our world works. In the general case creatives earn effectively nothing and only a few blockbuster individuals 'make it', regardless of the field; and usually they have to go proprietary to some extent.
"Most people can't afford to actively maintain a FOSS project" has always been true. It has been a hobby for some, a privilege allowed by the workplaces of others, and in a few rare cases companies have been built that charge for consulting and manage to fund a distro or other project that way. Or dual-license tech like Trolltech.
> It's the customers - consuming non-developers - who have a problem of expectations.
If FOSS zealotry wasn't a thing, then said expectations would be unreasonable. Sadly we live in a world where many people can withstand the cognitive dissonance of "You should use FOSS" and "You shouldn't complain about it because it is free".
I'm really curious, what do you want the FOSS community exactly to accept and what would the outcome be?
There are some FOSS business models. Sometimes they work. Sometimes they don't. Overall there's more FOSS than ever before, it's an amazingly successful concept. It doesn't always work, some projects and companies fail or decide to stop being FOSS. That doesn't change the fact that it's an amazingly successful concept.
I think the concept hasn't been as successful as some had hoped for when it comes to moving power and control over software away from big corporations towards users.
As an anti-capitalist movement/dream, open source has utterly failed. As a concept that has provided lots of opportunities for developers and startups it has been a great success.
Agreed. The GPL has been a great success, so much so it's been banned by capitalists in their organizations with the result of dying pretty much everywhere except the kernel, GNU userland and an occasional dual licensed fully enterprise-copyrighted software. BSD with its take it and run with it approach enables people to make a living by modifying (or selling unmodified) software. The situation is dire especially in the internet non-core-router infrastructure.
All BSD/MIT does is allow it to end up tivoized and remove power from the user. GPL is freedom for the user. BSD is freedom for the dev. Not all users are devs, but all devs are users. Users should take precedence.
Users won't have any power if they don't have software to use. It just happens that BSD (or similar) licenses are easier to deal with when developing things.
I am open to and find some merit in the argument that users could just fork, etc. Using GPL does seem to favor certain profit models more than others inherently, but non are exclusive, and there have been quite a few GPL success stories money wise out there.
I really like RedHat for this reason. It shows that it is the service and support, and the act of maintaining software, that makes it's money, and their books are open so you can see exactly how it works. A comparable startup/project probably won't get VC'd into a unicorn, but there is plenty of room for growth in the GPL software for sale along with service and support category.
Personally I mostly associate GPL with capitalism, due to almost all projects controlled by a single for profit company using GPL while community and hobbyist projects more often tend to use BSD/MIT/Apache.
> almost all projects controlled by a single for profit company using GPL
Which ones? The two flagship ones I can think of for GPL, Linux and GCC, don’t really have one company in control of them. And on the flip side LLVM and the browser engines, which are arguably under reasonably strong control of one or two companies, are usually Apache or similar.
The GNU created the GPL and licensed most of their software under it. I can't think of an organization less interested in capitalism. Rather the opposite because the viral nature of the license.
Linus picked the GPL to be less commercial/restrictive than the Minix source code.
No, this wouldn't have been a problem if the software had been gpl licensed, as the companies would've been forced to give back whatever they changed themselfes, potentially helping him out a lot
FUSE is generally shipped as a separate executable, which requires no modifications.
So no, GPL would have changed nothing. Companies would still have been able to ship it unmodified for free without contributing anything.
They could have kept their own code that uses FUSE secret, but even if they had had to release that code, that code is often useless to anyone else. It would not have helped or supported the author of the original code in any way whatsoever.
Or better from a funding PoV: dual licensed. AGPL by default, with non-FOSS licences available for a price.
That way companies or other projects that won't touch *GPL for whatever reason have an option that allows them to use the code while helping the project.
Of course this could make the code incompatible with other open licence (or the licensing policies of some larger projects) so isn't a perfect solution. I'm not sure a perfect solution exists when the project maintainer(s) need income to be able to justify the time to continue their work and have not found some other form of sponsorship.
If it were GPL-licensed, they'd have to give back the whole Happy meal, not just the FUSE fries. Perhaps you're thinking about LGPL, or a linking exception of some kind?
Alternatively, he totally could have gone and dual-licensed GPL and a permissive commercial license as a monetization strategy, like the author pointed out.
But you might be able to pay rent with it if those not wanting to feed back their work wanted the code enough to negotiate a paid licence under other terms.
That can be messy for projects with many past maintainers where the licence options at the time of individual contributions did not explicitly allow this or arbitrary relicensing, but in this case (single current maintainer, other contributions made under a licence that allows him to do this) it needn't be.
I'm not sure how that works, legally. If I understand you, you're suggesting that you can GPL your work to create leverage in a future negotiation with a potential user who wants to modify it privately and/or integrate it into proprietary software.
Can you un-GPL your work for a single entity? Doesn't that mean that you yourself are violating the GPL? I'm legitimately asking, not being rhetorical.
If you're the sole author of the code (or own the copyright or have the ability to relicense), then you can. It's not "un-GPL"ing the code because whatever you GPL'd will continue to be available under the GPL forever.
But you can say, hey, I'm ALSO releasing this code under a separate commercial license that costs $X dollars to get.
Well, that's pretty cool actually. I was unaware that was an option, and I'm pretty sure that many other people don't know that's an option either! It seems eminently fair to ask for money from people who are making money from your thing (and if they aren't, to not ask for anything).
I know a lot of FOSS contributors but have never met one IRL that seriously believes there is money in it. Outside of people on internet platforms (that by and large aren't to be taken seriously to begin with), have you encountered real zealots like this? I doubt that they exist in truly great numbers.
If the end goal is earning an income, sure. Yet there are other reasons to adopt an open source model. It is useful as a collaborative model. For that to happen, people have to be willing to submit code and the maintainer has to be willing to accept code. It sounds like that was not happening here.
That said, the FOSS community has created bigger companies and made bigger money than some of your favourite commercial projects (proprietary compilers, etc).
First, why should they contribute? You make it sound like a problem for the FOSS guys being exploited, but the choice of license is usually made explicitly to allow third parties to profit from their project without the burden of contribution.
Second, despite not having to contribute, license while, LLVM has still seen so much contribution from big companies (Apple for one) that the whole argument is moot.
Third, I meant companies like RedHat, or projects like Mongo, MySQL and others -- far more successful money-wise than most niche commercial compilers the kind that you appear to be a fan of while deriding FOSS for not making money...
I would hazard that that main reason that many (by no means all) FOSS projects are migrating to LLVM is that clang is dramatically easier to work on, and at or over parity in efficiency of output.
the Libre Software community understands this, which is one of the reasons we push for the Use of Copy-Left licenses, and not Permissive licenses.
So something like what happened here is not even possible. If the FUSE project on OSX would have been GPL from the beginning this person would not be able to change the licensing since he originally forked it, unless he rewrote all of the GPL code in a clean room rewrite which is not really realistic
If it was GPL from the beginning, wouldn't it be a "ZFS on Linux" like situation?
I don't think you can legally distribute GPL kernel modules for non GPL kernels. Even if you linked the module to the Darwin code, which is released under an OSS license (APSL), the two are not compatible and it's not clear if redistribution is fine (see "Darling: macOS compatibility for Linux")
Absolutely -- sustainability requires there to be money involved.
Honestly, the only model that seems to work in the long-term is corporate-backed OSS where maintainers are paid a salary. Professionalism endures long after the passion has faded.
> Likely the best outcome for the project barring company sponsorship that pays him to continue working on it as OSS.
The project page on github mentions two sponsors though, Boxcryptor and Editshare. I don´t know any of the story behind this though, just tought I should mention it.
He's been the sole maintainer on the project since 2012 [1] and has never been compensated for it, he says it will always be free to end users but wants companies that are financially benefiting from it to help sponsor continued development [2]:
> I will never ask end users for financial support. FUSE will always be free. However, what I'm asking for is for companies, that are selling FUSE-based products or rebrand FUSE and bundle it with their apps, to re-invest some of the profits in the continued development of FUSE on macOS, if they can afford it. I don't think that is unreasonable.
So he's just exercising the same BSD rights that all the other companies who have been taking and commercializing his work and not contributing back any fixes or funding for continued development.
Given that the alternative was to abandon the project [3], the only way it was going to see continued development as an OSS project was is if others took over maintenance/development of it, which anyone is free to do by creating and maintaining a fork.
[1] https://github.com/osxfuse/osxfuse/graphs/contributors
[2] https://github.com/osxfuse/osxfuse/issues/590#issuecomment-5...
[3] https://github.com/osxfuse/osxfuse/issues/590#issuecomment-5...