I'm glad someone brought this up. When a developer (or artist, or musician, or other creative person) gives away their work for free, that is fine by me. But when they later hold out their hat and say, "by the way, I worked really hard on that and I'm a nice person, would you mind paying for it now?" that's when I feel like I'm being manipulated. If you wanted money for it, you should have just said up front instead of tossing the guilt trip in at the end.
I do appreciate Jeff's enthusiasm for technology and he's done some cool stuff. I would totally hire him for a consulting gig if I were in a position to do so. But he's part of this "give stuff away for free and beg for money later" culture that rubs me the wrong way.
Edit: I think the main difference is having or not having an expectation that you will be paid later for something that was provided for free.
There are a lot of projects (sudo being the most recent example) supported by a team of developers in the single digits (or just one) that are relied upon by projects raking in millions if not billions in annual revenue.
Finding ways to give back and keep the developers motivated is important in the long term, unless you plan on rewriting all the software you depend on.
Currently the two sustainable answers for that are:
1. Hope some company is generous in hiring said OSS developer and paying them a salary to continue working on that OSS work (ideally without too much pressure to modify it for that one company's use case).
2. Make that developer spend a lot of time doing marketing to generate donations/sponsorships to a level where the developer can pay for things like food, shelter, and insurance.
But the whole reason they are relied upon is them coming for free. If sudo users where expected to give something back it wouldn't have landed on millions of machines in the first place.
FOSS coming for free means, of course, maintenance being dependent on the authors' whims. Not paying means not being owed anything.
Yes, that's not sustainable. FOSS is a gift from the developers to the world. It's not a business model or a way to make a living (at best it's part of a strategy to make a living).
It would be great if we all could gift something back be that help with maintaining or money.
But we should be careful not to demand support. Everyone "whising up" and only relying on software they either maintain themselves or paid someone to maintain might look different than we imagine. Might just be people buying proprietary software rather than funding open source development.
No, there aren't two, there are three; the third one is the one you slid by:
> rewriting all the software you depend on
If sudo bugs don't get fixed by the existing developer(s), companies that depend on sudo will just end up writing their own. I suspect that in most cases companies will see that as cheaper than having to pay an open source library developer, who is not an employee, to maintain an open source library that is not under the company's control. So if the open source developer isn't donating their work for free, the companies probably won't end up using it at all.
This. This is the conversation we need to have.
However, I doubt that a public company on the USA stock exchanges -- which by definition is concerned with a Capitalist maximization of shareholder value, can rely on donations.
They need to be able to return venture capital money at a multiple. So, why did they take the cash in the first place? So that they can build a company to govern and employ the team members and build expertise to fund the R&D needed to build the product and support customers.
It seems unfair to me that a company with deep resources chooses to fork and modify instead of investing in the company and owning a stake to help influence the roadmap and/or enter into a resale / partnership model for monetization.
It's a tough scenario and it needs to be discussed.
> There are a lot of projects (sudo being the most recent example) supported by a team of developers in the single digits (or just one) that are relied upon by projects raking in millions if not billions in annual revenue.
But they gave it away for free. That would be the same whether there were big, small or zero companies using the software.
I think probably the problem is framed wrong:
- maybe giving software away free was a bad idea (I don't believe this; just putting it on the table for conversation)
- maybe those giving away their software free should make better calls _for themselves_ about how they spend their time
- maybe use different licensing
- stop calling it free; instead call it "free a the point of consumption" and consciously build a model to support that at the outset (this is my current personal opinion, but I grew up in the Uk when it had a functional NHS so I'm biassed)
- dig deep on what both "free as in beer" and "free as in speech" mean to you and how they relate and what you want to do about that
Open source came out of a joyous utopianism that hasn't been backed up the wider societal changes needed to sustain it. This is understandable because that work is ridiculously hard (and I'm aware some people _are_ trying to make those changes. I just day-dream about it).
Currently, most of the world works on capitalism, for better or worse. I'm not trying to defend or attack capitalism here, but when you work in a capitalist system and _all_ your other interests and life support systems use capitalism, you have to factor that into your thinking. Open source makes more sense in a post-scaricity society and we're not there yet. FOSS might even help us get there, and the problems we're seeing in the past 3-4 years might be the signs of things changing.
I know this message sounds like victim blaming, and that's a real problem in some situations, but I don't think this is the situation here. Everyone working in tech is at a higher than average level of privilege than their immediate peers; working in FOSS is a choice you make from that position of privilege.
The big problem with this is that most of the large enterprises which are really spending the money for this, 99% of the time are going to pick Amazon or Microsoft or IBM for hosting/support over AwesomeOpenSourceLibrary LLC, especially since they likely already have contracts with those companies.
From a practical point of view, if I have N open source libraries that I use in production, as a large company, it is better for me if I have Amazon support all N libraries, than having N different contracts with N different companies for support/hosting.
What open source does mean is surrendering your monopoly over what you build. Amazon may capture some of your value as a result, but that's part of the deal. I wrote about it here:
https://drewdevault.com/2021/01/20/FOSS-is-to-surrender-your...
A lot of enterprise buying decisions come down to: "AWS/Azure/... is already an approved vendor, so let's just buy from them instead of going through the hoops to get Elastic approved". The "super scalers" are offering a path of least resistance that is difficult to overcome.
It isn't. You can accept donations. You can charge for support/enhancement work, or for a managed service. You can also find a salaried job where your work is released under a Free and Open Source licence, such as Linux kernel development.
You're right that it's famously difficult to monetise Free and Open Source software, but there are a few examples of it happening.
> the original idea of open source: that it was the cool things you could build with code, not the code itself, that had value.
Perhaps I'm missing your point here, but as far as I know, there's nothing in the Open Source or Free Software movements that ever viewed FOSS primarily as the basis for interesting proprietary software.
> They've built things on FOSS code that never existed before, and most of them have contributed a lot of FOSS code back. But they haven't sold databases, reverse proxies, and key/value stores, right?
Red Hat might be the clearest counterexample here. If I understand correctly, their charge for their official builds, which I suppose is a way of charging for support.
You're right though that many of them go with a service model and don't publish the code. Amazon Aurora, for instance, or Google App Engine.
Proprietary doesn't factor into it. Maybe a clearer way to put the thing I am positing: the idea behind open source is that it is interesting end user apps that have value and change the world, not the software components from which those apps are built.
Right, it's the application/library distinction again. Developers might care a great deal, even if there's nothing interesting using it yet.
> open source was an explicit recognition that we care about and attach value to the big ideas that change the world, and that by making the building blocks freely available we caused more of those big ideas to come to fruition.
I suppose so, although the 'free' (as in price) component there can be separated out from Open Source. Freeware (software which is made available free of charge but which is not Free Software or Open Source) can also serve as a platform, but in practice often loses out to Free and Open Source alternatives. SkyOS is dead and gone, the Linux kernel continues to conquer the world.
The Open Source position is that Open Source is the most effective way to develop software, and of course it's had tremendous success in 'infrastructure' software (libraries, frameworks, operating systems, programming languages).
(This is quite different from the Free Software position, which holds that non-Free software is a problem in terms of power and control over users, quite aside from the question of how to most effectively develop software.)
We should be careful not to go so far as to say that Open Source is about enabling interesting/profitable non-Open Source programs. Copyleft licences are explicitly hostile to this, but are recognised as Open Source licences.
I would argue that compensating developers for building software is the wrong way to look at it. IBM (and possibly Red Hat?) are mostly consulting companies---the development work they pay for is in support of their consulting.
Red Hat is not a consulting company. According to the Q1 FY2020 financial statements, "Subscription revenue in the quarter was 87% of total revenue." which means consulting is somewhere in that leftover 13% (categorized as "services").
What you perhaps mean, is that the number of kernel developers, gcc developers, glibc developers, (and so on) they have on staff is a benefit in terms of providing good support. In that sense, if a customer has an issue and need support, the "development work" does benefit the ability to provide that service. I wouldn't call that consulting though.
Maybe? Why can't you sell a database, reverse proxies, or key/value stores? What if I want to start a business around a database, reverse proxies, or key/value stores? How does that work with FOSS?
Honest question: isn't this a fundamental contradiction? If you are building a thing that by definition is given freely to anyone who wants to use it, how does compensation for that work become part of the formula? You can't be monetarily compensated for it, because you chose to give it away. There are other forms of compensation but that seems clearly not what we're talking about here. The author goes on to ask how you can build a business around open source? But isn't the answer that you can't? If its really open source then the software itself is not a business.
That, to me, seems consistent with the original idea of open source: that it was the cool things you could build with code, not the code itself, that had value. None of the iconic success stories in tech over the last decade have sold code, have they? They've built things on FOSS code that never existed before, and most of them have contributed a lot of FOSS code back. But they haven't sold databases, reverse proxies, and key/value stores, right? I've paid six-figure annual licenses to Oracle. Is that the world we're trying to preserve here?